它是什么
一个"不是产品"的软件项目:一套三件套的 AI 编程工具,加上一份由智能体自己书写的"过程标本"。读完本页约 12 分钟。
一座"软件博物馆展品"
Claw Code 是 UltraWorkers 工具链里的一个公开仓库。作者在第一屏就把话说死:"这不是一个严肃的生产项目,更接近一座博物馆展品"——一个由带钳子的智能体(claws)维持的、被 agent 清扫和贴标签的、按既定流程自动维护的构件。
这个姿态很关键。它意味着:代码只是副产品,真正的展品是"产出这些代码的协调系统"。你想跑正经工作,应该去看它的上游 LazyCodex / Gajae-Code;想研究"AI 怎么自主维护一个仓库",就留下来看这座标本。
三件套工具
仓库里真正能跑的东西,其实是三个互相配合的 Rust 程序,共享同一套底层 crates(api / runtime / tools):
claw(rusty-claude-cli)
完整版 agent 命令行:交互式 REPL、55+ 工具、会话持久化、权限模式、MCP 与插件。面向日常开发者的"全功能工人"。
claw-analog
精简安全壳:没有任意 bash,只有受限的文件系统工具(read/list/glob/grep,可选 write),配显式权限模式和 NDJSON 输出。面向 CI、脚本和外部 agent 的"上锁工人"。
claw-rag-service
独立 HTTP 服务:仓库分块 + 向量化入 SQLite(可换 Qdrant),提供 /v1/query 语义搜索,agent 通过 retrieve_context 工具接入。是"资料员"。
为什么要拆成三件?因为三个使用场景的风险不同:开发者可以承担完整权限,而自动化必须最小化攻击面。claw-analog 把"危险的能力"(任意命令执行)从默认场景里拿掉,只留可审计的窄工具——这是"让 agent 干活"和"让自动化敢用"之间的妥协点。
claw 的命令行表面
主二进制 claw 的顶层子命令(25 个),大致可分四类:
| 类别 | 子命令 |
|---|---|
| 对话 | prompt <text>(一次性)、无参数进入 REPL、--resume 恢复会话 |
| 诊断 | doctor(健康检查)、status、sandbox、version |
| 资源 | agents、mcp、skills、system-prompt、plugins(经 /plugin) |
| 工程 | init(初始化项目)、dump-manifests、bootstrap-plan、state、config |
常用启动参数:--model(选模型)、--permission-mode(三档权限)、--allowedTools(工具白名单)、--output-format json(给自动化)、--cwd(指定工作区)。一个值得注意的细节:JSON 错误走 stdout、文本错误走 stderr——这是为脚本设计的约定。
与参考实现 Claude Code 的对照
claw-code 自称"Claude Code 风格的 CLI agent harness",并且明确声明不声称拥有 Claude Code 源码、与 Anthropic 无关联。对照 ccleaks.com/leaks(对 Claude Code 泄露源码的公开分析),能看到几个非常有意思的对应关系:
| Claude Code(泄露源码分析) | claw-code | 说明 |
|---|---|---|
/ultraplan、/teleport、/bughunter 是 26 个"未文档化命令"中的隐藏项 | 三个命令在 claw-code 的 REPL 里是一等公民、文档齐全 | 开源实现把隐藏能力"转正"了,是绝佳的对照学习点 |
YOLO 自动授权:classifyYoloAction() 让模型自己判断能否免确认执行工具 | 显式三级权限 + --allowedTools 白名单 + PermissionEnforcer 前置拦截 | 同一问题的两种答案:模型自治 vs 显式闸门 |
上下文管理:auto-compact、context collapse、CLAUDE_CODE_MAX_CONTEXT_TOKENS | 会话持久化 + compaction + --resume,成本/token 统计 | 上下文是稀缺资源,两边都在做"省上下文" |
对照的价值:闭源参考实现用泄露源码才能看清的能力面,开源实现直接把设计摊开给你看。研究 claw-code 等于用一套可读的代码,去理解一类产品的通用工程问题。
概念文档 · 三件套设计concept.md(原文为俄语,此处为中文节译)▶
参考对照 · Claude Code 泄露源码的规模ccleaks.com/leaks(外部参考)▶
对账快照 · 体量数字PARITY.md▶
思考题
Q1 · "代码是副产品,系统才是展品"——你能从仓库里举出一个"系统痕迹"而不是"代码"的例子吗?
提示:goals.json 的 evidence 字段、verification-map 文档、anti-slop 政策——它们不是为了运行而存在的。
Q2 · 三件套里,为什么"无 bash 的 claw-analog"和"全功能的 claw"要分开做?合二为一会有什么问题?
提示:攻击面(agent 能执行任意命令的风险)与自动化场景的可控性。
Q3 · 对照 ccleaks:Claude Code 的 /ultraplan、/teleport 是隐藏命令,claw-code 却把它们文档化。你猜这背后反映了开源/闭源项目怎样的不同动机?
提示:闭源把能力当秘密武器,开源把能力当公共知识——但也要警惕"功能对齐"是否只是表面功夫。