你可能每天都在用 Claude Code、Codex、Cursor。
但你有没有想过------它每次发给模型的,到底是个什么样的请求?
系统提示词长什么样?工具是怎么定义的?多轮对话上下文是怎么累积的?token 都花在哪了?不同模型之间,请求结构有啥差别?
一问三不知。
这就是现在 AI 编程助手的现状------好用是好用了,但它是个黑盒。
你看不见它发给模型什么,就只能在结果上猜:这次回答不好,是 Prompt 没写好?是上下文太长?还是模型本身不行?没有数据,全是玄学。
最近我发现一个开源项目,把这个黑盒撬开了。
它叫 claude-tap
一句话介绍:本地代理 + 追踪查看器,专门用来拦截 AI 编程 CLI 的 API 流量。
MIT 开源,2.9k star,作者是一个叫 liaohch3 的兄弟。

它干的事情其实就两件:
- 在 AI CLI 和模型 API 之间,插一个本地代理
- 把每一次请求、每一次响应,都完整记下来,然后给你一个漂亮的查看器
听起来简单,但解决了一个真实痛点------终于能看见 AI 编程助手到底在干什么了。
一款工具,覆盖 16 种主流 CLI
这是我觉得最离谱的地方。
claude-tap 不只能拦截 Claude Code,它还能拦截:
- Claude 系:Claude Code(含 AWS Bedrock、DeepSeek/GLM 网关)
- OpenAI 系:Codex CLI、Codex App
- Google 系:Gemini CLI
- xAI:Grok Build CLI
- 月之暗面:Kimi CLI、Kimi Code
- 小米:MiMo Code
- Cursor、Qoder、Antigravity、OpenCode、OpenClaw、Pi、Hermes Agent
- 腾讯:CodeBuddy CLI
数一下,16 种。
国外主流的、国内大厂的、新锐开源的,全覆盖。

装一个工具,所有 AI 编程 CLI 的请求都能看。这个覆盖度,目前我没见到第二个项目能做到。
最杀手的:结构化 diff 对比
光看请求还不够。claude-tap 真正让我眼前一亮的,是这个功能------结构化 diff。
什么意思?
AI 编程助手是多轮对话------你发一句、它回一句、你再发一句。每次请求,上下文都在累积变化。
- 第 1 次请求:系统提示词 + 你的问题
- 第 2 次请求:系统提示词 + 第 1 轮对话 + 工具调用结果 + 你的新问题
- 第 3 次请求:又多了第 2 轮的内容
但每两次请求之间,到底多了什么、改了什么、删了什么?


claude-tap 的 diff 视图会给你字符级的高亮对比:
- 系统提示词从 v1 变到 v2,改了哪几个字
- 工具列表是新增了还是减少了
- 对话历史是按什么顺序拼接的
- 有没有偷偷插入什么隐藏指令
这对调试 Prompt 的人来说,是核武器。
以前调 Prompt 全靠感觉------"好像这次更差了,但不知道为啥"。现在能直接看到上下文变化,差在哪、改了什么,一目了然。

