Claw Code 解析:用 Rust 重写 Claude Code,4 天 18 万 star

2026 年 3 月 31 日,一个叫 ultraworkers/claw-code 的仓库出现在 GitHub 上。4 天后,它积累了 18 万 star、10 万 fork,成为 GitHub 历史上最快突破 10 万 star 的仓库。

这个仓库是什么?它用 Rust 重写了 Claude Code 的核心功能,并且把整个构建过程做成了一个公开的多智能体协作演示。

它是什么

Claw Code 的 README 写得很直接:

Claw Code is the public Rust implementation of the claw CLI agent harness.

本质上,它是一个 CLI 工具,功能对标 Claude Code:读写文件、执行 bash、调用 Claude API、支持 MCP 插件、会话管理、权限控制。用法几乎一样:

# 克隆并构建
git clone https://github.com/ultraworkers/claw-code
cd claw-code/rust
cargo build --workspace

# 设置 API key(需要 Anthropic API key,不支持 Claude 订阅账号登录)
export ANTHROPIC_API_KEY="sk-ant-..."

# 健康检查
./target/debug/claw doctor

# 执行一个 prompt
./target/debug/claw prompt "say hello"

支持的功能列表相当完整:

  • Anthropic / OpenAI 兼容的 provider 和流式输出
  • 交互式 REPL(基于 rustyline)
  • 完整工具系统:bash、read、write、edit、grep、glob
  • Web 工具:搜索、fetch
  • 子 agent / agent 编排
  • Todo 追踪、Notebook 编辑
  • CLAUDE.md / 项目记忆
  • MCP server 生命周期管理
  • 会话持久化与恢复
  • Git 集成
  • 权限系统

Rust 工作区结构

代码主体在 rust/ 目录,是一个 Cargo workspace,包含 9 个 crate:

rust/crates/
├── api/                    # Anthropic/OpenAI API 客户端,流式响应解析
├── commands/               # CLI 子命令实现(prompt、session、doctor 等)
├── compat-harness/         # 兼容性测试框架
├── mock-anthropic-service/ # 确定性 mock Anthropic 服务,用于测试
├── plugins/                # 插件系统
├── runtime/                # 核心运行时:bash、文件操作、沙箱、MCP 桥接、LSP 客户端
├── rusty-claude-cli/       # 主 CLI 入口,REPL,parity 测试 harness
├── telemetry/              # 遥测和日志
└── tools/                  # 工具系统,工具注册和分发

其中 runtime 是核心,负责所有实际执行逻辑:

  • bash.rs(283 LOC):超时控制、后台执行、沙箱隔离
  • file_ops.rs(744 LOC):二进制检测、大小限制、工作区边界校验、符号链接逃逸防护
  • sandbox.rs(385 LOC):探测 unshare 能力而非假设二进制存在
  • permission_enforcer.rs:权限门控,bash 只读模式检查
  • mcp_tool_bridge.rs:MCP 工具生命周期桥接
  • lsp_client.rs:LSP 客户端集成
  • task_registry.rs:任务注册与管理
  • team_cron_registry.rs:团队协作和定时任务

整个项目在 4 天内完成了 292 次提交,48,599 行 Rust 代码,2,568 行测试代码,3 位作者。

它真正想证明的事

README 里有一个 PHILOSOPHY.md 文件,这才是理解这个项目的关键。

文件的第一句话是:

If you only look at the generated files in this repository, you are looking at the wrong layer.

Claw Code 不只是一个 Claude Code 的 Rust 替代品。它是一个公开的演示:当多个 AI agent 协调工作时,一个完整的工程项目能在多短的时间内构建完成

整个系统由三部分组成:

1. oh-my-codex(工作流层)

把短指令转化为结构化执行:规划关键词、执行模式、持续验证循环、并行多 agent 工作流。一句话变成可重复的工作协议。

2. clawhip(事件路由层)

监听 git commit、tmux session、GitHub issue/PR、agent 生命周期事件,把通知路由到 Discord 频道。它的核心作用是把监控和通知移出编码 agent 的 context window,让 agent 专注于实现,而不是格式化状态报告。

3. oh-my-openagent(多 agent 协调层)

