claude-trace:记录你与 Claude Code 的所有交互 更新记录2026-06-10 v3.0.4 发布增加新的命令opencode-trace支持 Anthropic 与 OpenAI 格式使用方式与claude-trace基本一致具体说明参看 https://github.com/hanqunfeng/claude-trace/claude-trace v2.0.4English | 简体中文记录你与 Claude Code 的所有交互。以直观的 Web 界面查看 Claude 隐藏的内容系统提示词、工具输出和原始 API 数据。mariozechner/claude-trace 的分支版本完整支持 Claude Code V2通过反向代理支持原生二进制。Claude Code V2 支持Claude Code V2 以原生二进制形式分发macOS 为 Mach-OLinux 为 ELFWindows 为 PE不再是 Node.js 脚本。原有的拦截方式node --require interceptor claude已无法使用。本分支会自动检测二进制类型并选择对应的拦截策略Claude Code 版本二进制类型拦截模式V1.xNode.js 脚本通过--require注入interceptor-loader.jsV2原生二进制本地反向代理重定向ANTHROPIC_BASE_URL针对原生二进制claude-trace 会在127.0.0.1启动本地 HTTP 反向代理通过ANTHROPIC_BASE_URL将 Claude Code 指向该代理将流量转发到真实 API读取~/.claude/settings.json或ANTHROPIC_BASE_URL环境变量实时将请求/响应对写入.claude-trace/若~/.claude/settings.json中已设置ANTHROPIC_BASE_URL会使用临时配置目录不会修改原始 settings 文件。第三方模型CC-Switch 与自定义端点claude-trace 不仅支持官方 Anthropic API也支持第三方模型提供商。任何通过自定义ANTHROPIC_BASE_URL路由 Claude Code 的方案均可使用——包括 CC-Switch、LiteLLM、企业网关和自托管代理。工作原理CC-Switch 等工具通过向~/.claude/settings.json写入ANTHROPIC_BASE_URL及 API Key来配置 Claude Code。运行claude-trace时反向代理会读取~/.claude/settings.json或ANTHROPIC_BASE_URL环境变量中的上游地址启动127.0.0.1上的本地日志代理重定向Claude Code 到本地代理使用临时配置不修改原始settings.json转发已记录的流量到真实上游CC-Switch 本地代理、DeepSeek、OpenRouter、LiteLLM 等Claude Code → claude-trace 代理记录日志 → CC-Switch / 自定义端点 → 模型提供商启动时会显示解析出的上游地址例如Upstream API: http://127.0.0.1:15721 Reverse proxy started at http://127.0.0.1:xxxxx示例CC-Switch安装并配置 CC-Switch选择你偏好的提供商DeepSeek、OpenRouter、本地代理等在 CC-Switch 中切换提供商——配置会写入~/.claude/settings.json照常运行 claude-traceclaude-traceclaude-trace 会自动识别 CC-Switch 端点无需额外参数。~/.claude/settings.json示例由 CC-Switch 管理{env:{ANTHROPIC_BASE_URL:http://127.0.0.1:15721,ANTHROPIC_API_KEY:sk-...}}其他自定义端点也可手动设置上游# 通过环境变量exportANTHROPIC_BASE_URLhttps://your-gateway.example.comclaude-trace# 或直接编辑 ~/.claude/settings.json注意事项上游需支持Anthropic Messages API/v1/messages或使用 CC-Switch、LiteLLM 等能转换为该格式的网关API Key 及 settings 中的其他env项会保留——仅在本地将ANTHROPIC_BASE_URL覆盖为日志代理地址若网关使用非标准路径可用--include-all-requests捕获更多请求HTML 日志会显示实际上游 URL 和每次请求的模型名便于确认会话使用的提供商安装从 npm 安装npminstall-ghanqunfeng/claude-trace从源码安装gitclone https://github.com/hanqunfeng/claude-trace.gitcdclaude-tracenpmrun setup# 安装根目录 frontend 依赖npmrun buildnpmlink# 可选全局可用 claude-trace 命令使用# 启动 Claude Code 并记录日志自动识别 V1 JS / V2 原生二进制claude-trace# 记录所有 API 请求代理模式默认只记录 /v1/messagesclaude-trace --include-all-requests# 记录敏感 header 且不脱敏请谨慎使用claude-trace --include-sensitive-headers# 向 Claude 传递参数claude-trace --run-with chat--modelsonnet-3.5# 指定 Claude 二进制路径claude-trace --claude-path /usr/local/Caskroom/claude-code/2.1.153/claude# 查看帮助claude-trace--help# 提取 OAuth tokenclaude-trace --extract-token# 从已有 .jsonl 生成 HTML 报告claude-trace --generate-html logs.jsonl report.html# 生成 HTML 并包含所有请求claude-trace --generate-html logs.jsonl --include-all-requests# 生成会话摘要与可搜索索引claude-trace--index日志保存在当前目录的.claude-trace/log-YYYY-MM-DD-HH-MM-SS.{jsonl,json,html}。HTML 文件自包含可在任意浏览器中打开无需服务器。CLI 选项参数说明--include-all-requests记录所有 API 流量不仅限于/v1/messages--include-sensitive-headers记录 auth token、cookie 等不做脱敏--log NAME自定义日志文件名不含扩展名--claude-path PATHClaude 二进制路径省略则自动检测--no-open生成 HTML 后不自动打开浏览器--run-with ARGS...将后续参数传给 Claude--extract-token提取 OAuth token 后退出--generate-html FILE [OUT]从 JSONL 生成 HTML 报告--index生成会话摘要与索引请求过滤代理模式Claude Code V2默认记录/v1/messages请求--include-all-requests记录所有经代理的 API 流量拦截模式Claude Code V1Node.js默认记录上下文中消息数大于 2 的/v1/messages请求--include-all-requests记录所有api.anthropic.com请求会话索引为编码会话生成 AI 摘要claude-trace--index功能说明扫描.claude-trace/下所有.jsonl日志过滤有意义的会话消息数 2、未压缩调用 Claude CLI 为每个会话生成标题和摘要创建summary-YYYY-MM-DD-HH-MM-SS.json元数据文件生成按时间排序的index.html主索引链接到各会话的 HTML 文件注意索引会调用 Claude API产生额外 token 消耗。你将看到的内容系统提示词— Claude 收到的隐藏指令工具定义— 可用工具的描述与参数工具输出— 文件读取、搜索、API 调用的原始数据思考块— Claude 内部推理过程Token 用量— 含缓存命中的详细统计原始 JSONL 日志— 完整请求/响应对便于分析交互式 HTML 查看器— 按模型筛选浏览会话调试视图— 原始 HTTP 流量JSON 调试视图会话索引— AI 生成的摘要与可搜索索引环境要求Node.js 16已安装 Claude Code CLIV1 Node.js 或V2 原生二进制开发开发模式npmrun setup# 首次安装根目录 frontend 依赖npmrun dev# predev 编译并复制 JS loader然后启动 watch开发模式会 watch 编译主应用src/和前端frontend/src/。打开http://localhost:8080/test可预览 HTML 查看器与示例数据。测试 CLInpmrun buildnodedist/cli.jsnpmrun typecheck构建npmrun build构建产物dist/— 编译后的 CLI、拦截器与反向代理frontend/dist/— 打包后的 Web 界面CSS JS自包含 HTML 报告内嵌 CSS/JS架构双拦截模式的两部分系统后端src/CLIcli.ts— 检测原生/Node.js 二进制启动对应拦截模式反向代理reverse-proxy.ts—Claude Code V2本地 HTTP 代理记录流量并实时生成 HTML拦截器interceptor.ts—Claude Code V1在 Node.js 进程中 hookfetch()拦截器加载器interceptor-loader.js— V1 的--require钩子HTML 生成器html-generator.ts— 将前端嵌入自包含 HTML 报告索引生成器index-generator.ts— AI 会话摘要与可搜索索引共享会话处理器shared-conversation-processor.ts— 前后端共用的解析逻辑Token 提取器token-extractor.js— 提取 OAuth tokenV1 Node.js 路径前端frontend/src/app.ts— 主组件数据处理与视图切换index.ts— 应用入口components/simple-conversation-view.ts— 会话展示与工具可视化components/raw-pairs-view.ts— 原始 HTTP 流量查看器components/json-view.ts— JSON 调试视图styles.css— Tailwind CSSVS Code 主题变量许可证MIT — 原作者 Mario Zechner由 hanqunfeng/claude-trace 维护。