Qoder 用了一段时间,我的感觉和其他 AI 编程工具用户一样:效率高,但偶尔也会莫名其妙。
比如:
- 让它修一个 bug,它改了半天却改了不相关的文件
- 让它加一个功能,它好像完全忽略了某个关键文件
- 有时候一句话就能搞定,有时候来来回回跑了很多轮,感觉 token 在燃烧
- 它为什么会选择调用这个工具而不是另一个?
这些问题,光看终端输出是很难回答的。
因为 AI 编程 Agent 早就不是"补全一行代码"那么简单了。它会读文件、改代码、跑命令、调用工具、分析报错、连续请求模型——整套流程走下来,真正决定它行为的信息,全部藏在它发给模型的请求里。
而那个请求,平时你是看不到的。
直到我发现了 ccglass。
GitHub:https://github.com/jianshuo/ccglass
ccglass 是什么?
一句话概括:
ccglass 是一个开源的本地观测工具,用来查看 Qoder、Claude Code、Codex 等 AI 编程 Agent 实际发送给模型 API 的请求内容。
它不是另一个编程助手,也不是模型 provider。它更像是在你和模型之间放了一块"透明玻璃"——你的使用方式完全不变,但你能看到之前看不到的东西。
Qoder 用户为什么需要它?
Qoder 支持 OpenAI 兼容的 API 接口,这意味着它可以通过环境变量把请求路由到本地。ccglass 利用这一点,在本地启动一个代理服务:
# 1. 安装 ccglass
npm install -g ccglass
# 2. 启动(Qoder 使用 OpenAI 兼容接口)
ccglass proxy --provider openai
启动后,终端会输出一个 Dashboard 地址,类似:
dashboard: http://127.0.0.1:57633
然后把 Qoder 的 API base URL 指向这个地址,接下来你在 Qoder 里的每一次对话,ccglass 都会在本地记录下来。
整个过程不需要改 Qoder 的源码,不需要装 CA 证书,也不需要抓包。
Dashboard 里能看到什么?
1. System Prompt —— 看清 Qoder 的底层规则
很多时候我们以为 Qoder 是"自己决定"这么做,但实际上它可能受到了 system prompt 的约束。
通过 ccglass,你可以直接看到 Qoder 发给模型的系统级指令。这对于理解 Qoder 的行为逻辑、调试异常回答非常有帮助。
比如你会发现:原来 Qoder 不是"笨",而是系统指令要求它必须先做什么、后做什么。
2. 工具调用全链路 —— 看它为什么选这个工具
Qoder 能调用多种工具:读文件、搜索、运行命令、修改代码……
ccglass 可以展示:
- 模型看到了哪些工具可用
- 每个工具的参数描述是什么
- 它实际选择了哪个工具
- 传了什么参数
- 工具返回了什么结果
- 这个结果如何影响了下一轮请求
这是调试"Qoder 为什么跑偏了"最直接的方式。很多问题不是模型能力不够,而是工具返回的结果把注意力带偏了,或者关键信息根本没被读到。
3. 上下文 Diff —— 看每轮请求的变化
AI Agent 是多轮工作的,每一轮请求带的上下文都不同。
ccglass 支持 turn-to-turn diff,可以对比两次请求之间的变化:
- 哪些内容是新增的
- 哪些内容被保留了
- 哪些工具结果进入了下一轮
- 哪些上下文可能造成干扰
当 Qoder 后面几轮开始"跑偏"时,diff 视图能帮你快速定位是从哪一轮开始出了问题的。
4. Token、Cache 和成本 —— 看钱花在哪了
一个看起来简单的任务,背后可能发生了多次模型调用、大量工具输出和长上下文传递。
ccglass 会展示每轮请求的:
- 输入 / 输出 token
- cache token 和命中率
- 成本估算
- 请求延迟
对个人用户来说,这能帮助理解 token 的消耗模式。如果某个工具返回内容过长、某个上下文被反复发送,一眼就能看出来。
5. 完整的 Agent 流程视图
ccglass 不只是展示单个请求,而是把整个 Agent 循环串起来:
用户输入 -> 模型思考 -> 调用工具 -> 工具返回 -> 模型继续 -> ...
你能像看日志一样,从头到尾追踪 Qoder 完成一个任务的完整路径。
和其他工具比有什么不同?
vs. 通用抓包工具(Charles、mitmproxy)
很多 AI CLI 工具并不稳定遵守 HTTP_PROXY / HTTPS_PROXY,HTTPS 解密还要装证书。而且抓到的是原始 HTTP 报文,prompt、tool call、token 这些语义信息不容易阅读。
ccglass 走环境变量路由,对 Node.js 和 OpenAI 兼容的工具更可靠,并且展示的是结构化、可读的视图。
vs. 云端观测平台
ccglass 是 local-first 的——所有日志保存在本地,不依赖任何 SaaS 服务,没有网络延迟,也不涉及数据外传。对于关心隐私的开发者来说,这一点很重要。
vs. 客户端 Patch 方案
有些方案需要修改客户端源码或 patch fetch,容易在客户端升级后失效。ccglass 通过配置环境变量实现,不碰客户端代码,升级也不影响。
支持哪些工具?
除了 Qoder,ccglass 还覆盖了市面上主流的 AI 编程工具:
- Claude Code
- Codex
- DeepSeek-TUI / Reasonix
- Kimi
- OpenCode
- Ollama / LM Studio
- OpenRouter
- GLM / 智谱
- AWS Bedrock / Google Vertex AI
- CodeBuddy
- Cursor / Cline / Continue.dev(通过 proxy 模式)
也就是说,即使你同时使用多个工具,只需要一个 ccglass 就够了。
快速上手
安装:
npm install -g ccglass
启动并观察 Qoder:
ccglass proxy --provider openai
然后把 Qoder 的 API base URL 配置为 ccglass 输出的本地代理地址。
也可以直接启动交互式菜单选择:
ccglass
导出请求记录:
# 导出为 Markdown
ccglass export <session>/<seq> --format md
# 导出为 JSON
ccglass export <session>/<seq> --format json
# 导出为 HAR
ccglass export <session>/<seq> --format har
导出的结果可以用于写问题报告、做复盘、或者和他人分享分析。
安全提醒
ccglass 默认会遮蔽 authorization、x-api-key 等认证字段。
但日志里仍然可能包含代码片段、文件路径、项目上下文等敏感信息,建议:
- 不要随意把日志发到公开网络
- 团队使用时明确日志保留和清理规则
- 日志默认保存在本地
~/.ccglass/sessions/
总结
用 AI 编程工具,会用它只是第一步,能看懂它才是工程能力。
Qoder 这样的工具越来越强,但越强的工具,越需要可观测性。ccglass 做的事情很简单,也很关键:
让你看清 Qoder 每一次发给模型的请求——prompt、上下文、工具调用、token 消耗,全部透明。
哪怕只是打开 Dashboard 看一次请求,你对 Qoder 的理解都会和之前完全不同。
项目地址:https://github.com/jianshuo/ccglass
安装命令:npm install -g ccglass
MIT 开源,欢迎 star 和提 issue。