ccglass
一款轻量级本地反向代理与 Web 仪表盘,让你实时看清编码智能体(Claude Code、Codex、Kimi 等)到底向模型发送了什么。
证据显示:工具默认只拦截本机明文HTTP跳段,默认掩码auth令牌(--no-redact可选退出),CodeBuddy模式仅对copilot.tencent.com做TLS MITM,其余流量直通,CA证书仅存会话目录未写入系统信任。扣分点:README声称掩码与最小拦截,但源文件未展示代理/掩码实现代码,无法静态核实;CodeBuddy模式要求用户关闭proxyStrictSSL,属降低安全态势的指示。
证据显示:node --test测试套件覆盖会话解析、blob存储、CA生成,prepublishOnly强制跑测试;Codex ChatGPT登录模式失效情形有明示(提示codex doctor排查)。扣分点:Bedrock直连失败仅打印警告,属回退路径而非根本修复;未见失败重试机制的描述。
证据显示:受众(调试coding agent的开发者)与场景(CLI包装、IDE BYOK、forward-proxy)划分清晰,局限(Cursor订阅模型不可拦截、SigV4 Host签名问题)明示。扣分点:环境覆盖以macOS/Node视角书写,Windows仅有一处PR提及,跨平台验证证据薄。
证据显示:README结构完整(why/providers表/usage/options/logs),MIT LICENSE与package.一致,安装说明双通道(npm/brew),贡献者归属详尽并链接PR。扣分点:无CHANGELOG文件,版本历史仅靠git tags推断;测试只覆盖三个模块,src主体未随源码提供,命名稳定性(dsnix、reasonix别名)依赖文档而非结构。
证据显示:输出形态多样(dashboard、raw/md//har导出、copy as cURL、usage汇总),内容寻址存储避免二次方膨胀,功能对'看清agent发了什么'这一需求边际价值明确。扣分点:成本估算依赖每provider价格表,未说明来源与更新机制;MCP自省功能默认注入,用户需主动--no-mcp关闭,成本收益在此处偏含糊。
证据显示:README声明与package.(零核心依赖、engines、bin)及测试文件(blob、CA、会话名解析)互相印证,贡献归因指向具体PR编号可核对。扣分点:demo.gif为外部资源无法核实,核心代理逻辑源码未在证据中,'no runtime dependencies'与dependencies字段含3个包的表述(称MCP为optional)需用户自行验证。
- 静态审查未执行任何代码:掩码逻辑、MITM范围、依赖安全性均仅凭README与测试断言,未核实src实现。
- CodeBuddy模式要求在IDE中关闭proxyStrictSSL以信任自签CA,请用后务必清理代理设置,且切勿将该CA私钥目录暴露或加入系统信任。
- 捕获日志包含完整提示词与消息历史,即使令牌默认掩码,也应将~/.ccglass视为敏感数据,避免提交或共享。
- MCP自省默认注入Claude Code会话,若不需要请显式传--no-mcp。
- 无CHANGELOG,升级1.1.2前后行为差异需自行比对发布说明或git历史。
- Bedrock直连AWS端点经代理会因SigV4失败,仅打印警告,不要在未读警告时误判为网络故障。
这个 Agent 能做什么,适合哪些场景?
ccglass 是一个本地日志型反向代理加 Web 仪表盘,用于观察编码智能体 CLI 发出的真实请求。它通过改写客户端的 base-URL 环境变量(如 ANTHROPIC_BASE_URL、OPENAI_BASE_URL)把流量引到本地代理,客户端仍然自己做 HTTPS 到真实 API,因此无需 CA 证书,也避开 TLS 固定问题。仪表盘实时展示完整系统提示词、工具 schema、消息历史、token/缓存/费用数据,以及逐轮 diff 和智能体循环的时序图。支持的客户端包括 Claude Code、Codex、DeepSeek-TUI、Reasonix、CodeBuddy、Kimi、OpenCode,以及 Ollama、LM Studio、OpenRouter、AWS Bedrock、Google Vertex AI 等上游。对于硬编码上游地址的客户端(如腾讯 CodeBuddy),它提供带 TLS 中间人的正向代理模式。日志默认脱敏认证令牌,并以内容寻址(git 风格)格式存储在 ~/.ccglass/sessions/ 下。可通过 npm 或 Homebrew 全局安装,一条命令即可启动。
运行 ccglass(或 ccglass claude、ccglass codex 等指定客户端)后,它会启动一个本地代理,通过对应的环境变量把客户端指向代理并自动启动客户端,同时打开 http://127.0.0.1:<port> 的仪表盘。仪表盘功能包括:实时请求流(展开查看系统提示词、消息、工具定义)、按 call_id 配对并着色的智能体循环时序图、任选两轮请求的逐轮 diff(标出缓存断点)、来自响应 usage 的精确 token/缓存命中/估算美元费用、SSE 流重建为最终消息、导出为 raw HTTP / Markdown / JSON / HAR、会话汇总、每请求延迟与延迟趋势图、Copy as cURL、亮暗主题,以及可选的 MCP 自检工具(包装 Claude Code 时注册查询工具,供智能体在聊天中查看自己的请求,--no-mcp 可关闭)。捕获日志以内容寻址格式存于 ~/.ccglass/sessions/<项目路径>-<hash>/,authorization 和 x-api-key 默认打码;ccglass view 可重新打开历史日志仪表盘,migrate 可迁移旧项目 ./.ccglass 目录,export 可导出指定请求。对于无法重定向的 CodeBuddy,ccglass codebuddy 以 HTTP CONNECT + 定向 TLS MITM 拦截 copilot.tencent.com,并自动生成本地 CA 证书。
- 调试智能体提示词的工程师:怀疑 Claude Code 的系统提示词或工具列表与预期不符,用 ccglass 直接查看每轮请求的原始内容。
- 控制 API 成本的团队:通过 token/缓存命中率/每请求估算费用统计,分析某次会话到底花了多少钱、缓存是否生效。
- 排查上下文膨胀的开发者:用逐轮 diff 对比两轮请求,找出新增了哪些上下文块、缓存断点落在哪里。
- 使用本地或第三方模型的用户:通过 ccglass ollama、lmstudio、openrouter、glm 等 provider 检查 OpenAI 兼容客户端的实际请求格式。
- 腾讯 CodeBuddy 用户:由于内置模型硬编码 copilot.tencent.com,需用正向代理模式(HTTP CONNECT + TLS MITM)拦截请求。
- IDE 插件用户(Cursor BYOK、Cline、Continue.dev):用 ccglass proxy 启动仅代理模式,把 IDE 的 API base URL 指向代理地址即可观测。
这个 Agent 有哪些优点和局限?
- 通过 base-URL 环境变量拦截纯 HTTP 本地跳段,客户端自行完成到真实 API 的 HTTPS,无需安装 CA 证书,也避免 TLS 固定和 fetch 补丁失效问题。
- 覆盖面广:原生支持 Claude Code、Codex、DeepSeek-TUI、Reasonix、CodeBuddy、Kimi、OpenCode、Qoder、Ollama、LM Studio、OpenRouter、GLM/Zhipu、Bedrock、Vertex,且有 run + --env-var 通用逃生通道。
- 仪表盘功能完整:实时请求流、智能体循环时序图、逐轮 diff、精确 token/缓存/费用、SSE 重组、导出 raw/MD/JSON/HAR、Copy as cURL、亮暗主题。
- 日志默认脱敏 authorization 和 x-api-key,采用内容寻址存储避免长会话日志二次方膨胀;可选 MCP 自检让智能体在聊天内查询自己的请求。
- Codex 仅在 API-key 模式下可捕获;ChatGPT 登录模式使用 wss://chatgpt.com WebSocket 传输绕过 OPENAI_BASE_URL,仪表盘会为空。
- AWS Bedrock 直连 *.amazonaws.com 端点会因 SigV4 签名 Host 头而失败,只能用于 Bedrock 兼容网关。
- IDE 支持有限制:仅适用于 BYOK 自定义 base URL 模式;Cursor 订阅模型经 api2.cursor.sh 路由,无法拦截。
- CodeBuddy 的 TLS MITM 需要在 IDE 关闭 proxyStrictSSL 并信任自动生成的本地 CA,属侵入性配置;事后需手动清理代理设置。
如何安装或部署这个 Agent?
需要 Node.js ≥ 18。任选其一安装:
npm install -g ccglass或:
brew install jianshuo/tap/ccglass如何使用这个 Agent?
基本用法:
ccglass # 交互式选择要检查的客户端
ccglass claude # 检查 Claude Code(参数透传,如 --resume)
ccglass codex # 检查 Codex(需 API-key 模式,ChatGPT 登录模式走 WebSocket 会绕过代理)
ccglass kimi # 通过 Claude Code 访问 Moonshot,需设置 ANTHROPIC_AUTH_TOKEN
ccglass codebuddy # 正向代理模式,需在 IDE 设置 "http.proxy": "http://127.0.0.1:9999" 且 "http.proxyStrictSSL": false
检查各客户端前需配置对应 API 密钥(如 OPENAI_API_KEY、DEEPSEEK_API_KEY、Zhipu 的 OPENAI_API_KEY)。任意客户端的通用方式:
ccglass run --upstream https://my.custom.api/v1 --env-var MY_CUSTOM_BASE_URL -- my-tool仅代理模式(IDE 场景):
ccglass proxy --provider openai其他常用命令:ccglass view(重开历史日志)、ccglass usage(token/费用汇总)、ccglass export <session>/<seq> --format raw|md||har、ccglass migrate、ccglass rm <session>。仪表盘地址形如 http://127.0.0.1:57633,Ctrl-C 停止。