# 11 — Open-Source Exporters and Viewers (https://jackin.tailrocks.com/reference/research/session-capture/11-open-source-exporters/)



# 11 — Open-Source Exporters and Viewers [#11--open-source-exporters-and-viewers]

**Research conducted:** 2026-07-03; stars and activity dates from the GitHub API on that date (tier B/C — repos and readmes; none source-audited except where noted). Record schema per the [brief](/reference/research/session-capture/prompt/). Baseline for comparison: SpecStory CLI, 1,268★, Apache-2.0.

Pattern across the whole category: **every serious OSS tool reads the agents' native stores** (vector A in [Déjà Vu](/reference/research/agent-orchestration/conversation-capture/deja-vu/) terms). None wraps a PTY; one (claude-trace) patches fetch to see wire traffic. The market has independently converged on SpecStory's mechanism.

## Multi-agent tools (closest to SpecStory scope) [#multi-agent-tools-closest-to-specstory-scope]

### claude-replay — replay as a portable artifact [#claude-replay--replay-as-a-portable-artifact]

* **What/maker**: session logs → self-contained interactive HTML replays; solo dev es617. MIT, free.
* **Surfaces**: Claude Code, Cursor, Codex, Gemini, OpenCode.
* **Mechanism**: reads native local stores (JSONL incl. tool calls, thinking, timestamps); read-on-demand, no daemon.
* **Output**: one static HTML file per session — step-through player, timeline, tool-call inspection; shareable by copying the file.
* **Maintenance**: 743★, pushed 2026-06-02; Show HN 2026-03-06, 105 points ([HN](https://news.ycombinator.com/item?id=47276604)).
* **Differentiator**: replay-as-artifact vs SpecStory's continuous markdown pipeline.
* **Sources**: [github.com/es617/claude-replay](https://github.com/es617/claude-replay).

### coding\_agent\_session\_search — the retrieval heavyweight [#coding_agent_session_search--the-retrieval-heavyweight]

* **What/maker**: unified Rust TUI/CLI full-text search over local session history "across 11+ providers"; Jeffrey Emanuel (Dicklesworthstone). Free (non-standard license — GitHub reports NOASSERTION).
* **Mechanism**: indexes each agent's native store read-only; no capture step at all.
* **Maintenance**: 938★, pushed 2026-07-03 (same-day activity).
* **Differentiator**: broadest provider coverage in this sweep; solves the retrieval half of SpecStory's proposition without owning capture. SpecStory only reached indexed search in v2.0.0 (2026-06-29).
* **Sources**: [github.com/Dicklesworthstone/coding\_agent\_session\_search](https://github.com/Dicklesworthstone/coding_agent_session_search).

### claude-code-tools / `aichat search` [#claude-code-tools--aichat-search]

* **What/maker**: agent-productivity toolkit whose `aichat search` builds a Rust/Tantivy full-text index over sessions of Claude Code, Codex, "and similar CLI agents"; Prasad Chalasani. MIT.
* **Maintenance**: 1,885★, pushed 2026-06-30.
* **Sources**: [github.com/pchalasani/claude-code-tools](https://github.com/pchalasani/claude-code-tools).

### agentlore — team aggregation (embryonic) [#agentlore--team-aggregation-embryonic]

* **What/maker**: "team visibility layer" aggregating agent logs to a Go server with shareable permalinks; clkao. MIT. 11★, pushed 2026-03-19.
* **Differentiator**: the only OSS attempt at SpecStory-Cloud-style team sharing found; too early to lean on.
* **Sources**: [github.com/clkao/agentlore](https://github.com/clkao/agentlore).

### Long tail (all under 10★, verified alive 2026-07-03) [#long-tail-all-under-10-verified-alive-2026-07-03]

[recall](https://github.com/akhshyganesh/recall) (Apache-2.0, desktop browser), [tessera](https://github.com/effective-momentum/tessera), [agents-session-viewer](https://github.com/catesandrew/agents-session-viewer), [chathistory](https://github.com/fathiyul/chathistory) (HTML/PDF export).

## Claude Code-specific [#claude-code-specific]

| Tool                                                                                           | What                                             | Mechanism                                                                                                                                                             | Output                     | Signals (2026-07-03)                                        |
| ---------------------------------------------------------------------------------------------- | ------------------------------------------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------- | ----------------------------------------------------------- |
| [claude-code-log](https://github.com/daaain/claude-code-log) (daaain)                          | JSONL → HTML/Markdown, project browsing, TUI     | reads `~/.claude/projects/**/*.jsonl`                                                                                                                                 | HTML + MD, local           | 1,126★, pushed 2026-07-02 — the de-facto standard converter |
| [claude-code-transcripts](https://github.com/simonw/claude-code-transcripts) (simonw)          | publish sessions as multi-page HTML              | reads JSONL; `--gist` uploads for a shareable URL; orgs deploy SSO-gated transcript sites ([writeup](https://simonwillison.net/2025/dec/25/claude-code-transcripts/)) | HTML site / gist           | 1,597★, pushed 2026-02-12                                   |
| [claude-code-history-viewer](https://github.com/jhlee0409/claude-code-history-viewer)          | desktop GUI browser + token/usage analysis       | reads `~/.claude`                                                                                                                                                     | desktop app                | 1,747★, pushed 2026-07-01                                   |
| [claude-code-viewer](https://github.com/d-kimuson/claude-code-viewer) (d-kimuson)              | web client: browse past + drive live sessions    | reads JSONL, wraps live runs                                                                                                                                          | local web app              | 1,239★, pushed 2026-05-10                                   |
| [claude-conversation-extractor](https://github.com/ZeroSumQuant/claude-conversation-extractor) | bulk extract + search UI                         | reads JSONL                                                                                                                                                           | MD/text/JSON               | 628★, pushed 2026-01-02                                     |
| [claude-history](https://github.com/raine/claude-history)                                      | Rust fuzzy-search TUI over history               | indexes JSONL incl. tool output                                                                                                                                       | TUI                        | 364★, pushed 2026-06-29                                     |
| [cctrace](https://github.com/jimmc414/cctrace)                                                 | export to Markdown + LLM-ingestible XML          | reads JSONL                                                                                                                                                           | MD/XML                     | 199★, pushed 2026-01-06                                     |
| [claude-trace](https://github.com/badlogic/lemmy/tree/main/apps/claude-trace) (Mario Zechner)  | records **all API traffic** incl. system prompts | fetch-patch wrapper around `claude` (vector D — the only non-file-reader here)                                                                                        | JSONL traffic + HTML views | npm v1.0.9 2026-04-16; low activity                         |
| [cclogviewer](https://github.com/Brads3290/cclogviewer)                                        | JSONL → HTML review UI                           | file read                                                                                                                                                             | HTML                       | 84★, pushed 2025-08-08 — **dormant**                        |
| claude-code-exporter (developerisnow)                                                          | MD export/aggregation + MCP                      | —                                                                                                                                                                     | —                          | npm alive, **GitHub repo deleted** — abandoned              |

Smaller: [claude-notes](https://github.com/vtemian/claude-notes) (76★), [claude-insight](https://github.com/Feloguarin/claude-insight) (75★), [ccrecall](https://github.com/spences10/ccrecall) (transcripts → SQLite, 22★, pushed 2026-07-02), [claude-session-export](https://github.com/robzolkos/claude-session-export), [claude-code-log-analyzer](https://github.com/mrothroc/claude-code-log-analyzer) (21★).

## Cursor-specific [#cursor-specific]

| Tool                                                                           | What                                                                              | Signals                                                                                                                         |
| ------------------------------------------------------------------------------ | --------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------- |
| [cursor-chat-browser](https://github.com/thomas-pedersen/cursor-chat-browser)  | web browser over all Cursor chat/composer history (reads workspace `state.vscdb`) | 515★, pushed 2026-03-16 — best-known                                                                                            |
| [cursor-view](https://github.com/saharmor/cursor-view)                         | local web app: browse/search/export/share all projects (Apache-2.0)               | 127★, pushed 2025-09-12 — slowing                                                                                               |
| [cursor-chat-export](https://github.com/somogyijanos/cursor-chat-export)       | Python CLI → Markdown                                                             | 248★, pushed **2024-08-30** — stale \~2 years, predates Composer storage changes; likely broken on modern Cursor `[UNVERIFIED]` |
| [Cursor-Chat-Exporter](https://github.com/Cranberrycrisp/Cursor-Chat-Exporter) | —                                                                                 | 53★, 2024-12-30 — stale                                                                                                         |

The graveyard rate here is the Cursor-schema-churn story from [01](/reference/research/session-capture/01-specstory-product/) seen from the OSS side: unfunded maintainers stop chasing `state.vscdb` changes.

## Copilot- and Codex-specific [#copilot--and-codex-specific]

* **Copilot cluster** (native export is JSON-only, so small tools fill the gap): [fengzehan's Copilot Chat Exporter](https://marketplace.visualstudio.com/items?itemName=fengzehan.vscode-copilot-exporter) and [Copilot Chat to Markdown](https://marketplace.visualstudio.com/items?itemName=imperium-dev.copilot-chat-to-markdown) (VS Marketplace), [github-copilot-chat-exporter](https://github.com/ZacharyLuz/github-copilot-chat-exporter) (PowerShell, 5★, 2026-04-26), [copilot-chat-export-formatter](https://github.com/Marijn-Bergman/copilot-chat-export-formatter) (dead, 2023). All read `workspaceStorage/**/chatSessions/*.json` or drive the built-in export command.
* **Codex cluster** (no dominant viewer exists): [@nogataka/codex-viewer](https://github.com/nogataka/codex-viewer) (npm v0.0.11, 2026-02-05, 35★), [codex-session-viewer](https://github.com/eric-gitta-moore/codex-session-viewer) (2★), [codex-history-list](https://github.com/shinshin86/codex-history-list) (10★), plus \~5 more ≤2★ repos. All parse `~/.codex/sessions/**/rollout-*.jsonl`. The niche is unconsolidated — nobody owns Codex history tooling.

## Category read-out [#category-read-out]

1. **Mechanism monoculture**: native-store reading won everywhere; wire interception (claude-trace) exists only for depth (system prompts/thinking), and PTY scraping appears nowhere.
2. **Claude Code has a rich, healthy tool belt; every other agent's ecosystem is thin or stale.** Cross-agent tools are new (2026) and retrieval-focused.
3. **Sharing is the unsolved half**: gist upload (simonw) and static HTML files (claude-replay) are the state of the OSS art; only embryonic agentlore attempts team-level aggregation.
4. **Maintenance risk correlates with store stability**: Cursor exporters die fastest; Claude Code JSONL readers live longest — matching Déjà Vu's "pair unstable formats with a vendor-blessed hedge" stance.