它的实现原理也很简单,核心思路就两条:
1、对于支持自定义 base URL 的工具,比如 Claude Code、Codex CLI,它用反向代理模式:把客户端的请求地址指向本地代理,代理再转发到真实 API。对客户端来说完全透明。
2、对于不支持改地址的客户端,比如 Gemini CLI、OpenCode、Pi,它用正向代理模式:通过 HTTPS_PROXY 环境变量把流量导到本地,配合自签名的 CA 证书完成 TLS 解密。装好证书之后也是透明的。
所有流量经过代理的时候,会被实时记录成 JSONL 格式的 trace 文件。
实时模式则通过 SSE 把记录推送到浏览器。退出的时候把 trace 打包成自包含 HTML。
就这么简单。没有花里胡哨的东西,就是把流量拦下来、记下来、展示出来。
其他几个我觉得很贴心的设计
第一,认证头自动脱敏。
API Key 这种敏感信息,存下来之前会自动打码。你可以放心地把追踪文件分享出去,不会泄露密钥。
第二,自包含 HTML 查看器。
导出的追踪文件是单文件 HTML,零外部依赖。发给同事、丢到 issue 里、嵌入网页都行------对方不用装任何东西,打开就能看。
第三,macOS 菜单栏 app。
可以一键构建一个 Claude Tap.app,住在状态栏里,点开就是控制面板。macOS 用户狂喜。
第四,实时模式。
默认开启。你边跟 AI 聊,浏览器里边实时刷新请求------不用等会话结束才看。
第五,token 用量分解。
输入 token、输出 token、缓存读、缓存创建------分得清清楚楚。优化成本的时候,这是最基础也最重要的数据。
第六,AWS Bedrock 智能适配。
Bedrock 有三种接入方式(Anthropic 网关、企业代理、原生 SigV4),claude-tap 能自动识别,分别用不同策略捕获。这种细节做得到位,说明作者真的在用。
怎么用?真的就一行命令
安装:
bash
# Recommended
uv tool install claude-tap
# Or with pip
pip install claude-tap
启动(默认是 Claude Code):
bash
claude-tap
就这样。它会自动起代理、起查看器、启动 Claude Code,一条龙。
用其他 CLI 的话,加个参数:
bash
# Codex CLI
claude-tap --tap-client codex
# Gemini CLI
claude-tap --tap-client gemini -- -p "hello"
# Kimi Code
claude-tap --tap-client kimi
claude-tap --tap-client kimi-code
# Cursor CLI
claude-tap --tap-client cursor -- -p --trust --model auto "hello"
# 腾讯 CodeBuddy
claude-tap --tap-client codebuddy
以Claude Code为例
bash
# Pass flags through to Claude Code
claude-tap -- --model claude-opus-4-6
claude-tap -c # continue last conversation
# Skip all permission prompts (auto-accept tool calls)
claude-tap -- --dangerously-skip-permissions
# Live viewer is on by default; pass Claude flags after --
claude-tap -- --dangerously-skip-permissions --model claude-sonnet-4-6
完整参数表 GitHub README 里都有,不啰嗦了。
重点说三个使用场景
场景一:研究 Claude Code 的系统提示词。
很多人好奇------Claude Code 到底靠什么指令把一个 CLI 整得这么能干?系统提示词怎么组织的?工具怎么定义的?跑一遍 claude-tap,所有底牌都摆在你面前。
场景二:调试 Agent 的 Prompt。
你在做自己的 Agent,调了半天效果不对。用 claude-tap 把请求抓下来,对比相邻两次的 diff,立刻能看到上下文是怎么累积的、哪一步出了问题。比你瞎猜快十倍。
场景三:Claude Code 接 DeepSeek,对比原生 Claude 的差异。
很多人在用 DeepSeek/GLM 接 Claude Code 省钱。但你想过没有------同一个 Prompt,发到 DeepSeek 和发到 Claude,请求结构有没有被网关改?工具定义有没有丢?用 claude-tap 跑一遍,立刻清楚。
我觉得这个项目意味着什么
说点我自己的看法。
claude-tap 这种工具的出现,说明 AI 编程助手生态真的在成熟。
一年前,大家还在讨论"AI 编程助手好不好用"。现在,大家已经开始关心"它具体怎么工作的"------系统提示词怎么写的、工具怎么定义的、上下文怎么管理的、token 怎么花掉的。
从"凭感觉用",到"看清楚用"------这是一个生态走向成熟的标志。
对几类人,这个工具几乎是必备:
- Prompt 工程师:调试 Agent Prompt,对比相邻请求是核心能力
- AI 工具评测者:写评测、做对比,看不见请求就只能凭感觉
- Agent 开发者:学习主流 CLI 怎么设计系统提示词、工具列表、上下文管理
- 企业技术负责人:审计 AI 编程助手到底发了什么数据出去,这是合规检查的基础
但我也想说一句------工具只是工具,看请求是为了理解,不是为了逆向。
Claude Code 的系统提示词、工具定义,是 Anthropic 工程师精心设计的成果。看可以,学可以,但直接抄去自己产品里,就不太体面了。
写在最后
如果你自己在做 AI 编程、AI Agent相关的开发、Prompt 工程,想调试 API 调用、排查问题,claude-tap 就相当于 AI Agent 领域的 Wireshark,强烈建议去 GitHub 看看,跑一遍 Demo。
别等所有同行都在用了,你才反应过来。
GitHub 项目地址:github.com/liaohch3/claude-tap