首页
/ claude-code-log 项目亮点解析

claude-code-log 项目亮点解析

2025-06-29 17:44:47作者:贡沫苏Truman

1. 项目的基础介绍

claude-code-log 是一个开源的 Python 命令行工具,它能够将 Claude Code 转录的 JSONL 文件转换成可读的 HTML 格式。这个工具能够生成简洁、直观的 HTML 页面,按时间顺序展示用户提示和助手的响应,旨在创建一个易读的 Claude Code 交互日志,支持处理单个文件和整个项目层次结构。

2. 项目代码目录及介绍

项目的主要目录结构如下:

  • claude_code_log/parser.py:从 JSONL 文件中提取和解析数据。
  • claude_code_log/renderer.py:生成 HTML 和模板渲染。
  • claude_code_log/converter.py:转换过程的高级别协调。
  • claude_code_log/cli.py:命令行界面和项目发现。
  • claude_code_log/models.py:用于转录数据结构的 Pydantic 模型。
  • claude_code_log/templates/:Jinja2 HTML 模板。
  • transcript.html:主要转录查看器模板。
  • index.html:项目目录索引模板。
  • pyproject.toml:项目配置和依赖。

3. 项目亮点功能拆解

  • 项目层次处理:能够处理整个 ~/.claude/projects/ 目录,生成带有项目卡片和统计信息的索引页面。
  • 单个会话文件:为每个会话生成单独的 HTML 文件,并提供导航链接。
  • 会话导航:提供交互式目录,显示会话摘要和快速导航。
  • 令牌使用跟踪:显示每条消息和会话总体的令牌消耗。
  • 运行时消息过滤:通过 JavaScript 实现的消息类型显示/隐藏过滤。
  • 按时间顺序排列:所有消息按时间戳排序,跨会话排列。
  • 跨会话摘要匹配:正确匹配异步生成的摘要到其原始会话。

4. 项目主要技术亮点拆解

  • 命令行接口:使用 Click 库实现简洁的命令行工具。
  • 数据建模:利用 Pydantic 提供健壮的数据建模和验证。
  • 自然语言日期解析:使用 dateparser 库支持自然语言日期范围过滤。
  • Markdown 渲染:通过 mistune 库实现快速的 Markdown 渲染。
  • 代码质量保证:集成 ruff 和 pyright 工具进行代码格式化、修复、类型检查和测试。

5. 与同类项目对比的亮点

claude-code-log 与同类项目相比,具有以下亮点:

  • 简洁直观的界面:生成的 HTML 页面设计简洁,易于阅读。
  • 高度可定制的过滤功能:提供强大的消息过滤功能,方便用户查看所需信息。
  • 全面的交互式文档:包含详细的测试基础设施和视觉文档,有助于理解和贡献项目。
  • 依赖性最小化:采用标准库和最小的外部依赖,确保了可移植性。
登录后查看全文
热门项目推荐