daaain/claude-code-log
A Python CLI tool that converts Claude Code transcript JSONL files into readable HTML / Markdown format.
Claude Code Log – 是什么
一个小型 Python 命令行工具,读取 Claude Code(Anthropic 的 IDE 助手)生成的 JSONL 转录文件,并将其转换为干净、可浏览的 HTML 或 Markdown 日志。
为何存在
Claude Code 将每个提示、响应、工具调用和系统命令都以逐行 JSON 记录的形式存储。这些原始文件对人类来说难以阅读或共享。Claude Code Log 自动完成转换,添加导航、token 使用统计、日期范围过滤和终端 UI,使你能够:
- 查看单个会话或整个
~/.claude/projects/层次结构。 - 导出紧凑的 Markdown 副本,可输入到任何 LLM 中进行分析。
- 可视化对话时间线,过滤消息类型,并查看各部分消耗的 token 数量。
核心功能(如 README 所述)
| 功能 | 作用 |
|---|---|
| 交互式 TUI | 终端 UI,用于浏览会话、生成 HTML/MD、恢复会话和快速统计。 |
| 项目级处理 | 扫描 ~/.claude/projects/,创建顶层索引页,为每个项目生成卡片和项目级合并转录。 |
| 单文件/目录模式 | 转换单个 transcript.jsonl 或任意目录中的文件。 |
| HTML 导出 | 极简、响应式页面,支持语法高亮代码、运行时 JavaScript 过滤器、token 计数器和浮动的返回顶部按钮。 |
| Markdown 导出 | GitHub 风格 Markdown;--compact 合并连续的同类型部分,--detail 控制详细程度。 |
| token 使用追踪 | 显示每条消息和每个会话的 token 数量。 |
| 日期范围过滤 | 支持自然语言日期("yesterday"、"last week" 等)以限制输出。 |
| Git SHA 链接 | 检测类似 SHA 的字符串并转换为可点击链接,指向 GitHub/GitLab/Bitbucket 或自定义 URL 模板。 |
| 丰富消息支持 | 支持用户、助手、系统、工具使用/结果、思考和图像消息。 |
| 跨会话摘要匹配 | 即使摘要异步到达,也能将 Claude 生成的摘要与原始会话对齐。 |
| 提供者钩子(实验性) | 通过 --provider 直接从 Antigravity CLI(agy)和 Codex CLI(codex)导出。 |
典型使用场景
- 个人审计 – “我上周和 Claude 做了什么?” → 运行
claude-code-log --from-date "last week" --open-browser。 - 成本追踪 – 每个会话的 token 使用量有助于估算 Claude Code 的开销。
- 共享 – 将会话导出为 HTML 并将链接发送给同事。
- LLM 驱动分析 – 生成紧凑的 Markdown 副本(
--detail low --format md --compact)并输入到另一个模型中进行模式检测或需求提取。 - 版本控制链接 – 可点击的提交哈希可让你从对话直接跳转到相关代码变更。
快速上手
# 无需永久安装的一行命令
uvx claude-code-log@latest --open-browser
# 或通过 pip 安装
pip install claude-code-log
# 基本命令
claude-code-log # 处理所有 ~/.claude/projects/ 并打开 index.html
claude-code-log my-project --tui # 为单个项目启动终端 UI
claude-code-log transcript.jsonl -o session.md --detail low --format md --compact
可扩展性与社区
- 项目附带 CONTRIBUTING.md,包含测试和架构说明。
- 社区扩展包括
archive-session技能/命令,可封装 CLI 用于聊天中使用。 - TODO 列表中提到了 UI 教程、并行处理、Git 工作树合并和 GitHub Action 包装器。
- 上述所有信息均直接来自仓库的 README;未做任何额外假设。*
相关
- 项目
- 项目
- 项目
- 项目
- 项目