AI Agent 越来越能干,也越来越像一个黑箱。你在终端里输入一句:
可如果你追问几个问题:
- 它到底把哪些代码发给了模型?
- system prompt 里写了什么规则?
- 每次请求带了多少历史上下文?
- 为什么它选了这个工具,而不是另一个工具?
- token 花在哪里了?
- cache 有没有命中?
- 一次任务到底花了多少钱?
很多时候,我们并不知道。
这就是我最近关注的一个开源工具:ccglass。
GitHub 地址:https://github.com/jianshuo/ccglass
ccglass 是什么?
一句话概括:
ccglass 是一个 AI 编程 Agent 的本地观测工具,用来查看 Claude Code、Codex 等工具实际发送给大模型的请求内容。
它不是另一个 AI 编程助手,也不是模型 provider。它更像是一个透明的“观察层”。
当你用 Claude Code、Codex、DeepSeek-TUI、Reasonix、Kimi、OpenCode、Ollama、OpenRouter 等工具时,ccglass 可以在本地启动一个代理,把请求和响应记录下来,并通过 Web Dashboard 展示出来。
你可以看到:
- 模型收到的 system prompt
- 用户消息和 assistant 消息历史
- 工具列表和 tool schema
- tool call 和 tool result
- token 使用情况
- cache 命中情况
- 请求延迟
- 成本估算
- turn-to-turn 的上下文变化
这就像给 AI Agent 装了一块玻璃。以前你只能看到它的输出,现在你可以看到它“脑子里”收到的输入。
为什么现在特别需要这样的工具?
AI 编程已经从“补全工具”进入了“Agent 工具”阶段。
补全工具时代,我们关心的是:
它补的这段代码对不对?
Agent 工具时代,我们还要关心:
它为什么这么做?
这个区别很关键。
因为 Agent 不只是生成文本,它还会做决策。比如:
- 决定读哪个文件
- 决定运行哪个命令
- 决定是否修改代码
- 决定是否继续请求模型
- 决定哪些上下文应该保留
- 决定调用哪个工具
这些决策的质量,直接影响开发效率、代码质量和成本。
如果没有观测能力,我们只能靠猜:
- 它是不是没看到某个文件?
- 它是不是上下文太长导致重点丢失?
- 它是不是 system prompt 里有某条规则影响了行为?
- 它是不是工具 schema 太复杂,导致模型误判?
- 它是不是每轮都重复发送大量无效上下文?
ccglass 的价值就在这里:它把这些猜测变成可以检查的事实。
它和普通抓包工具有什么不同?
很多人可能会问:这不就是抓包吗?Charles、mitmproxy、Proxyman 不能做吗?
理论上可以,但实际并不总是好用。
现在很多 AI CLI 是 Node 或原生程序,它们不一定稳定遵守 HTTP_PROXY / HTTPS_PROXY。有些还会有自己的网络实现、认证方式或连接逻辑。直接 patch fetch 也容易因为客户端升级而失效。
ccglass 走的是另一条路:
- 在本地启动一个代理服务。
- 通过
OPENAI_BASE_URL、ANTHROPIC_BASE_URL等环境变量,让 AI CLI 把请求打到本地代理。 - 本地代理记录请求和响应。
- 再把请求转发给真实的模型 API。
- Dashboard 读取日志并可视化展示。
这种方式的好处是:
- 不需要安装 CA 证书
- 不需要处理 HTTPS 解密
- 不需要改客户端源码
- 对开发者更友好
- 更适合观察 AI Agent 的 prompt、tool call 和 token 使用
它不是为了替代通用抓包工具,而是专门为 AI 编程 Agent 的观测场景设计的。
快速安装
ccglass 是一个 Node 工具,安装很简单:
npm install -g ccglass
安装完成后,直接运行:
ccglass
它会出现一个交互式菜单,让你选择要观察的客户端。

也可以直接指定:
ccglass claude
ccglass codex
ccglass deepseek
ccglass kimi
ccglass opencode
比如观察 Codex:
ccglass codex
启动成功后,终端会输出一个 Dashboard 地址,类似:
更多推荐



所有评论(0)