stablyai / stablyai/orca

[Feature]: Conversation outline — a jump-to table of contents for my own prompts in a session

Open
#11,632 0 comments 1 reaction 1 assignee Claimed by @brennanb2025 View on GitHub
Dominant language
TypeScript
Stars
69.7k
Forks
4.5k
Avg merge
16h 8m
Merged PRs (30d)
451

Description

### Problem or use case

In a long agent session there is no way to see the list of prompts I sent, or to jump back to one. Once a session runs for a few hours the transcript is thousands of lines of tool output, and my own messages — the only anchors I actually remember ("the one where I asked about the fetch fallback") — are buried in it.

Today the only options are:

- scroll the transcript / terminal by hand,
- `TerminalSearch` (`src/renderer/src/components/TerminalSearch.tsx`), which needs me to already remember the exact wording, and only searches the scrollback that is still in the buffer,
- the AI Vault session row, which previews only the **last 3 turns** (`sessionDetailConversationTurns(session, 3)` in `src/renderer/src/components/right-sidebar/AiVaultSessionDetails.tsx`) and otherwise sends me to the raw JSONL log.

Orca already ships exactly this affordance for one content type: the markdown editor has a real table of contents panel (`MarkdownTableOfContentsPanel.tsx`, `markdown-table-of-contents.ts`) with collapse-by-level and click-to-jump. A conversation is just as navigable a document, and gets nothing.

### Proposed solution

A conversation outline for the native chat transcript: a togglable panel (same role as the markdown TOC) listing every **user** message in the session, in order, each as a one-line truncated preview + relative timestamp. Clicking an entry scrolls the transcript to that message.

Minimum useful version:

- user turns only — assistant turns and tool runs are the noise this is meant to skip
- built from the transcript the native chat already assembles (`native-chat-incremental-assembler.ts` / `native-chat-message-grouping.ts`), so no new data source
- filter box over the outline entries, so it doubles as "search my own messages"
- reuse the existing TOC panel visual language rather than inventing a second outline style

Nice-to-have, not required for a first cut:

- slash commands / `/compact` boundaries shown as separators, so context resets are visible in the outline
- keyboard shortcuts to jump to previous/next user message
- the same outline in the AI Vault session details for finished sessions, replacing the "latest 3 turns" preview with a full jump list
- terminal-mode sessions (harder: needs xterm markers on prompt submit rather than a structured transcript)

### Alternatives or additional context

- Searched open and closed issues for `table of contents`, `outline`, `session transcript`, `conversation index`, `jump to message`, `prompt history` — the TOC hits (#4819–#4822, #6345) are all the markdown editor, and the transcript hits (#11396, #10326) are AI Vault/chat bugs. No existing request for this.
- Related: #11370 (Agent Session History coverage) is about *which* sessions are listed; this is about navigating *inside* one.
- Prior art: the markdown TOC panel in Orca itself; the ChatGPT/Claude web "jump to message" behavior; editor breadcrumb outlines.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.