处理规划、任务交接、分歧解决、跨 agent 验证循环。当 Architect、Executor、Reviewer 三个 agent 意见不一致时,这一层提供收敛机制而不是崩溃。

人类的接口是 Discord 频道。一个人用手机发一句话,走开去做别的事,agent 读取指令、拆解任务、分配角色、写代码、跑测试、处理失败、恢复、在代码通过后 push。

测试体系:mock parity harness

项目有一套值得关注的测试框架——mock parity harness。

核心思路是:用一个确定性的 mock Anthropic 服务替代真实 API,在干净环境中跑端到端 CLI 测试,验证行为与原始 Claude Code 一致。

cd rust/
# 运行 mock parity harness
./scripts/run_mock_parity_harness.sh

# 或者手动启动 mock 服务做 ad hoc 测试
cargo run -p mock-anthropic-service -- --bind 127.0.0.1:0

覆盖的场景包括:

  • streaming_text:流式文本响应
  • read_file_roundtrip:文件读取完整流程
  • grep_chunk_assembly:grep 结果分块组装
  • write_file_allowed / write_file_denied:写入权限控制
  • multi_tool_turn_roundtrip:多工具调用轮次
  • bash_stdout_roundtrip:bash 输出流程
  • bash_permission_prompt_approved / bash_permission_prompt_denied:权限弹窗
  • plugin_tool_roundtrip:插件工具执行路径

这套 harness 的价值在于:不依赖真实 API key,测试结果确定性强,可以在 CI 中稳定运行。

9-lane 并行开发

PARITY.md 记录了整个开发过程的一个有趣细节:9 个功能 lane 并行开发,全部合并到 main。

Lane功能代码量
1Bash 验证(只读、破坏性命令警告、路径校验)+1004 LOC
2CI 修复(sandbox 能力探测)+22/-1 LOC
3文件工具边界(二进制检测、大小限制、工作区边界)+195/-1 LOC
4TaskRegistry+336 LOC
5Task 接线+79/-35 LOC
6Team + Cron 注册+441/-37 LOC
7MCP 生命周期+491/-24 LOC
8LSP 客户端+461/-9 LOC
9权限执行+357 LOC

9 个 lane 同时推进,4 天内全部合并。这不是一个人能做到的速度,也印证了 PHILOSOPHY.md 里说的:这个项目本身就是多 agent 并行开发的产物。

为什么是 Rust

原始的 Claude Code 是 TypeScript/Node.js 实现。选择 Rust 重写有几个明显的工程动机:

  • 性能:CLI 工具启动延迟对用户体验影响显著,Rust 的启动速度远快于 Node.js
  • 内存安全:agent 工具系统涉及文件操作、bash 执行、沙箱隔离,Rust 的所有权模型在编译期消除了大量安全问题
  • 类型系统:工具注册、权限门控、MCP 协议这类状态机逻辑,在 Rust 的类型系统下更容易表达正确性
  • 跨平台二进制:Rust 编译产物是单一静态二进制,分发和部署比 Node.js 生态简单

README 里也明确提示了一个陷阱:cargo install claw-code 会安装错误的东西——crates.io 上有一个同名的废弃 stub,只会打印 "claw-code has been renamed to agent-code"。正确的做法是从源码构建,或者安装上游的 agent-code crate。

这件事的意义

4 天,18 万 star,48,000 行 Rust 代码,9 个并行开发 lane,292 次提交——这些数字本身就是一个信号。

PHILOSOPHY.md 里有一段话说得很清楚:

When agent systems can rebuild a codebase in hours, the scarce resource becomes: architectural clarity, task decomposition, judgment, taste, conviction about what is worth building, knowing which parts can be parallelized and which parts must stay constrained.

编码速度不再是瓶颈。当 agent 系统能在数小时内重建一个代码库,稀缺的资源变成了:架构清晰度、任务分解能力、判断力、品味、对值得构建什么的坚定认知、以及知道哪些部分可以并行、哪些部分必须保持约束。

Claw Code 本身是一个工具。但它背后的协调系统——Discord 作为人机接口、clawhip 做事件路由、oh-my-openagent 做多 agent 协调——才是这个项目真正想展示的东西。

代码是证据。协调系统才是产品。