claude-code-log
claude-code-log 是一款专为 Claude Code 用户打造的命令行工具,能将原本晦涩难懂的 JSONL 对话记录文件,一键转换为清晰易读的 HTML 网页或 Markdown 文档。它主要解决了开发者难以回顾、检索和分析历史对话的痛点:无论是想复盘昨天的工作内容、统计 Token 消耗成本,还是梳理项目中的工具调用链路,都能通过生成的可视化页面轻松实现。
这款工具特别适合频繁使用 Claude Code 进行辅助编程的开发者、需要审计对话记录的技术团队,以及希望归档研究数据的研究人员。其技术亮点在于不仅支持批量处理整个项目目录并生成带索引的报告,还内置了交互式终端界面(TUI),让用户能在命令行中直接浏览会话摘要。生成的网页报告功能强大,包含按时间排序的交互时间轴、可缩放的消息流、实时消息类型过滤(如只看代码或工具调用)以及详细的 Token 用量统计,甚至能智能匹配异步生成的会话总结。通过 claude-code-log,原本分散的对话数据变成了结构清晰、便于分享和深度分析的知识库。
使用场景
资深后端工程师李明正在复盘一个历时两周的复杂微服务重构项目,他需要向团队汇报期间与 Claude Code 的所有交互细节、代码修改逻辑及 Token 消耗情况。
没有 claude-code-log 时
- 数据难以阅读:原始对话记录散落在多个 JSONL 文件中,包含大量转义字符和机器元数据,直接用文本编辑器打开如同“天书”,无法快速定位关键决策点。
- 检索效率极低:想要查找“上周三关于数据库迁移的讨论”或“某个特定工具的使用记录”,只能手动逐行翻阅或使用复杂的 grep 命令,耗时且容易遗漏。
- 成本与进度不透明:无法直观看到每次会话的 Token 消耗总量,也难以生成清晰的时间线来展示项目开发的完整脉络,导致复盘会议缺乏数据支撑。
- 协作分享困难:若想将某段精彩的调试过程分享给未参与项目的同事,只能复制粘贴零散的代码片段,丢失了上下文语境和思维链条。
使用 claude-code-log 后
- 可视化日志呈现:运行一条命令即可将整个
~/.claude/projects/目录转换为带有语法高亮的 HTML 页面,用户提示词、AI 回复及工具调用过程清晰分层,阅读体验如同浏览技术博客。 - 智能筛选与导航:利用内置的 JavaScript 过滤器,李明瞬间筛选出“昨天”的所有“工具使用”记录,并通过交互式时间轴直接跳转到关键节点,检索从小时级缩短至秒级。
- 量化分析一目了然:生成的报告自动统计了每个会话的 Token 用量和项目总成本,同时按时间顺序排列的消息流完美还原了重构项目的演进路线,让汇报数据详实可信。
- 一键共享成果:李明直接将生成的单个 HTML 文件发送给团队成员,对方无需安装任何环境即可在浏览器中完整复现当时的调试思路与解决方案。
claude-code-log 将晦涩的机器日志转化为可读、可查、可分享的可视化知识资产,极大提升了开发者对 AI 协作过程的掌控力与复盘效率。
运行环境要求
- Linux
- macOS
- Windows
不需要 GPU
未说明(处理大型文件时建议充足内存,示例提及生成文件可达 100MB)

