Support transcripts from other coding agents (Codex, Cursor, Gemini CLI, opencode)
还没有人认领这个 Issue。
评估
调研方向
从 src/transcript.rs 开始,阅读现有的 Claude Code 规范化和 discovery 逻辑。在添加 parser、默认 discovery 以及 tests/fixtures/ 下的手写 fixture 之前,选择一个 agent 并检查其会话格式。完成的标准是该 agent 能按顺序生成 ToolCall 和 AssistantText 值,同时现有的下游检查继续正常工作。
由索引模型根据 Issue 内容生成。
描述
backcheck reads Claude Code transcripts today. Nothing about the idea is Claude-specific —
every coding agent writes a session log containing what it said and what it ran, which is all
the analysis needs.
Widening this is the single highest-leverage change to the project: the verification engine,
the runner parsers, and the tamper detection are all agent-agnostic already.
The shape of the work
Only src/transcript.rs is Claude-specific. It normalises a
session file into three things the rest of the code consumes:
ToolCall { seq, name, input, result }— what ran, and what it printedAssistantText { seq, text, is_last }— what the agent said- ordering, so a claim can be compared against evidence that preceded it
Everything downstream (claims, evidence, verify, tamper, report) already works purely
against those types. Adding an agent means writing a parser that produces them, plus discovery
of where that agent stores its sessions.
Agents worth supporting
- OpenAI Codex CLI —
~/.codex/sessions/ - Cursor — agent session storage
- Gemini CLI —
~/.gemini/ - opencode
- Aider —
.aider.chat.history.md(a different shape: prose plus diffs) - GitHub Copilot CLI / coding agent
- Amp, Cline, Roo
Suggested approach
- Introduce a
Sourcetrait (or an enum) withparse(path) -> Transcriptand a
discover()for the agent's default session location. - Move the current Claude Code logic behind it, unchanged.
- Auto-detect by path and file shape, with
--agent <name>to force it. - Add a small fixture per agent under
tests/fixtures/— hand-written, never a real
transcript, since those contain real code and sometimes secrets.
Starting with one agent end-to-end is much more useful than a framework for all of them.
Comment here with which you're taking so two people don't write the same parser.
Worth knowing
Claude Code does not record exit codes, which is why outcomes are recovered from printed
output. If another agent does record them, that is strictly better evidence — the design
should let a source say "I know the exit code" rather than forcing everything through text
parsing.
- 主要语言
- Rust
- 星标
- 1
- 派生
- 2
- PR 合并指标
- 30 天内没有已合并 PR
环境准备
- 没有 Dockerfile 或 Docker Compose 文件
- 有 Pull Request 模板
- 阅读贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
VectorInstitute/backcheck 的其他 Issue
-
accuracy false-negative false-positive help wanted
难度 2/5 1-3 小时 新手友好度 72/100
-
Add support for more test runners and linters可能已有人在做 @OllieinCanada 于 61 天前认领。 未关闭good first issue help wanted runner
难度 2/5 1-3 小时 新手友好度 88/100
-
accuracy enhancement help wanted
难度 5/5 一周以上 新手友好度 32/100
VectorInstitute/backcheck#11 ·
-
enhancement good first issue help wanted
难度 4/5 3-5 天 新手友好度 55/100
VectorInstitute/backcheck#10 ·
-
enhancement good first issue help wanted
难度 3/5 1-2 天 新手友好度 68/100
查看 VectorInstitute/backcheck 的全部 Issue
相似的 Issue
-
bug documentation sev-0
难度 2/5 1-3 小时 新手友好度 72/100
-
bug
难度 2/5 1-3 小时 新手友好度 85/100
dekobon/big-code-analysis#1620 ·
维护者通常 3 天内回复
-
bug
难度 2/5 1-3 小时 新手友好度 65/100
-
bug soroban
难度 2/5 1-3 小时 新手友好度 68/100
utilityjnr1/lumena#358 ·
维护者通常 1 天内回复
-
enhancement
难度 2/5 1-3 小时 新手友好度 75/100
charles-hood/DiagramCraft#63 ·