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)导出。

典型使用场景

  1. 个人审计 – “我上周和 Claude 做了什么?” → 运行 claude-code-log --from-date "last week" --open-browser
  2. 成本追踪 – 每个会话的 token 使用量有助于估算 Claude Code 的开销。
  3. 共享 – 将会话导出为 HTML 并将链接发送给同事。
  4. LLM 驱动分析 – 生成紧凑的 Markdown 副本(--detail low --format md --compact)并输入到另一个模型中进行模式检测或需求提取。
  5. 版本控制链接 – 可点击的提交哈希可让你从对话直接跳转到相关代码变更。

快速上手

# 无需永久安装的一行命令
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;未做任何额外假设。*

相关

  • 项目
  • 项目
  • 项目
  • 项目
  • 项目