快速开始
Claude 代码日志
一个 Python 命令行工具,可将 Claude 代码转录 JSONL 文件转换为可读的 HTML 和 Markdown 格式。
浏览器日志演示:
TUI 演示:
项目概述
📋 查看变更日志 - 了解每次发布的新内容
该工具会生成简洁、极简风格的 HTML 页面,按时间顺序展示用户提示和助手回复。它旨在创建可读性高的 Claude 代码交互日志,支持处理单个文件以及整个项目目录结构。
📄 查看 HTML 示例输出 - 下载由本项目开发过程中生成的真实示例(文件较大,约 100 MB)
快速入门
TL;DR:运行以下命令,即可浏览从您的整个 Claude 代码存档中生成的页面:
uvx claude-code-log@latest --open-browser
主要特性
- 交互式 TUI(终端用户界面):实时导航、摘要及快速导出 HTML 和恢复会话等功能,方便浏览和管理 Claude 代码会话
- 项目目录结构处理:可处理整个
~/.claude/projects/目录,并生成关联的索引页 - 单个会话文件:为每个会话生成独立的 HTML 文件,并提供导航链接
- 单个文件或目录处理:可转换单个 JSONL 文件或指定目录
- 会话导航:交互式目录,包含会话摘要和快速跳转功能
- Token 使用跟踪:显示单条消息及会话总 token 消耗量
- 运行时消息过滤:基于 JavaScript 的过滤功能,可显示或隐藏不同类型的消息(用户、助手、系统、工具使用等)
- 按时间顺序排列:所有会话中的消息均按时间戳排序
- 交互式时间轴:根据消息时间生成可缩放的交互式时间轴,便于直观地浏览对话
- 跨会话摘要匹配:正确将异步生成的摘要与其原始会话关联
- 日期范围过滤:可通过自然语言(如“今天”、“昨天”、“上周”)按日期范围筛选消息
- 丰富消息类型:支持用户/助手消息、工具使用/结果、思考内容、图片等多种消息类型
- 系统命令可见性:以可展开详情的形式显示系统命令(如
init),并进行结构化解析 - Markdown 渲染:服务端使用 mistune 进行 Markdown 渲染,并支持语法高亮
- 浮动导航:始终可用的返回顶部按钮和过滤控件
- CLI 界面:基于 Click 的简单命令行工具
解决了哪些问题?
该工具可以帮助您回答以下问题:
- “如何回顾我所有的 Claude 代码对话?”
- “我昨天/上周与 Claude 一起做了什么?”
- “我的 Claude 代码会话花费了多少?”
- “如何搜索我的整个 Claude 代码历史记录?”
- “Claude 在这个项目中使用了哪些工具?”
- “如何与他人分享我的 Claude 代码对话?”
- “我的项目开发时间线是怎样的?”
- “如何分析我的 Claude 代码使用模式?”
使用方法
交互式 TUI(终端用户界面)
TUI 提供了一个交互式界面,用于浏览和管理 Claude 代码会话,具备实时导航、会话摘要和快速操作功能。
# 启动所有项目的 TUI(默认行为)
claude-code-log --tui
# 启动特定项目目录的 TUI
claude-code-log /path/to/project --tui
# 启动特定 Claude 项目的 TUI
claude-code-log my-project --tui # 自动转换为 ~/.claude/projects/-path-to-my-project
TUI 功能:
- 会话列表:交互式表格,显示会话 ID、摘要、时间戳、消息数量和 token 使用情况
- 智能摘要:优先显示 Claude 生成的摘要,而非第一条用户消息,以便更好地识别会话
- 工作目录匹配:自动查找并打开与当前工作目录匹配的项目
- 快速操作:
h:在浏览器中生成并打开会话 HTMLm:在浏览器中生成并打开会话 Markdownv:在嵌入式查看器中查看会话 Markdown(含目录)c:使用claude -r <sessionId>在 Claude 代码中恢复会话r:从文件中重新加载会话数据p:切换到项目选择视图H/M/V:强制重新生成 HTML/Markdown(开发用隐藏快捷键)
- 项目统计信息:实时显示总会话数、消息数、token 数量以及日期范围
- 缓存集成:利用现有缓存系统实现快速加载,并自动验证缓存有效性
- 键盘导航:使用方向键导航,按 Enter 键展开行详情,按
q键退出 - 行展开:按下 Enter 键可展开选中行,显示完整摘要、第一条用户消息、工作目录以及详细的 token 使用情况
默认行为(处理所有项目)
# 处理 ~/.claude/projects/ 中的所有项目(默认行为)
claude-code-log
# 显式处理所有项目
claude-code-log --all-projects
# 处理所有项目并在浏览器中打开
claude-code-log --open-browser
# 按日期范围处理所有项目
claude-code-log --from-date "yesterday" --to-date "today"
claude-code-log --from-date "last week"
# 跳过单个会话文件(仅创建合并转录)
claude-code-log --no-individual-sessions
这将生成:
~/.claude/projects/index.html- 包含项目卡片和统计信息的顶级索引页~/.claude/projects/project-name/combined_transcripts.html- 各个项目的单独页面(这些页面可能达到数 MB)~/.claude/projects/project-name/session-{session-id}.html- 单个会话页面~/.claude/projects/project-name/session-{session-id}.md- Markdown 版本(通过 TUI 按需生成)
单个文件或目录处理
# 单个文件
claude-code-log transcript.jsonl
# 特定目录
claude-code-log /path/to/transcript/directory
# 自定义输出位置
claude-code-log /path/to/directory -o combined_transcripts.html
# 转换后在浏览器中打开
claude-code-log /path/to/directory --open-browser
# 按日期范围过滤(支持自然语言)
claude-code-log /path/to/directory --from-date "yesterday" --to-date "today"
claude-code-log /path/to/directory --from-date "3 days ago" --to-date "yesterday"
项目层级输出
在处理所有项目时,该工具会生成:
~/.claude/projects/
├── index.html # 主索引页,包含项目卡片
├── project1/
│ ├── combined_transcripts.html # 合并后的项目页面
│ ├── session-{session-id}.html # 单个会话页面
│ ├── session-{session-id}.md # Markdown 格式版本(可通过 TUI 按需生成)
│ └── session-{session-id2}.html # 更多会话页面...
├── project2/
│ ├── combined_transcripts.html
│ └── session-{session-id}.html
└── ...
索引页功能
- 项目卡片:每个项目以可点击卡片形式展示,并附带统计信息。
- 会话导航:可展开的会话列表,包含摘要和快速访问单个会话文件的链接。
- 汇总统计:总项目数、转录文件数以及消息数量,并显示 token 使用情况。
- 近期活动:按最后修改日期排序的项目列表。
- 快速导航:一键访问合并后的转录或单个会话。
- 清晰 URL:将目录名转换为易读的项目名称。
支持的消息类型
- 用户消息:常规用户输入和提示。
- 助手消息:Claude 的回复,并显示 token 使用情况。
- 总结消息:会话总结,支持跨会话匹配。
- 系统命令:如
init等命令,以可展开详情的形式呈现,并进行结构化解析。 - 工具使用:工具调用记录,附带可折叠详情及特殊的 TodoWrite 渲染。
- 工具结果:工具执行结果,包含错误处理。
- 思考内容:Claude 的内部推理过程。
- 图片:粘贴的图片和截图。
HTML 输出特性
- 响应式设计:适用于桌面端和移动端。
- 运行时消息过滤:通过 JavaScript 控制显示/隐藏不同类型的消息,并实时更新计数。
- 会话导航:交互式目录,包含会话摘要和时间戳范围。
- Token 使用显示:跟踪单条消息及会话级别的 token 消耗。
- 语法高亮:代码块经过正确格式化,并支持 Markdown 渲染。
- Markdown 支持:服务器端渲染,使用 mistune 库,支持:
- 标题、列表、强调、删除线。
- 代码块和内联代码。
- 链接、图片和表格。
- GitHub Flavored Markdown 特性。
- 可折叠内容:工具使用、系统命令及长内容以可展开部分呈现。
- 悬浮控件:始终可见的筛选按钮、详情切换按钮以及返回顶部导航。
- 跨会话功能:总结内容可在异步会话之间正确匹配。
Markdown 输出特性
Markdown 导出提供了一种轻量级、便携的 HTML 替代方案:
- GitHub-Flavored Markdown:兼容 GitHub、GitLab 等 Markdown 渲染器。
- 层次化结构:会话按标题组织,并附带可折叠详情。
- 消息摘要:章节标题包含消息预览,便于快速导航。
- 代码保留:通过 fenced code blocks 提供语法高亮提示。
- 嵌入式查看器:TUI 内置 Markdown 查看器,带有目录。
- 图片支持:可配置图片处理方式(占位符、内嵌 base64 或引用文件)。
安装
使用 pip 安装:
pip install claude-code-log
或直接使用 uvx 运行(无需单独安装步骤):
uvx claude-code-log@latest
或从源码安装:
git clone https://github.com/daaain/claude-code-log.git
cd claude-code-log
uv sync
uv run claude-code-log
贡献
请参阅 CONTRIBUTING.md,了解开发环境搭建、测试及架构文档。
待办事项
- 添加教程叠加层。
- 如果存在,集成
claude-trace请求日志。 - 将图片转换为 WebP 格式,因为截图通常是巨大的 PNG 文件——这可能需要频繁重复操作(因此也需要缓存机制),并且依赖复杂的编译库(除非有高效的纯 Python 图像处理库?或者 WASM?)。
- 为内置工具添加特殊格式:Glob、Grep、LS、MultiEdit、NotebookRead、NotebookEdit、WebFetch、TodoRead、WebSearch。
- 添加类似每日摘要的
ccusage功能,或许还可以基于 Claude 生成的会话摘要,提供一些文本总结? - 从 @claude Github Actions 导入日志。
- 从 @claude Github Actions 流式获取日志,参考 octotail。
- 将 CLI 封装为 Github Action,在 Cladue Github Action 执行后运行,并处理其 输出。
- 将过滤后的用户消息输入到无头 Claude CLI 中,以提炼会话中的用户意图。
- 在 Python(CLI)端也进行消息类型过滤,而不仅仅是 UI 层面。
- 添加极简主题,并实现浅色与深色模式;在炫酷主题中添加渐变背景动画。
- 是否需要对钩子进行特殊处理?
- 实现并行处理,目前仅使用一个 CPU 核心,速度较慢。
- 合并 Git 工作树目录。
版本历史
1.1.12026/03/111.1.02026/03/061.0.02026/01/220.9.02025/12/080.8.02025/11/080.7.02025/10/220.6.02025/10/220.5.12025/10/040.5.02025/09/030.4.42025/07/300.4.32025/07/200.4.22025/07/180.4.12025/07/180.4.02025/07/18常见问题
相似工具推荐
everything-claude-code
everything-claude-code 是一套专为 AI 编程助手(如 Claude Code、Codex、Cursor 等)打造的高性能优化系统。它不仅仅是一组配置文件,而是一个经过长期实战打磨的完整框架,旨在解决 AI 代理在实际开发中面临的效率低下、记忆丢失、安全隐患及缺乏持续学习能力等核心痛点。 通过引入技能模块化、直觉增强、记忆持久化机制以及内置的安全扫描功能,everything-claude-code 能显著提升 AI 在复杂任务中的表现,帮助开发者构建更稳定、更智能的生产级 AI 代理。其独特的“研究优先”开发理念和针对 Token 消耗的优化策略,使得模型响应更快、成本更低,同时有效防御潜在的攻击向量。 这套工具特别适合软件开发者、AI 研究人员以及希望深度定制 AI 工作流的技术团队使用。无论您是在构建大型代码库,还是需要 AI 协助进行安全审计与自动化测试,everything-claude-code 都能提供强大的底层支持。作为一个曾荣获 Anthropic 黑客大奖的开源项目,它融合了多语言支持与丰富的实战钩子(hooks),让 AI 真正成长为懂上
NextChat
NextChat 是一款轻量且极速的 AI 助手,旨在为用户提供流畅、跨平台的大模型交互体验。它完美解决了用户在多设备间切换时难以保持对话连续性,以及面对众多 AI 模型不知如何统一管理的痛点。无论是日常办公、学习辅助还是创意激发,NextChat 都能让用户随时随地通过网页、iOS、Android、Windows、MacOS 或 Linux 端无缝接入智能服务。 这款工具非常适合普通用户、学生、职场人士以及需要私有化部署的企业团队使用。对于开发者而言,它也提供了便捷的自托管方案,支持一键部署到 Vercel 或 Zeabur 等平台。 NextChat 的核心亮点在于其广泛的模型兼容性,原生支持 Claude、DeepSeek、GPT-4 及 Gemini Pro 等主流大模型,让用户在一个界面即可自由切换不同 AI 能力。此外,它还率先支持 MCP(Model Context Protocol)协议,增强了上下文处理能力。针对企业用户,NextChat 提供专业版解决方案,具备品牌定制、细粒度权限控制、内部知识库整合及安全审计等功能,满足公司对数据隐私和个性化管理的高标准要求。
ML-For-Beginners
ML-For-Beginners 是由微软推出的一套系统化机器学习入门课程,旨在帮助零基础用户轻松掌握经典机器学习知识。这套课程将学习路径规划为 12 周,包含 26 节精炼课程和 52 道配套测验,内容涵盖从基础概念到实际应用的完整流程,有效解决了初学者面对庞大知识体系时无从下手、缺乏结构化指导的痛点。 无论是希望转型的开发者、需要补充算法背景的研究人员,还是对人工智能充满好奇的普通爱好者,都能从中受益。课程不仅提供了清晰的理论讲解,还强调动手实践,让用户在循序渐进中建立扎实的技能基础。其独特的亮点在于强大的多语言支持,通过自动化机制提供了包括简体中文在内的 50 多种语言版本,极大地降低了全球不同背景用户的学习门槛。此外,项目采用开源协作模式,社区活跃且内容持续更新,确保学习者能获取前沿且准确的技术资讯。如果你正寻找一条清晰、友好且专业的机器学习入门之路,ML-For-Beginners 将是理想的起点。
ragflow
RAGFlow 是一款领先的开源检索增强生成(RAG)引擎,旨在为大语言模型构建更精准、可靠的上下文层。它巧妙地将前沿的 RAG 技术与智能体(Agent)能力相结合,不仅支持从各类文档中高效提取知识,还能让模型基于这些知识进行逻辑推理和任务执行。 在大模型应用中,幻觉问题和知识滞后是常见痛点。RAGFlow 通过深度解析复杂文档结构(如表格、图表及混合排版),显著提升了信息检索的准确度,从而有效减少模型“胡编乱造”的现象,确保回答既有据可依又具备时效性。其内置的智能体机制更进一步,使系统不仅能回答问题,还能自主规划步骤解决复杂问题。 这款工具特别适合开发者、企业技术团队以及 AI 研究人员使用。无论是希望快速搭建私有知识库问答系统,还是致力于探索大模型在垂直领域落地的创新者,都能从中受益。RAGFlow 提供了可视化的工作流编排界面和灵活的 API 接口,既降低了非算法背景用户的上手门槛,也满足了专业开发者对系统深度定制的需求。作为基于 Apache 2.0 协议开源的项目,它正成为连接通用大模型与行业专有知识之间的重要桥梁。
PaddleOCR
PaddleOCR 是一款基于百度飞桨框架开发的高性能开源光学字符识别工具包。它的核心能力是将图片、PDF 等文档中的文字提取出来,转换成计算机可读取的结构化数据,让机器真正“看懂”图文内容。 面对海量纸质或电子文档,PaddleOCR 解决了人工录入效率低、数字化成本高的问题。尤其在人工智能领域,它扮演着连接图像与大型语言模型(LLM)的桥梁角色,能将视觉信息直接转化为文本输入,助力智能问答、文档分析等应用场景落地。 PaddleOCR 适合开发者、算法研究人员以及有文档自动化需求的普通用户。其技术优势十分明显:不仅支持全球 100 多种语言的识别,还能在 Windows、Linux、macOS 等多个系统上运行,并灵活适配 CPU、GPU、NPU 等各类硬件。作为一个轻量级且社区活跃的开源项目,PaddleOCR 既能满足快速集成的需求,也能支撑前沿的视觉语言研究,是处理文字识别任务的理想选择。
OpenHands
OpenHands 是一个专注于 AI 驱动开发的开源平台,旨在让智能体(Agent)像人类开发者一样理解、编写和调试代码。它解决了传统编程中重复性劳动多、环境配置复杂以及人机协作效率低等痛点,通过自动化流程显著提升开发速度。 无论是希望提升编码效率的软件工程师、探索智能体技术的研究人员,还是需要快速原型验证的技术团队,都能从中受益。OpenHands 提供了灵活多样的使用方式:既可以通过命令行(CLI)或本地图形界面在个人电脑上轻松上手,体验类似 Devin 的流畅交互;也能利用其强大的 Python SDK 自定义智能体逻辑,甚至在云端大规模部署上千个智能体并行工作。 其核心技术亮点在于模块化的软件智能体 SDK,这不仅构成了平台的引擎,还支持高度可组合的开发模式。此外,OpenHands 在 SWE-bench 基准测试中取得了 77.6% 的优异成绩,证明了其解决真实世界软件工程问题的能力。平台还具备完善的企业级功能,支持与 Slack、Jira 等工具集成,并提供细粒度的权限管理,适合从个人开发者到大型企业的各类用户场景。