天天用 Claude Code/Codex,你知道它实际发给模型什么吗?被这开源工具扒光了...

你可能每天都在用 Claude Code、Codex、Cursor。

但你有没有想过------它每次发给模型的,到底是个什么样的请求?

系统提示词长什么样?工具是怎么定义的?多轮对话上下文是怎么累积的?token 都花在哪了?不同模型之间,请求结构有啥差别?

一问三不知。

这就是现在 AI 编程助手的现状------好用是好用了,但它是个黑盒

你看不见它发给模型什么,就只能在结果上猜:这次回答不好,是 Prompt 没写好?是上下文太长?还是模型本身不行?没有数据,全是玄学。

最近我发现一个开源项目,把这个黑盒撬开了。

它叫 claude-tap

一句话介绍:本地代理 + 追踪查看器,专门用来拦截 AI 编程 CLI 的 API 流量。

MIT 开源,2.9k star,作者是一个叫 liaohch3 的兄弟。

它干的事情其实就两件:

  1. 在 AI CLI 和模型 API 之间,插一个本地代理
  2. 把每一次请求、每一次响应,都完整记下来,然后给你一个漂亮的查看器

听起来简单,但解决了一个真实痛点------终于能看见 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