ccglass:让 AI 编程 agent 的 API 消耗一目了然

ccglass:让 AI 编程 agent 的 API 消耗一目了然

ccglass

我每天在不同城市、不同咖啡馆、不同网络环境下工作。

问题来了:Claude Code 跑了半小时,API 消耗了多少?Codex 今天处理了几个请求?Kimi 的 token 账单为什么比预想的高?

这些答案,传统代理工具给不了我。

今天发现一个工具叫 ccglass,解决了这个痛点。

为什么现有工具看不到流量

用 Charles、mitmproxy 这类工具抓 HTTP 请求,是程序员日常。但当你对 Claude Code 开刀的时候,发现 —— 抓不到。

原因是这些 coding agent 忽略了 HTTP_PROXYHTTPS_PROXY 环境变量。它们直连 API 域名,根本不走系统代理。常见的 fetch 补丁工具也因为版本更新频繁而失效。

ccglass 的思路很聪明:不去拦截 HTTPS,而是拦截客户端到本地的 HTTP hop

具体来说:客户端(Claude Code)通过 HTTPS 连接真实 API,但只把请求的明文 HTTP 版本发送到一个本地端口,ccglass 在那里做记录,然后再转发给真实 API。

不需要 CA 证书,不需要破解 TLS pinning。

安装与使用

1
2
3
4
5
6
7
8
9
10
# 通过 npm 安装
npm install -g ccglass

# 直接运行,自动检测已安装的 agent
ccglass

# 指定 agent 类型
ccglass claude # 监听 Claude Code
ccglass codex # 监听 Codex (OpenAI)
ccglass kimi # 监听 Kimi (Moonshot)

运行后会输出代理地址和仪表板地址:

1
2
● ccglass watching Codex (OpenAI) → https://api.openai.com
dashboard: http://127.0.0.1:57633

在浏览器打开仪表板,就可以看到实时请求流。

仪表板能看什么

ccglass 的仪表板提供了几个实用视图:

实时请求捕获:每个请求、每个响应、每个 tool call 都实时显示。

Token 和成本追踪:每次调用的 token 数量、缓存命中率、预估成本一一列出。

消息历史:完整的对话上下文,包括 system prompt、user message、assistant response、tool results。

Agent 工作流视图:能看到 agent 在多轮对话中是怎么思考、怎么调用工具的。

Turn-to-Turn 对比:比较相邻两次请求的差异,方便分析 agent 的推理路径。

对于我这种经常在多个项目里切换的人来说,成本可视化特别有用 —— 有时候让 Claude Code 处理一个简单任务,结果 token 消耗比我预估的高出一个量级,现在能马上发现。

支持哪些 Agent

命令 监听对象 上游
ccglass claude Claude Code api.anthropic.com
ccglass codex Codex api.openai.com
ccglass deepseek DeepSeek-TUI api.deepseek.com
ccglass kimi Kimi (通过 Claude Code) api.moonshot.ai
ccglass opencode OpenCode 自动读取环境变量
ccglass ollama Ollama 任意客户端 127.0.0.1:11434
ccglass lmstudio LM Studio 任意客户端 127.0.0.1:1234

IDE 插件也支持:Cursor(Cline、Continue.dev 等)如果使用自己的 API key(BYOK 模式),可以用 ccglass proxy 开启透明代理。

1
2
ccglass proxy
# 设置 IDE 的 API base URL 为 http://127.0.0.1:PORT

日志存储方式

ccglass 的日志采用内容寻址存储,类似 git 的设计:

  • 每个 message、tools 数组、system block 只写入一次
  • 后续请求通过哈希引用,避免重复存储

存储路径:~/.ccglass/sessions/<项目路径>-<hash>/<session>/NNNN.json

对于长周期的 agent 会话,这个设计避免了日志体积的二次增长。切换项目时日志自动隔离,不会混淆。

认证 token(authorization、x-api-key)默认是脱敏的,用 --no-redact 可以关闭脱敏方便调试。

对经常切换环境的人的实际价值

我在移动办公场景下有几个具体用法:

多设备成本监控:在 MacBook Pro 上跑 Claude Code,在 iPad 上看 ccglass 仪表板,了解实时消耗。

网络波动时的请求分析:在酒店、咖啡馆网络不稳定时,看到哪些请求超时、哪些 token 重试。

多项目 API key 管理:不同项目用不同的 API key,ccglass 能帮我区分哪个项目消耗多、哪个 token 配额快用完。

调试 Prompt:Agent 行为异常时,直接看它实际收到的 system prompt,比猜测要高效得多。

局限性

需要注意几点:

  1. 不适用 Cursor 内置订阅:Cursor 的内置订阅走 api2.cursor.sh,ccglass 无法拦截。

  2. 需要客户端支持 base URL 配置:Claude Code、Codex 这类 CLI 工具支持通过环境变量自定义上游,而有些工具没有这个能力。

  3. Node ≥ 18:运行环境要求。

总结

ccglass 解决的是一个很具体的问题:当你用 AI coding agent 工作时,API 消耗对你是黑箱。

它不是炫技的工具,是实打实的效率伴侣。对于我这样每天在不同环境里移动办公的人,能看到 API 消耗、成本趋势、agent 工作流 —— 这些信息帮我做决策:是优化 prompt、切换模型、还是改变使用方式。

项目地址:github.com/jianshuo/ccglass,MIT 协议,值得一试。