ClawCodex:用 27 万行 Python 重写 Claude Code,成本能省多少?
令牌高效的 Claude 代码完整 Python 重建。 270K LoC 纯 Python 中的 AI 编码代理。成本节省高达 200 倍!
秒懂
- 它是什么?
- ClawCodex 是一个纯 Python 实现的 Claude Code 兼容终端代理,主打 token 压缩与 DeepSeek 前缀缓存,号称最高节省 200 倍成本。本文拆解它的机制、安装方式和真实边界。
- 适合谁用?
- ClawCodex 适合两类人:一是长期跑 DeepSeek 等便宜模型、对 token 账单敏感的开发者,二是想在浏览器或桌面端复用同一会话的团队。不适合追求与 Claude Code 官方行为完全一致的用户,因为它的非 nano 模式虽声称字节级一致,但 benchmark 结果依赖特定模型版本(如 claude-opus-5),换模型后分数可能变化。
- 能商用吗?
- 可以。MIT 是宽松许可证:你可以使用、修改并销售基于它的软件,只需保留版权和许可证声明。
- 还在维护吗?
- 在维护。仓库最近一次提交在 4 天前。
- 用什么语言写的?
- 主要是 Python(依据 GitHub 的语言统计)。
以上回答依据项目的 GitHub 数据(最近同步于 2026年9月14日)和我们的分析,不构成法律意见。
开源项目深度解析
它解决的问题:Claude Code 的 token 账单太贵
Claude Code 是 Anthropic 官方的终端编程代理,但它的 TypeScript 实现消耗大量 token,每次请求都要携带完整的 system、工具定义和历史记录。ClawCodex 的定位是用纯 Python 重写这个参考实现,同时加入两个针对成本的机制:/eco 压缩 Bash 输出,以及 DeepSeek 前缀缓存。README 给出的数字是 27 个真实命令输出经过压缩后,token 从 92,989 降到 17,767,减少 80%。这个测量是项目自己做的,没有第三方复现,但至少说明压缩逻辑有明确的效果目标。适合的用户是那些已经用 Claude Code 工作流、但觉得 API 费用失控的独立开发者和中小团队。
核心机制:/eco 怎么做到 80% 压缩而不丢关键信息
/eco 不是简单的截断。根据 README 描述,它包含一组确定性过滤器:失败摘要只保留错误行,去掉 git、pip、npm 的仪式性输出,对日志去重,并对可恢复的头部做上限截断。关键设计是“有损内容落盘”,任何被压缩掉的信息都写到磁盘,用户可以用 tail 命令找回。这解决了压缩代理最常见的痛点:为了省 token 而丢失调试线索。另一个细节是它保证“never worse than the raw rendering”,即压缩后的输出不会比原始渲染更差,这个承诺听起来强,但实际取决于过滤器的实现质量。README 没有给出过滤器的具体规则,所以无法验证边界情况,比如多行错误堆栈是否会被误删。
DeepSeek 前缀缓存:省钱的关键在字节稳定性
ClawCodex 的第二个成本机制是让请求前缀保持字节稳定,从而命中 DeepSeek 的 prompt cache。DeepSeek 对缓存命中的输入收费是每百万 token 0.022 美元,而 README 对比的 Claude Fable 5 是 10 美元,差距约 450 倍。这个数字是 2026-08-25 检查的 off-peak 价格,DeepSeek 在高峰时段会翻倍,但仍然便宜。实现上,ClawCodex 需要确保 system、tools 和历史记录在每轮请求中不产生任何字节变化,否则缓存会失效。README 提到 /cost 命令会跟随 DeepSeek 的峰谷时段计费,说明它内部有调度逻辑。这个机制对长会话特别有效,因为前缀越长,缓存命中节省的 token 越多,但前提是你使用 DeepSeek 作为 provider,如果你用其他模型,这个优势就不存在。
--nano 模式:一个 2K token 的极简替代品
--nano 是 ClawCodex 内置的轻量模式,模仿 pi.dev 的 harness 设计。它只有六个工具,固定请求负载约 2K token,对比默认模式的约 16K token,而且没有每轮注入。README 给出的对比结果是 nano 在 Terminal-Bench 2.1 上 64/89(71.9%),花费 1.31 美元,而 pi 是 63/89(70.8%),花费 2.01 美元,nano 更便宜且分数略高。这个模式适合快速任务或资源受限的环境,但代价是工具集大幅缩减,复杂任务可能需要默认模式。注意 README 强调 nano 模式的行为与默认模式“byte-identical”不同,它使用多编辑和模糊匹配的编辑阶梯,所以如果你依赖默认模式的某些特性,nano 可能不兼容。
安装与配置:一行命令,但依赖 Python 3.10+
安装方式很直接:macOS/Linux 用 curl 管道脚本,Windows 用 PowerShell 命令,两者都会安装 uv、Python 3.10+ 并把 clawcodex 加入 PATH。安装后运行 `clawcodex login` 进入交互式 provider 和 API key 设置,配置写入 `~/.clawcodex/config.json`。最小配置示例显示需要 `default_provider` 和 `providers` 块,其中 `base_url` 和 `default_model` 是关键。WebSearch 工具需要 `TAVILY_API_KEY`,没有它该工具不可用,这是一个硬性依赖。手动安装方式是从源码 clone,创建 venv 后 `pip install -r requirements.txt`,然后 `python -m src.cli login` 启动。注意 Windows 原生安装需要 Git for Windows,因为 shell 工具依赖 Git Bash 执行命令。
Web 和桌面界面:同一进程,多端会话
v1.6.0 引入了 ClawCodex Web,用 `clawcodex web` 启动一个在 127.0.0.1:8081 的界面。关键设计是它不是一个独立服务器,而是浏览器驱动同一个进程内的代理、JSON-RPC 网关和持久化会话存储。这意味着你可以在 TUI 里开始一个会话,然后在浏览器里继续,桌面应用也共享同一套存储。Web UI 提供三栏布局、流式回复、工具卡片、权限审批和提示队列,还有一个 Trajectory 视图显示每次模型请求和工具调用的时间线,包含 token 和缓存命中率。这个设计解决了多设备切换的痛点,但 README 没有说明 Web 界面的安全性,比如它是否绑定 localhost 还是暴露到局域网,这需要用户自己检查。
真正的限制:benchmark 依赖特定模型,压缩有损
ClawCodex 的 Terminal-Bench 2.1 成绩 80.9% 是在 Claude Opus 5 上跑出来的,而且是一次运行(k=1),对比榜单上其他模型的 k=5 平均值。这意味着分数有运气成分,换一个模型或换一次运行可能波动。README 自己也说 nano 模式与 pi 的对比是 head-to-head,但那是特定设置下的结果。另一个限制是 /eco 的压缩是有损的,虽然错误行被保留,但其他信息被丢弃并写到磁盘,如果磁盘文件被清理或用户忘记 tail,可能丢失上下文。最后,ClawCodex 是重写而非官方实现,所以与 Claude Code 的插件生态或某些高级功能可能不兼容,README 没有列出兼容性清单,这是采用前需要验证的。
编辑结论
ClawCodex 适合两类人:一是长期跑 DeepSeek 等便宜模型、对 token 账单敏感的开发者,二是想在浏览器或桌面端复用同一会话的团队。不适合追求与 Claude Code 官方行为完全一致的用户,因为它的非 nano 模式虽声称字节级一致,但 benchmark 结果依赖特定模型版本(如 claude-opus-5),换模型后分数可能变化。采用前先验证三件事:用 `clawcodex doctor` 检查环境,用 `clawcodex verify` 确认安装完整性,再在真实项目里跑一次 `/eco` 对比原始输出,确认压缩没有丢掉关键错误信息。MIT 许可证允许商用和修改,但如果你依赖 WebSearch 工具,必须准备 Tavily API key,否则该工具不可用。
社区笔记