Claude Tap 本地追踪器
在本机捕获并审查 AI 编程助手的真实 API 调用与上下文。
- Star 数
- ★ 3.3k
- 最近更新
- 14 天前
- License
- MIT
- 主语言
- Python
- FA 评分
- 72/100 · 存在缺口
30 秒速览
- 运行形态
- 可在哪里用
- 通用 · 跨平台Codex · Claude Code · OpenAI API · Claude APIChatGPT(部分支持)
- 费用
- 免费,无需付费服务
- 上手难度
- 低 · 几分钟可跑通
- 开始前需要
- 典型场景
- 使用 Claude Code 的开发者想核对某次行为实际收到的系统提示词、消息和工具定义。
- 不适合
- 需要图形界面、不想用命令行的用户
- 无法安装 Python 3.11+ 或没有 shell 环境的团队
- 需要托管式云端仪表盘、不愿在本地保存 trace 的团队
- 源码审查
- 72/100 · 存在缺口
这个 Agent 能做什么,适合哪些场景?
claude-tap 是面向 AI 编程客户端的本地代理和调用追踪查看器。它启动反向或正向代理,并运行所选客户端,或在仅代理模式下等待外部客户端接入。每次请求—响应对或 WebSocket 会话会写入本地 trace 存储,结束后可生成零外部依赖的单文件 HTML 查看器,也可导出紧凑追踪包。查看器可检查系统提示词、消息、工具 schema、工具调用、流式响应、令牌用量和相邻请求之间的结构化差异。它明确支持 Claude Code、Codex CLI 与 Codex App,以及 Gemini CLI、Kimi、OpenCode、Pi、Cursor CLI 等多个客户端。
运行 claude-tap 时,程序为选定客户端启动 reverse 或 forward proxy;支持 base URL 的客户端会被指向反向代理,其他客户端通过代理和本地 CA 环境变量接入。它在流式传输期间转发 SSE 分块和 WebSocket 消息,并把请求—响应对或 WebSocket 会话记录到本地 trace。默认不保存原始 SSE/WebSocket 事件数组;如需在查看器或导出结果中保留,使用 --tap-store-stream-events。运行结束会生成自包含 HTML 查看器;claude-tap dashboard 可浏览已保存追踪,claude-tap export <session-id> -o trace.ctap.json 可导出紧凑包,随后可用 claude-tap export trace.ctap.json -o trace.html 渲染。
- 使用 Claude Code 的开发者想核对某次行为实际收到的系统提示词、消息和工具定义。
- 使用 Codex CLI 的团队要比较相邻请求,定位模型行为变化来自上下文、参数还是工具调用。
- 运行 OpenCode、Pi 或 Hermes 等多提供商客户端的工程师需要在同一个本地界面审查其 API 流量。
- 需要将一次本地调试会话导出为单文件 HTML 或紧凑追踪包,用于离线复盘或归档的开发者。
- 在 macOS 上测试 Codex App 后端请求的用户,希望通过前向代理捕获 HTTP 与 WebSocket 请求体。
如何安装或部署这个 Agent?
需要 Python 3.11+,并已安装且配置好要追踪的客户端。推荐安装:uv tool install claude-tap;或使用:pip install claude-tap。随后先按客户端自身流程完成认证;例如 Codex CLI 的 ChatGPT 订阅 OAuth 使用 codex login,API Key 模式则设置 OPENAI_API_KEY。
如何使用这个 Agent?
Claude Code 可直接运行 claude-tap。Codex CLI 运行 claude-tap --tap-client codex;Gemini CLI 示例为 claude-tap --tap-client gemini -- -p "hello"。实时查看器默认开启;脚本或 CI 环境可加 --tap-no-live。若只启动代理而不启动客户端,使用 claude-tap --tap-no-launch --tap-port 8080,再按对应客户端的 base URL 或代理设置接入。
这个 Agent 有哪些优点和局限?
- 同时覆盖反向代理与前向代理模式,适配既支持自定义 base URL、又只能通过通用 HTTPS 代理接入的客户端。
- 将请求、响应、工具 schema、工具调用、流式重建结果和令牌用量放入本地单文件查看器,并提供相邻请求结构化 diff。
- 追踪默认保留在本机,不依赖托管仪表盘;记录前会自动脱敏常见认证请求头。
- 要求 Python 3.11+、命令行环境、网络访问,以及已安装并完成认证的目标客户端。
- 覆盖范围受客户端的代理或 base URL 支持限制;不同客户端需选用对应的
--tap-client和代理模式。 - 原始 SSE/WebSocket 事件默认不会持久化,事后若需要这些事件无法从普通追踪中补回。
- 部分 macOS 前向代理场景需要信任本地 CA;Antigravity 首次启动时可能要求解锁登录钥匙串。
这个 Agent 与同类方案有什么区别?
与相关度最高的同类 agent 并排比较关键指标。
| Agent | 源码审查 | 形态 / 费用 | Star | 最近更新 | 主语言 | 完整支持的平台 |
|---|---|---|---|---|---|---|
| Claude Tap 本地追踪器 当前 | 72 · 存在缺口 | 命令行工具免费 | ★ 3.3k | 14 天前 | Python | Codex · Claude Code · OpenAI API · Claude API |
| ccxray | 76 · 表现良好 | 命令行工具免费 + 模型费 | ★ 296 | 5 天前 | JavaScript | Claude Code · Claude API |
| OrcaReplay | 72 · 存在缺口 | 命令行工具免费 + 模型费 | ★ 428 | 1 个月前 | TypeScript | Codex · Claude Code · OpenAI API · Claude API |
| Agent Skills 技能库 | 49 · 缺口较多 | Agent 插件 / 技能免费 + 模型费 | ★ 240 | 2 个月前 | Python | Codex · Claude Code |
FollowAgents 如何评估这个 Agent?
查看各维度的扣分理由
代码定位为本地代理和追踪查看器,文档说明会把请求转发到上游、记录提示词和响应,并在记录前遮盖常见认证头;安全策略也明确提醒追踪可能包含私有上下文。对数据流的说明较具体,因此相关项得分较高;但未展示全面脱敏规则、访问控制或完整删除与恢复机制,且示例包含跳过权限提示的选项,用户确认和敏感数据保护只能部分得分。macOS 会自动信任本地 CA 的说明虽披露了影响,但没有呈现撤销流程。作者信息和仓库链接可见,但发布者身份未验证,不能据此确认维护归属。
README 对不同客户端、代理模式和认证路径提供大量具体说明,配置文件也声明 Python 版本及依赖;CI 工作流展示了多版本测试、lint 和覆盖率流程。这些证据支持日常可靠性,但材料中存在大量客户端特定行为,无法从样本完整核对所有说明与实现是否一致;错误处理和用户可见失败消息的证据有限,因此未给高分。
产品覆盖多种 CLI、桌面应用和 IDE 场景,并明确区分反向代理、正向代理、转录监听等模式;文档也列出若干限制,例如 Cursor 仅监听转录、不拦截特定 API,以及部分模式依赖指定环境变量。场景和边界说明充分。触发与目标选择主要依赖客户端参数、环境变量和自动检测,配置路径较多;样本未充分展示对不同环境的诊断或兼容性兜底。
README、双语指南、支持矩阵、安全策略、贡献入口和维护规则形成清楚的信息结构。安装要求、升级方式、客户端命令示例和若干限制均有说明;MIT 许可证文本完整。版本由 setuptools-scm 推导,自动发布流程会处理变更日志,但本样本未包含完整变更日志或明确的维护者响应承诺。客户端与产品名称较稳定,但部分客户端存在多个历史或新旧名称,仍需读者辨别。
产品将 API 请求、上下文、工具调用、流式响应和 token 用量整理为本地会话,并支持导出独立 HTML 查看器及相邻请求差异,输出对调试和审阅较实用。对多客户端统一追踪提供了明确增值。成本收益得分未满,因为配置代理、证书和各客户端认证方式需要额外设置;记录的提示词和响应也要求用户自行审查与管理。
README 的关键功能主张有支持矩阵、配置文件、CLI 源码片段、测试配置和 CI 工作流等多种材料可对照;安全策略也明确说明追踪可能包含的内容。多数说明是具体的可检查陈述,但样本没有完整源代码、所有支持文档或发布记录,跨源确认仍有限;本评估只将文件中直接写明的内容作为事实,未将 CI 配置视为本次执行结果。
- 追踪可能保存提示词、工具定义、文件路径和响应正文;即使常见认证头已遮盖,也应在分享导出的 HTML、日志或截图前检查内容。
- 按客户端配置,工具可能使用本地 CA、转发流量或修改子进程环境。首次使用前应核对所选代理模式、上游目标和 CA 信任范围。
- 样本展示了 CI 测试配置,但本次静态审查未执行测试,也无法核实样本之外的实现与支持范围。
最近版本
来自该项目 GitHub Releases 的最新发布记录,说明为上游原文摘录,未经本站改写或测试。
-
发布说明摘录
English Changed - Compute viewer costs using the Python pricing adapter. - Explain prompt cache misses in the viewer turn detail. - Distinguish harness-injected input from human prompts when displaying conversation titles. - Flag tool results large enough to dominate a conversation turn. Fixed - Fix Dashboard records and HTML viewer HTTP 500 errors caused by urlsplit() ValueError, hiding the affected display strings and response text previews while retaining stored captures. …在 GitHub 查看 ↗ -
发布说明摘录
- 901b856 chore: update changelog for v0.1.145 (#439) - 52bb292 fix(codexapp): capture standard Responses API paths (#422)在 GitHub 查看 ↗ -
发布说明摘录
- e8df198 chore: update changelog for v0.1.144 (#434) - e43d34b fix: reconstruct Cursor request tools and keep dashboard viewer mounted (#432)在 GitHub 查看 ↗
常见问题
它会把追踪上传到云端吗?
是否能查看 Codex 的 ChatGPT 订阅 OAuth 流量?
codex login,再运行 claude-tap --tap-client codex;默认会尽可能从认证状态自动判断目标地址。能否捕获所有流式原始事件?
--tap-store-stream-events;该选项默认关闭。需要付费 API Key 吗?
OPENAI_API_KEY 两种模式;其他客户端按其自身认证配置运行。谢谢反馈,我们会据此改进页面。