用途:把 Claude Code 和 Codex CLI 的会话 JSONL 文件转换成可读的 Markdown 转录文本,便于回顾、归档或检索历史对话。
主要能力:支持提取单个会话或整个目录;可选包含工具调用与结果(--include-tools)、Claude 的思考块(--include-thinking);可只输出简要摘要(--summary);可跳过空会话或仅预热会话(--skip-empty,配合 --min-messages N,默认 2);可输出到文件(-o output.md)。Codex 侧另有脚本,支持从会话文件或 ~/.codex/history.jsonl 历史文件提取(--history)。
使用方式:Claude Code 单会话示例:uv run ~/.claude/skills/extract-transcripts/extract_transcript.py <session.jsonl>;目录批量:uv run ~/.claude/skills/extract-transcripts/extract_transcript.py <directory> --all。Codex 示例:uv run ~/.claude/skills/extract-transcripts/extract_codex_transcript.py <session.jsonl>。会话文件位置:Claude Code 为 ~/.claude/projects/<project-path>/<session-id>.jsonl;Codex CLI 为 ~/.codex/sessions/<session_id>/rollout.jsonl,历史为 ~/.codex/history.jsonl。
索引与搜索:transcript_index.py 基于 DuckDB,支持增量索引(index)、全量重建(index --full)、限制文件数(index --limit 10)、列出最近会话(recent,可加 --limit、--project、--since 7d)、跨会话搜索(search "error handling",可加 --cwd)以及查看某会话(show <file_path>,可加 --summary)。数据库位于 ~/.claude/transcript-index/sessions.duckdb。
输出格式:Markdown,含会话元数据(日期、时长、模型、工作目录、git 分支),用户消息以 ## User 开头,助手回复以 ## Assistant 开头,工具调用置于代码块,思考内容置于引用块,Codex 会话附工具使用摘要。
限制:依赖 uv,依赖通过内联脚本元数据自动安装;资料未提供其他平台支持、收费或性能信息。