Dashboard: Transcript viewer using claude-code-query log parsing #353

Open
opened 2026-04-15 08:44:30 +00:00 by mprihoda · 0 comments
mprihoda commented 2026-04-15 08:44:30 +00:00 (Migrated from github.com)

Layer: 3 — Agent Integration
Parent: #343

Problem

There's no way to see what an agent has been doing without attaching to the tmux session. When managing multiple worktrees, you need to quickly review what happened in a session — what the agent did, what tools it used, what decisions it made.

Solution

  1. Parse Claude Code transcripts using the claude-code-query library (ConversationLogReader, ConversationLogIndex)
  2. Render conversation in the dashboard — show user messages, assistant responses, tool usage, thinking blocks
  3. Session list — show available sessions for a worktree, ordered by recency
  4. Auto-refresh — when viewing a live session, stream new entries as they appear
  5. Collapsible tool use blocks — tool calls can be verbose, show them collapsed by default with expand option

Dependencies

  • works.iterative:claude-code-query-core_3 for log parsing types
  • Either claude-code-query-direct or claude-code-query-effectful for reading logs

Key types from claude-code-query

  • ConversationLogIndex.listSessions(projectPath) — discover sessions
  • ConversationLogReader.readAll(path) / .stream(path) — read entries
  • ConversationLogEntry with LogEntryPayload variants (UserLogEntry, AssistantLogEntry, ToolUse, etc.)
  • LogFileMetadata — session ID, last modified, summary, git branch
**Layer:** 3 — Agent Integration **Parent:** #343 ## Problem There's no way to see what an agent has been doing without attaching to the tmux session. When managing multiple worktrees, you need to quickly review what happened in a session — what the agent did, what tools it used, what decisions it made. ## Solution 1. **Parse Claude Code transcripts** using the `claude-code-query` library (`ConversationLogReader`, `ConversationLogIndex`) 2. **Render conversation in the dashboard** — show user messages, assistant responses, tool usage, thinking blocks 3. **Session list** — show available sessions for a worktree, ordered by recency 4. **Auto-refresh** — when viewing a live session, stream new entries as they appear 5. **Collapsible tool use blocks** — tool calls can be verbose, show them collapsed by default with expand option ## Dependencies - `works.iterative:claude-code-query-core_3` for log parsing types - Either `claude-code-query-direct` or `claude-code-query-effectful` for reading logs ## Key types from claude-code-query - `ConversationLogIndex.listSessions(projectPath)` — discover sessions - `ConversationLogReader.readAll(path)` / `.stream(path)` — read entries - `ConversationLogEntry` with `LogEntryPayload` variants (UserLogEntry, AssistantLogEntry, ToolUse, etc.) - `LogFileMetadata` — session ID, last modified, summary, git branch
Sign in to join this conversation.
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
iterative-works/iw-cli#353
No description provided.