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

我每天在不同城市、不同咖啡馆、不同网络环境下工作。
问题来了:Claude Code 跑了半小时,API 消耗了多少?Codex 今天处理了几个请求?Kimi 的 token 账单为什么比预想的高?
这些答案,传统代理工具给不了我。
今天发现一个工具叫 ccglass,解决了这个痛点。
为什么现有工具看不到流量
用 Charles、mitmproxy 这类工具抓 HTTP 请求,是程序员日常。但当你对 Claude Code 开刀的时候,发现 —— 抓不到。
原因是这些 coding agent 忽略了 HTTP_PROXY 和 HTTPS_PROXY 环境变量。它们直连 API 域名,根本不走系统代理。常见的 fetch 补丁工具也因为版本更新频繁而失效。
ccglass 的思路很聪明:不去拦截 HTTPS,而是拦截客户端到本地的 HTTP hop。
具体来说:客户端(Claude Code)通过 HTTPS 连接真实 API,但只把请求的明文 HTTP 版本发送到一个本地端口,ccglass 在那里做记录,然后再转发给真实 API。
不需要 CA 证书,不需要破解 TLS pinning。
安装与使用
1 | # 通过 npm 安装 |
运行后会输出代理地址和仪表板地址:
1 | ● ccglass watching Codex (OpenAI) → https://api.openai.com |
在浏览器打开仪表板,就可以看到实时请求流。
仪表板能看什么
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 | ccglass proxy |
日志存储方式
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,比猜测要高效得多。
局限性
需要注意几点:
不适用 Cursor 内置订阅:Cursor 的内置订阅走
api2.cursor.sh,ccglass 无法拦截。需要客户端支持 base URL 配置:Claude Code、Codex 这类 CLI 工具支持通过环境变量自定义上游,而有些工具没有这个能力。
Node ≥ 18:运行环境要求。
总结
ccglass 解决的是一个很具体的问题:当你用 AI coding agent 工作时,API 消耗对你是黑箱。
它不是炫技的工具,是实打实的效率伴侣。对于我这样每天在不同环境里移动办公的人,能看到 API 消耗、成本趋势、agent 工作流 —— 这些信息帮我做决策:是优化 prompt、切换模型、还是改变使用方式。
项目地址:github.com/jianshuo/ccglass,MIT 协议,值得一试。