Claw Code vs Claude Code:一个开源 GitHub 克隆项目揭示了什么 AI Agent 架构
对 GitHub 上的 Claw Code 进行技术拆解——一个用 Rust 和 Python 逆向实现的 Claude Code——以及它与真实产品的接近程度。

如果你搜索过 claw code github,或者想知道 Claude Code open source 是否真的存在,Claw Code 就是人们所指的那个项目。它是 Anthropic 的 Claude Code 的一个开源逆向实现——用 Rust(运行时)和 Python(元数据与移植脚手架)重构而成——让我们得以罕见地窥见一个生产级 AI 编程 Agent 的内部结构。
本指南延续我们一贯的 对比 结构:分别是什么、实际表现如何、Claw Code 在技术上处于什么位置,以及给评估代码库的构建者一个明确结论。
什么是 Claw Code?
Claw Code 是一个开源项目,试图复刻 Claude Code 的核心功能——Anthropic 面向终端和 IDE 的 agentic 编程工具。源代码托管在 GitHub 上并采用开源许可;它与 Anthropic 没有官方关联。
该项目分为两层:
- Python 元数据层:主要作为移植脚手架——跟踪进度、管理会话持久化,并承载基于 dataclass 的 schema。
- Rust CLI 运行时:实现真正的 agentic 对话循环、工具执行、API 流式传输和权限管理。
Claw Code 约有 1,500 行 Python 和 4,000 行 Rust,是一个早期原型。但它确实识别出了支撑 AI 编程 Agent 运作的几个架构模式。
什么是 Claude Code?
Claude Code 是 Anthropic 的专有终端与 IDE 原生 AI 编程助手。它不是开源产品:该产品为闭源,由 Anthropic 分发,并运行在 Claude 模型之上,具备 MCP(Model Context Protocol,模型上下文协议)、subagents、hooks、skills 以及深度 IDE 集成等功能。
当人们询问 Claude Code open source 时,通常是在寻找:(a) 像 GitHub 上的 Claw Code 这样独立的重实现,或 (b) 完全不同的产品(例如多 Agent 桌面协作助手)。Claw Code 明显属于第一类——它是 Claude Code 部分行为的学习与实验镜像,而不是官方发布版本。
Claw Code vs Claude Code:一览
| 维度 | Claw Code(GitHub) | Claude Code(Anthropic) |
|---|---|---|
| 许可 / 代码 | 开源;可在 GitHub 上查看和 Fork | 专有;代码库闭源 |
| 运行时栈 | Rust CLI + Python 脚手架 | TypeScript / Node(内部实现) |
| 模型 | Anthropic API(你自己提供密钥) | 通过 Anthropic 使用 Claude 模型 |
| MCP 可扩展性 | 未实现 | 是真实工作流的核心 |
| Subagents / 并行任务 | 未实现 | 主要产品能力 |
| IDE 集成 | 无 | CLI + VS Code / JetBrains 等 |
| 成熟度 | 原型(约 20–25% 功能面) | 生产级助手 |
这个对比有意设定为不对称:Claw Code 是学习产物和部分重实现;Claude Code 是获得完整平台投入的正式产品。
Claw Code 做对了什么
Agentic 对话循环
Claw Code 最重要的成果,是准确把握了基础的 agentic 循环——任何 AI 编程助手的核心引擎:
User message → API call → Parse response → Execute tools → Feed results back → Repeat
Rust 实现(ConversationRuntime<C, T>)使用基于 trait 的抽象来建模这个循环,分别封装 ApiClient 和 ToolExecutor。这种拆分方式与生产级 Agent 非常一致:模型调用和工具执行保持解耦、可测试、可替换。
SSE 流式传输和 API 集成
API 客户端可以说是 Claw Code 最接近生产可用的部分。它实现了:
- Anthropic 的 Messages API v1,以及 Server-Sent Events(SSE,服务器发送事件)流式传输
- 带缓冲的增量帧解析
- 针对 408、429 和 5xx 响应的指数退避重试逻辑
- 对
cache_creation_input_tokens和cache_read_input_tokens的缓存 token 跟踪 - 通过
ANTHROPIC_API_KEY和ANTHROPIC_AUTH_TOKEN进行身份验证
对于任何在构建自定义 Anthropic 客户端的人来说,这个 crate 都是一个可信的参考实现。
文件操作工具
Claw Code 提供六个核心工具——Bash、Read、Write、Edit、Glob 和 Grep——其行为与 Claude Code 的模型保持一致:
- Edit 使用精确字符串匹配而不是正则表达式,这与 Claude Code 的行为一致,也避免了一类转义 bug。
- Glob 按修改时间排序结果(最新优先)。
- Grep 支持上下文行、多种输出模式和分页。
- Write 会自动创建父目录。
权限模型
三级权限系统(Allow、Deny、Prompt)以及通过 PermissionPolicy 结构体对单个工具进行覆盖,反映了 Claude Code 如何控制工具执行。任何运行 shell 命令并编辑文件的 Agent 都需要这一层——Claw Code 在这方面的设计方向是正确的。
会话压缩
当上下文接近 token 上限时,Agent 必须压缩更早的对话,同时保留最近消息的可用性。Claw Code 的压缩机制——将较早消息摘要到 system prompt 中,同时保留最近的 N 轮——准确捕捉了这种实际工作方式。
重要缺口:缺少什么
虽然 Claw Code 抓住了 AI 编程 Agent 的骨架,但许多将原型与生产工具区分开的系统仍然缺失。
没有 MCP(Model Context Protocol)支持
这是最大的缺口。MCP 是 Claude Code 的可扩展性支柱:外部 MCP 服务器可在运行时为 Agent 提供工具、资源和 prompts。Claw Code 没有 MCP 客户端、传输层、动态发现或资源集成——工具集在构建时就已经固定。
没有 subagent 编排
Claude Code 可以生成嵌套的 Agent 对话和并行工作(带隔离与聚合)。Claw Code 没有实现嵌套对话、工作树隔离、子上下文边界或结果合并。
没有 hook 或 skill 系统
生产版 Claude Code 提供用户可配置的 hooks 和 skill / slash-command 管道。Claw Code 的处理器非常精简(例如只有 /compact),没有 hook 或 skill 发现管道。
system prompt 构建不完整
Prompt 构建器有正确的粗粒度结构,但缺少动态部分,例如 CLAUDE.md 发现、git 状态快照、MCP 服务器指令,以及运行时元数据(日期、模型名称等)。
没有 IDE 集成
用于 VS Code 和 JetBrains 扩展的 bridge 与 server 架构并不存在。
实现质量
Rust 层——扎实基础(7/10)
Rust 代码使用了 #![forbid(unsafe_code)]、基于 trait 的结构,以及一个能处理多行帧和 ping 的 SSE 解析器。粗糙之处包括:会话文件使用自定义 JSON 解析器而不是 serde_json、CLI 入口重叠、默认值硬编码,以及 token 估算过于简单(字符串长度 / 4)。
Python 层——主要是脚手架(3/10)
Python 层在 dataclass 和一致性审计方面很干净,但其中大部分是占位 stub、模拟工具以及空的 remote/SSH 路径。如今真正的运行时价值主要在 Rust 层。
功能对齐评分表
已实现
- 核心 agentic 对话循环
- 六个 MVP 工具(bash、read、write、edit、glob、grep)
- 支持 SSE 的 API 流式客户端
- 会话持久化与压缩
部分实现
- 权限强制执行(有框架,但缺少完整的交互式提示)
- System prompt 构建(有结构,但缺少完整的动态注入)
- 配置文件合并(用户 / 项目 / 本地)
未实现
- MCP 客户端和传输
- Subagent / Agent 工具生成
- 通过 LSP 或扩展实现 IDE bridge
- Skill 系统、hooks、网页搜索工具
- 更智能的上下文预算和成本工具
- Notebook 和 PDF 阅读工具
这对 AI Agent 架构的启示
除了 Claw Code vs Claude Code 的逐项对比之外,这个 GitHub 项目对构建者来说也是一个有价值的样本:
- 循环本身并不难。“调用模型 → 解析工具 → 执行 → 回传”很直接。真正的能力来自 MCP、subagents、hooks、skills 和 IDE bridge。
- 流式传输很重要。 对 CLI Agent 来说,等待完整输出再继续会显得卡顿;Claw Code 在 SSE 上的工作是最值得复用的部分。
- 权限是基本要求,对于 shell 和文件工具尤其如此。
- 上下文仍然很难。 简单压缩在失效前都还行;生产系统需要选择性保留和预算纪律。
结论
Claw Code 大约覆盖了 Claude Code 功能面的 20–25%。Rust 层——API 客户端、循环、文件工具——是有价值的核心。Python 层主要用于记录移植意图。
作为对 claw code github 的研究,以及对非官方 Claude Code open source 风格镜像能展示什么的观察,它是成功的。作为 Claude Code 的即插即用替代品,它还需要在 MCP、编排和集成层投入大量额外工作。
谁应该研究 GitHub 上的 Claw Code?
当你想要以下内容时,选择 Claw Code:
- 阅读一个具体的开源实现,了解 Anthropic 风格的工具循环和 SSE 客户端
- 在不依赖闭源代码的情况下教学或研究 AI 编程 Agent 架构
- Fork 一个 Rust 优先 的基础,并自行投入 MCP
谁应该继续使用 Claude Code?
当你需要 MCP、subagents、IDE 扩展、hooks、skills,以及一个受支持的产品路线时,继续使用 Anthropic 的 Claude Code——而不是一个研究原型。
为什么要把 Eigent 作为更广泛的开源选项来考虑
如果你的目标是超越单一终端编程 Agent 的开源自动化,Eigent 是一个多 Agent 开源协作助手,具备桌面工作流、skills 和多个模型提供方——与阅读 Claw Code 以了解底层 Agent 机制形成互补。
FAQ
GitHub 上的 Claw Code 是什么?
Claw Code 是一个开源项目,使用 Rust CLI 和 Python 元数据层对 Claude Code 的部分功能进行逆向实现。仓库地址是 github.com/instructkr/claw-code。
Claude Code 是开源的吗?
不是。Claude Code 是专有产品。Claw Code 是一个受 Claude Code 行为启发的独立开源项目;它不是 Anthropic 的官方发布版本。
Claw Code 能完全替代 Claude Code 吗?
目前还不能。关键缺口包括 MCP、subagent 编排、IDE 集成,以及完整的工具和 prompt 管道。
Claw Code 是用什么语言写的?
主要是用于运行时的 Rust(约 4k 行)和用于脚手架的 Python(约 1.5k 行)。Claude Code 本身是一个闭源的 TypeScript/Node 产品。
为什么缺少 MCP 很重要?
MCP 是 Claude Code 动态扩展工具的方式。没有它,Claw Code 的工具范围就会固定下来,从而限制真实工作流。
关键要点
- Claw Code GitHub = 开源、教育性质的部分克隆;Claude Code = 专有、完整产品。
- Claw Code 中的核心循环、流式客户端、文件工具和权限机制都很有参考价值;但 MCP、subagents 和 IDE 层还没有实现。
- 搜索 claude code open source 时,你会找到像 Claw Code 这样的项目——它们是有用的参考,而不是功能完备的替代品。
Recent Posts

ChatGPT Work vs Claude Cowork:哪个 Agentic Workspace 更适合你的团队?
对比 ChatGPT Work 和 Claude Cowork,了解哪个 agentic workspace 更适合你的团队工作流、本地文件、治理需求和自动化目标。

ChatGPT Work vs Eigent:云端 Agent 还是开源 AI 员工团队?
从部署、隐私、可扩展性、定价和实际应用场景等方面对比 ChatGPT Work 和 Eigent,帮助你选择合适的 AI 同事。

Codex Cloud 远程工作区:随时随地运行 AI Agent
了解 Codex Cloud 远程工作区如何让 AI agent 在安全的云环境中运行长时编码任务,并支持移动端监督与远程访问。