每个月底看到 Claude Code 的账单,心里是不是都在滴血?几百刀花出去了,却根本不知道这些钱到底跑哪去了。😅
我也是这样。直到最近逛 GitHub 的时候,挖到了一个叫 claude-tap 的宝藏项目。它就像一个站在你和 AI Agent 之间的"透明人",把每一次 API 请求的底细都给你扒得清清楚楚。

这玩意到底能干啥
简单来说,claude-tap 是一个本地代理 + Trace 查看器。你把平时用的 AI 编程 CLI 工具(比如 Claude Code、Cursor CLI 这些)通过它来启动,它就会自动拦截所有的 API 流量,然后把每一次请求的细节都记录下来。
你能看到什么?system prompt、对话历史、工具定义、流式响应、token 用量,全部一览无余。而且不是那种加工过的日志,是原始的 API 请求和响应,真实得不能再真实。

更爽的是,它支持市面上几乎所有主流的 AI Coding 客户端。Claude Code、Codex CLI、Gemini CLI、Kimi CLI、OpenCode、Cursor CLI、Qoder CLI、Antigravity CLI、CodeBuddy CLI……基本上你能叫得上名字的,它都认得。🙌
几个特别戳我的功能
看上下文不再抓瞎
以前用 Agent 的时候,总觉得它"理解"的和我想的不太一样。现在好了,claude-tap 能直接展示 AI 看到的完整上下文。system prompt 写了啥、历史对话怎么传的、工具参数 schema 长什么样,点开就能看。终于不用再猜了。
Diff 对比超实用
多轮对话的时候,最头疼的就是不知道上下文怎么变的。claude-tap 可以直接对比相邻两次请求,哪些地方加了消息、哪些删了、system prompt 哪里改了,字符级的高亮 diff,一眼就能看出来。调试 prompt 的时候简直是救命神器。
Token 账单算得明明白白
输入多少 token、输出多少、缓存命中多少、缓存创建多少,按请求拆开给你列出来。月底对账的时候,心里终于有底了,知道钱到底烧在哪了。
实时浏览器查看器
加个 --tap-live 参数,它会自动打开浏览器。Agent 一边跑,你在网页里一边看,实时刷新。那种"看着 AI 干活"的感觉,还挺有成就感的。
离线 HTML 归档
每次运行结束,它会自动生成一个自包含的 HTML 文件。不需要装任何依赖,双击就能打开。你可以直接发给同事、丢到团队群里,大家一起 review。很方便。
而且数据全部存在本地,不会上传到云端。API Key 之类的认证信息在记录之前会自动脱敏,不用担心泄露。
安装,真的就一行
装起来巨简单。推荐用 uv:
uv tool install claude-tap没装 uv 的话,pip 也完全 ok:
pip install claude-tap升级也很顺手:
uv tool upgrade claude-tap或者 pip install --upgrade claude-tap,随你习惯。
用法,比想象中更简单
装好以后,最基础的使用方式就是直接替换你原来的命令。比如平时你打 claude,现在改成:
claude-tap对,就这么简单。后面该干嘛干嘛,claude-tap 会自动启动代理、启动 Claude Code,等你用完退出的时候,一个 HTML 查看器就已经生成好了。
想边跑边看实时效果?加个参数:
claude-tap --tap-live浏览器会自动弹出来,实时刷新每一条 API 调用。
如果你用的是其他客户端,换一下 --tap-client 就行:
# Codex CLIclaude-tap --tap-client codex# Gemini CLIclaude-tap --tap-client gemini -- -p "hello"# Kimi CLIclaude-tap --tap-client kimi# 新的 Kimi Code CLIclaude-tap --tap-client kimi-code# Cursor CLIclaude-tap --tap-client cursor -- -p --trust --model auto "hello"# Qoder CLIclaude-tap --tap-client qoder -- -p "hello" --permission-mode dont_ask# CodeBuddy CLI(腾讯的)claude-tap --tap-client codebuddyClaude Code 用户还有一些常用技巧:
# 继续上一次的对话claude-tap -c# 跳过所有权限确认(自动同意工具调用)claude-tap -- --dangerously-skip-permissions# 指定模型claude-tap -- --model claude-opus-4-6注意 -- 后面的参数都是传给原客户端的,claude-tap 自己只认 --tap-* 开头的参数。
一些进阶玩法
不想启动客户端、只开代理?可以:
claude-tap --tap-no-launch --tap-port 8080然后你在另一个终端里手动配置客户端的 base URL 或者代理指向 127.0.0.1:8080 就行。
想看之前保存的 trace 记录:
claude-tap dashboard用完关掉:
claude-tap dashboard stop甚至还能导出成紧凑格式,方便分享:
claude-tap export <session-id> --format compact -o trace.ctap.jsonclaude-tap export trace.ctap.json -o trace.htmlmacOS 用户还有个彩蛋,可以打包成本地菜单栏 App:
claude-tap build-macos-appopen "dist/Claude Tap.app"点一下菜单栏图标就能启动/停止监控,很省事。
它是怎么做到的
原理其实不复杂,就两条路。
对于 Claude Code、Codex CLI 这种支持自定义 base URL 的客户端,claude-tap 用反向代理模式:把客户端的请求地址偷偷指向本地代理,代理再转发到真实的 API。客户端完全感知不到,透明得很。
对于 Gemini CLI、OpenCode、Pi 这些不支持改地址的,它用正向代理模式:通过 HTTPS_PROXY 环境变量把流量导到本地,再配合自签名的 CA 证书完成 TLS 解密。装好证书以后也是透明的,不用你操心。
所有流量经过代理的时候,会被实时记录成 JSONL 格式的 trace 文件。实时模式通过 SSE 推送到浏览器,退出的时候再打包成自包含的 HTML。整个过程开销很低,不会影响你正常使用。
谁适合装一个
如果你每天都在用 Claude Code 或者其他 AI Coding Agent 写代码,这个工具几乎是必装的。token 烧了多少、花在哪了,心里有数,不至于月底看账单一脸懵。
做 prompt 工程的朋友也会很爱它。完整的 system prompt 和上下文传递链路,比自己翻日志方便一万倍。
带团队的小伙伴更不用说了,想审计 Agent 的行为、做成本分析、看看 Agent 到底在干啥,直接把生成的 HTML 文件丢群里,大家都能看。
自己搞 Agent 开发的话,claude-tap 就相当于 AI Agent 领域的 Wireshark,调试 API 调用、排查问题特别顺手。
总之,这是一个装完就回不去的工具。以前用 Agent 是"黑盒祈祷",现在终于能打开盖子看一看了。🛠️
guthub地址:https://github.com/liaohch3/claude-tap
夜雨聆风