anomalyco / anomalyco/opencode

[FEATURE]: Add server-side transcript search to the V2 message API

Open
#45,801 0 comments 2 reactions 1 assignee View on GitHub

@kitlangton is already working on this.

Since Aug 28, 2026.

Dominant language
TypeScript
Stars
209k
Forks
27.5k
PR merge metrics
PR metrics pending

Description

Feature hasn't been suggested before
  • I searched open and closed issues. Existing requests cover TUI/Desktop search UI or cross-session discovery, but not a public V2 transcript-search contract for bounded clients.
Describe the enhancement you want to request

The V2 message-list operation (v2.message.list) accepts only sessionID, limit, order, and cursor. The search parameter on v2.session.list filters session titles, not message content.

Clients that keep only a bounded transcript window must therefore traverse every message page to find text outside the resident window. CodeNomad currently keeps 200 messages resident and performs this exhaustive traversal for full-session search. Search cost grows with the complete transcript, and a result cannot identify a directly navigable target or prove that all searched pages belong to one transcript revision.

Please add server-side text search scoped to one session. A minimal contract should:

  • search the complete projected user and assistant text for that session;
  • paginate matches;
  • return the matching messageID, partID when applicable, and a compact excerpt;
  • return a target that can be opened without walking every preceding message cursor;
  • identify the transcript revision used for the results.

A case-insensitive literal search is sufficient initially. Fuzzy or semantic search and a new indexing subsystem are not required.

This is an API request rather than another UI request. Existing related UI issues include #4714, #19143, #38973, and #41354. The navigation target should compose with #44660, and result consistency should compose with #43766.

Acceptance criteria
  • A client can search the full projected transcript without downloading every message page.
  • Results are paginated in a documented stable order while the transcript revision is unchanged.
  • Each result identifies the exact message/part and includes an excerpt.
  • A client can navigate directly to the matching transcript area.
  • Results expose the revision needed to detect compaction, revert, append, or content-update races.
  • Existing session-title search and message cursor pagination remain backward compatible.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.