你的 AI 编程工具,每次请求都在干嘛?这个开源项目帮你分析得明明白白
大家好,我是Java1234_小锋老师。
一、你是不是也有这种困惑
用 Claude Code、Cursor、Codex 这类 AI 编程助手写代码时,界面里往往只有「它在想」「它在调工具」「它回了一段话」。真正发到模型那边的那一大包内容——系统提示词、历史对话、工具定义、每次多带了什么上下文——通常是看不见的。
于是就会出现一些很常见的疑问:
- 为什么这次回答变笨了?是不是上下文被塞满了?
- 它到底调了哪些工具?参数长什么样?
- Token 花在哪了?缓存有没有生效?
- 换了个模型或网关,请求体到底变了没有?
靠猜很累,靠日志又往往不全。claude-tap想解决的就是这件事:在你本机把 AI 编程工具的 API 流量拦下来、记下来,再用一个好看的页面帮你逐条看清楚。
二、claude-tap 是干什么的
一句话:本地代理 + 抓包记录 + 可视化报告。
你不用改客户端源码,也不用把数据上传到别人的服务器。正常运行你的 CLI(比如claude、codex、cursor),只是前面加一层claude-tap启动。它会:
- 在中间起一个本地代理;
- 把客户端的请求原样转发到真实 API;
- 把每一对「请求—响应」写进本地的
trace_*.jsonl; - 退出时生成一份单文件 HTML 报告,用浏览器就能打开,还能开实时模式边跑边看。
作者把项目开源在 GitHub 上,目前 star 已经破千,说明「想看明白 AI 在发什么」这件事,确实戳中了不少开发者。
三、它大概怎么工作的
流程并不复杂,可以理解成「加了个透明中转站」:
你 → 运行 claude-tap → 启动 AI 客户端 → 请求先到本地代理 → 再转到真实 API → 响应原路返回 ↓ 同时写入 trace 文件 ↓ 结束后生成 HTML 查看器几个让人放心的设计:
- 流式响应几乎不拖慢:SSE、WebSocket 都是边收边转,代理只做记录,不人为卡流。
- 敏感信息会脱敏:
Authorization、x-api-key等常见鉴权头在写入 trace 前会打码,降低密钥泄露风险。 - 数据留在本机:没有必须注册的云端面板,适合内网、合规要求高的场景。
不同客户端对接方式略有差别(有的改 base URL 走反向代理,有的走正向代理),但对你而言,大多就是换一条启动命令的事。
四、打开报告页,你能看到什么
跑完一轮任务,会拿到一份自包含的 HTML(不依赖外网 CDN)。界面支持中英文,深色模式也照顾到了长时间盯屏的情况。
比较实用的几块:
| 能力 | 你能用来干什么 |
|---|---|
| 按模型分组浏览请求 | 快速找到 Opus / Sonnet 等不同模型的调用 |
| 系统提示词与消息对比 | 看相邻两次请求里,上下文到底多了还是少了 |
| Token 用量拆分 | 分清 input、output、cache 读/写各占多少 |
| 工具(Tool) inspector | 展开看工具名、描述、参数 schema |
| 全文搜索 | 在提示词、工具、回复里搜关键词 |
| 一键复制 curl / 请求体 | 方便复现或发给同事排查 |
如果你开了--tap-live(新版本默认会开实时查看),浏览器里还能边对话边刷新,不用等程序退出才看结果。
五、支持哪些工具
一套工作流,覆盖市面上主流的 AI 编程 CLI,是 claude-tap 的另一个卖点:
包括但不限于:
- Claude Code(也支持 VS Code 扩展里配置 wrapper)
- Codex CLI、Gemini CLI、Kimi CLI
- Cursor CLI、OpenCode、Pi、Hermes Agent
- 以及Qoder、Antigravity、CodeBuddy等
对 Cursor 用户还有个小细节:除了网络层抓包,退出后还会尝试导入本地 transcript,把对话层的 user/assistant/tool 记录补进 trace,看起来更完整。
六、三分钟上手
环境要求:Python 3.11+,以及你要分析的那个 CLI 本身已装好。
# 安装(任选一种)uv toolinstallclaude-tap# 或pipinstallclaude-tap最常用的 Claude Code 场景,直接:
claude-tap想 trace 别的客户端,指定--tap-client即可,例如:
# Codexclaude-tap --tap-client codex# Cursor CLIclaude-tap --tap-client cursor ---p--trust--modelauto"hello"--后面的参数会原样传给对应客户端。跑完后到输出目录找trace_*.html打开;JSONL 原始数据也留着,方便自己做二次分析。
七、适合谁用
- 想搞懂 prompt 工程的人:亲眼看到系统提示词、多轮消息是怎么组装的。
- 在调 Agent 行为的开发者:工具调用、参数变化、上下文膨胀,都有据可查。
- 做团队内部分享或排错的人:导出一份 HTML,比截图聊天记录靠谱得多。
- 关心隐私的人:全程本地,不依赖第三方观测平台。
它不是替代品或破解工具,也不会帮你绕过计费;它就是一个诚实的「显微镜」,让你知道每次请求里到底装了什么。
项目地址:https://github.com/liaohch3/claude-tap
