Revise README-CN with latest updates and project details

Updated README-CN.md to include recent developments and project comparisons.
This commit is contained in:
Shangding Gu
2026-04-03 10:42:31 -07:00
committed by GitHub
parent 1d4ffa964d
commit fa8e3d407d

View File

@@ -1,23 +1,96 @@
# claude-code-source-code # Claude Code 开源代码合集
> Claude Code 源码档案与 Python 重写的研究仓库 > Claude Code 源码档案与 Python 重写的研究仓库
本仓库包含两个子项目,从不同角度对 Claude CodeAnthropic 官方 CLI 工具)进行深度研究: ## 🔥🔥🔥 最新动态(太平洋时间)
| 子项目 | 语言 | 性质 | 文件数 | - 2026年4月2日 12:20[Nano Claude Code v3.0多智能体包multi_agent/、记忆包memory/、技能包skill/内置技能、参数替换、fork/inline 执行、AI 记忆搜索、git worktree 隔离、代理类型定义(~5000 行 Python](https://github.com/SafeRL-Lab/nano-claude-code)
|--------|------|------|--------| - 2026年4月2日 07:40[Nano Claude Code v2.0:最小 Python 重实现(~3400 行),支持开源与闭源模型、技能与记忆](https://github.com/SafeRL-Lab/nano-claude-code)
| [claude-code-source-code](#一-claude-code-source-code) | TypeScript | 反编译源码档案v2.1.88 | 1,884 个 | - 2026年4月1日 08:36[Nano Claude Code v1.0:最小 Python 重实现(~1300 行)](https://github.com/SafeRL-Lab/nano-claude-code)
| [claw-code](#二-claw-code) | Python | 清室架构重写 | 66 个 | - 2026年4月1日 00:20[Claude Code 源码解析(视频:中文)](https://www.youtube.com/watch?v=xsg6_Gvr2J0&t=10s)
- 2026年3月31日 19:45[Claude Code 研究报告(中文)](https://github.com/chauncygu/collection-claude-code-source-code/blob/main/docs/claude-code-deep-dive-xelatex.pdf)
- 2026年3月31日 17:13[Claude Code 架构分析(中文)](https://mp.weixin.qq.com/s?__biz=MzI0ODk2NDIyMQ==&mid=2247502519&idx=1&sn=1072dd7a822a78709bc7cc3bf0e1dcc2&chksm=e8de6705e2bacc854211663aa02903738560f9e858eb6ce72b94c32fdbf67917badfab2d6536&mpshare=1&scene=1&srcid=0401KpkqfaXFBReRof6AwJ74&sharer_shareinfo=30fa54f1602d1d8bb1a65e7008074e08&sharer_shareinfo_first=30fa54f1602d1d8bb1a65e7008074e08#rd)
- 2026年3月31日 16:43[Claude Code 功能全览(中文)](https://mp.weixin.qq.com/s?__biz=MzAxODI5ODMwOA==&mid=2666572944&idx=1&sn=c54e34711e67a2e961acb341f51d2190&chksm=81ca164af949bdfe90a616c8ef8d7e729116a4a12a480cd9d012f42f5b8d7ecd6d05e284db09&mpshare=1&scene=1&srcid=04017JkKs9qrCh4AHcfZq7qL&sharer_shareinfo=95eb268167dd1b3d98271b8b26e7553e&sharer_shareinfo_first=95eb268167dd1b3d98271b8b26e7553e#rd)
- 2026年3月31日 15:00[Hacker News 社区关于 Claude Code 泄露的讨论](https://news.ycombinator.com/item?id=47586778)
- 2026年3月31日 11:48[Anthropic 如何为 Claude Code 构建 7 层记忆与梦境系统](https://x.com/troyhua/status/2039052328070734102)
- 2026年3月31日 09:50[Claude Code 记忆系统解析](https://x.com/henryl_ai/status/2039022608310808965)
- 2026年3月31日 09:48[Claude Code 源代码疑似泄露:我们目前所知道的](https://venturebeat.com/technology/claude-codes-source-code-appears-to-have-leaked-heres-what-we-know)
- 2026年3月31日 09:04[拆解 Claude Code 架构(中文)](https://mp.weixin.qq.com/s?__biz=MzA3NzUxMzM5MQ==&mid=2453898430&idx=1&sn=1c4051fb17a15b17e449b7eb85d3e1c5&chksm=897cc501d472cdd6916679a0766ab146b5347bc78e48171d9da97de282a05c10eea8d22c3605&mpshare=1&scene=1&srcid=0401oXuLa2VmhvrcRZk7VHfH&sharer_shareinfo=e7ff02258e887208db510104bc343079&sharer_shareinfo_first=6c39c564855be1e2372289b5c09b6247#rd)
- 2026年3月31日 07:07[逐步解读 Claude Code 源码(中文)](https://mp.weixin.qq.com/s?__biz=MjM5ODI5Njc2MA==&mid=2655937729&idx=1&sn=0afb97062ef5f229910e3e54dd36abb6&chksm=bc66bca5b0f4171b56075506f208efea18381031c5ffa33070701ee1200bef7e411ea10188e9&mpshare=1&scene=1&srcid=0331PBEUSD8CVryQYEluyZbc&sharer_shareinfo=c5a329d2cc3ec432238f5fc1d9d70723&sharer_shareinfo_first=c5a329d2cc3ec432238f5fc1d9d70723#rd)
- 2026年3月31日 05:41[Claude Code 为何优于其他工具:深度分析](https://x.com/YukerX/status/2038959908968919297)
- 2026年3月31日 05:03[Anthropic AI 编程工具再次泄露自身源代码](https://www.ndtv.com/science/anthropics-ai-coding-tool-leaks-its-own-source-code-for-the-second-time-in-a-year-11291517)
- 2026年3月31日 03:28[Claude Code 源码曝光:提示词、自愈机制与多代理架构(中文)](https://mp.weixin.qq.com/s?__biz=MzI3ODY3ODg2Nw==&mid=2247484425&idx=1&sn=f77d3b97e88cb8019f014ca2eb95db65&chksm=ea98ee5bb2249e1c637520cf02b525b98b434671f2cc23ec554e5faa868e890deeead939c578&mpshare=1&scene=1&srcid=0401kVgDQ41tx7AECPzvch3W&sharer_shareinfo=5d97c04d957d52383c9b59245e421c5a&sharer_shareinfo_first=5d97c04d957d52383c9b59245e421c5a#rd)
- 2026年3月31日 03:02[社区对 Claude Code 源码曝光的反应](https://x.com/hank_aibtc/status/2038919948370616330)
- 2026年3月31日 02:57[Claude Code 背后的代码](https://x.com/mal_shaik/status/2038918662489510273)
- 2026年3月31日 01:23[关于 Claude Code 源码泄露的病毒式传播帖子](https://x.com/Fried_rice/status/2038894956459290963?s=20)
--- ---
## 一、claude-code-source-code ## 目录
Claude Code v2.1.88 的反编译/解包源码,从 npm 包 `@anthropic-ai/claude-code@2.1.88` 还原,约 163,318 行 TypeScript 代码。 - [一、original-source-code](#一original-source-code)
- [二、claude-code-source-code](#二claude-code-source-code)
- [整体架构](#整体架构)
- [核心执行流程](#核心执行流程)
- [技术栈](#技术栈)
- [主要模块说明](#主要模块说明)
- [工具系统40+ 工具)](#工具系统40-工具)
- [斜杠命令(~87 个)](#斜杠命令87-个)
- [权限系统](#权限系统)
- [上下文管理](#上下文管理)
- [分析文档docs/](#分析文档docs)
- [三、claw-code](#三claw-code)
- [整体架构](#整体架构-1)
- [核心类](#核心类)
- [CLI 命令](#cli-命令)
- [设计特点](#设计特点)
- [四、nano-claude-code](#四nano-claude-code)
- [功能特性](#功能特性)
- [支持的模型](#支持的模型)
- [项目结构](#项目结构)
- [四个项目对比](#四个项目对比)
- [许可与声明](#许可与声明)
---
本仓库包含四个子项目,从不同角度对 Claude CodeAnthropic 官方 CLI 工具)进行深度研究:
| 子项目 | 语言 | 性质 | 文件数 |
|--------|------|------|--------|
| [original-source-code](#一original-source-code) | TypeScript | 原始泄露源码档案 | 1,884 个 |
| [claude-code-source-code](#二claude-code-source-code) | TypeScript | 反编译源码档案v2.1.88+ 文档 | 1,940 个 |
| [claw-code](#三claw-code) | Python | 清室架构重写 | 109 个 |
| [nano-claude-code](#四nano-claude-code) | Python | 最小化多模型提供商重实现 | ~30 个 |
---
## 一、original-source-code
2026 年 3 月 31 日原始泄露的 Claude Code TypeScript 源码,按原始状态完整保存。包含 1,884 个 TypeScript/TSX 文件(打包为 `src.zip`,约 9.5MB),覆盖完整的 `src/` 目录树——正是这批文件引发了社区讨论和后续研究。
```text
original-source-code/
├── src/ # 完整 TypeScript 源码树1,884 个 .ts/.tsx 文件)
│ ├── main.tsx # CLI 入口
│ ├── query.ts # 核心代理循环
│ ├── commands.ts # 斜杠命令定义
│ ├── tools.ts # 工具注册
│ └── ... # 其余所有源码目录(与 claude-code-source-code/src 结构相同)
├── src.zip # 压缩档案(~9.5MB
└── readme.md
```
此目录作为未修改的原始参考快照保存,未添加任何注释、文档或构建工具。如需研究注解版本,请使用 `claude-code-source-code`
---
## 二、claude-code-source-code
Claude Code v2.1.88 的反编译/解包源码,从 npm 包 `@anthropic-ai/claude-code@2.1.88` 还原,约 163,318 行 TypeScript 代码,并附有深度分析文档。
### 整体架构 ### 整体架构
``` ```text
claude-code-source-code/ claude-code-source-code/
├── src/ ├── src/
│ ├── main.tsx # CLI 入口与 REPL 引导4,683 行) │ ├── main.tsx # CLI 入口与 REPL 引导4,683 行)
@@ -63,7 +136,7 @@ claude-code-source-code/
### 核心执行流程 ### 核心执行流程
``` ```text
用户输入 用户输入
processUserInput() # 解析 /slash 命令 processUserInput() # 解析 /slash 命令
@@ -138,13 +211,13 @@ yield SDKMessage # 流式返回给消费者
--- ---
## 、claw-code ## 、claw-code
对 Claude Code 的 Python 清室重写(不包含原始代码副本),专注于架构镜像与研究。由 [@instructkr](https://github.com/instructkr)Sigrid Jin完成成为全球最快达到 30K stars 的 GitHub 仓库之一。 对 Claude Code 的 Python 清室重写(不包含原始代码副本),专注于架构镜像与研究。由 [@instructkr](https://github.com/instructkr)Sigrid Jin完成成为全球最快达到 30K stars 的 GitHub 仓库之一。
### 整体架构 ### 整体架构
``` ```text
claw-code/ claw-code/
├── src/ ├── src/
│ ├── __init__.py # 包导出接口 │ ├── __init__.py # 包导出接口
@@ -244,25 +317,142 @@ tool-pool # 工具池组装视图
- **快照驱动**:通过 JSON 快照文件加载命令/工具元数据,无需完整实现逻辑 - **快照驱动**:通过 JSON 快照文件加载命令/工具元数据,无需完整实现逻辑
- **清室重写**:不包含原始 TypeScript 代码,独立实现 - **清室重写**:不包含原始 TypeScript 代码,独立实现
- **奇偶审计**:内置 `parity_audit.py` 追踪与原实现的差距 - **奇偶审计**:内置 `parity_audit.py` 追踪与原实现的差距
- **轻量架构**66 个文件实现核心框架,适合学习与扩展 - **轻量架构**109 个文件实现核心框架,适合学习与扩展
--- ---
## 两个项目对比 ## 四、nano-claude-code
| 维度 | claude-code-source-code | claw-code | Claude Code 的最小化可运行 Python 重实现(~5,000 行)。与专注架构映射的 `claw-code` 不同nano-claude-code 是一个真正可立即使用的编程助手。支持 20+ 闭源模型和本地开源模型,已从 ~900 行原型成长为具备多智能体编排、持久记忆和技能系统的 v3.0 版本。
|------|------------------------|-----------|
| 语言 | TypeScript | Python | ### 功能特性
| 代码量 | ~163,000 行 | ~5,000 行 |
| 性质 | 反编译源码档案 | 清室架构重写 | | 功能 | 详情 |
| 功能完整度 | 完整100% | 架构框架(~20% | |------|------|
| 核心循环 | `query.ts`785KB | `QueryEnginePort`~200 行) | | 多模型提供商 | Anthropic · OpenAI · Gemini · Kimi · Qwen · Zhipu · DeepSeek · Ollama · LM Studio · 自定义端点 |
| 工具系统 | 40+ 完整实现 | 快照元数据 + 执行框架 | | 交互式 REPL | readline 历史、Tab 补全斜杠命令 |
| 命令系统 | ~87 个完整实现 | 快照元数据 + 执行框架 | | 代理循环 | 流式 API + 自动工具调用循环 |
| 主要用途 | 深度学习完整实现细节 | 架构理解、移植研究 | | 18 个内置工具 | Read · Write · Edit · Bash · Glob · Grep · WebFetch · WebSearch · MemorySave · MemoryDelete · MemorySearch · MemoryList · Agent · SendMessage · CheckAgentResult · ListAgentTasks · ListAgentTypes · Skill · SkillList |
| Diff 视图 | Edit 和 Write 操作的 Git 风格红绿差异显示 |
| 上下文压缩 | 自动压缩长对话,保持在模型上下文限制内 |
| 持久记忆 | 双作用域记忆(用户 + 项目4 种类型AI 搜索,过期警告 |
| 多智能体 | 生成类型化子代理coder/reviewer/researcher/…git worktree 隔离,后台模式 |
| 技能系统 | 内置 `/commit` · `/review` + 支持参数替换和 fork/inline 执行的自定义 Markdown 技能 |
| 插件工具 | 通过 `tool_registry.py` 注册自定义工具 |
| 权限系统 | `auto` / `accept-all` / `manual` 三种模式 |
| 17 个斜杠命令 | `/model` · `/config` · `/save` · `/cost` · `/memory` · `/skills` · `/agents` · … |
| 上下文注入 | 自动加载 `CLAUDE.md`、git 状态、当前目录、持久记忆 |
| 会话持久化 | 保存/加载对话至 `~/.nano_claude/sessions/` |
| 扩展思考 | 开启/关闭(仅限 Claude 模型) |
| 成本追踪 | Token 用量 + 估算 USD 费用 |
| 非交互模式 | `--print` 参数用于脚本/CI 场景 |
### 支持的模型
**闭源API** ClaudeAnthropic、GPT / o 系列OpenAI、GeminiGoogle、KimiMoonshot AI、Qwen阿里云百炼、GLM智谱、DeepSeek
**开源(本地,通过 Ollama** llama3.3/3.2、qwen2.5-coder、deepseek-r1、phi4、mistral、mixtral、gemma3、codellama 及 `ollama list` 中的任意模型
**自托管:** vLLM、LM Studio 或任何通过 `CUSTOM_BASE_URL` 配置的 OpenAI 兼容端点
### 项目结构
```text
nano-claude-code/
├── nano_claude.py # 入口REPL + 斜杠命令 + 渲染 (~748 行)
├── agent.py # 代理循环:消息格式 + 工具分发 (~174 行)
├── providers.py # 多提供商适配器 + 消息格式转换 (~507 行)
├── tools.py # 工具分发 + 所有包的自动注册 (~467 行)
├── tool_registry.py # 中央工具注册表 + 插件入口 (~98 行)
├── context.py # 系统提示构建CLAUDE.md + git + 记忆 (~135 行)
├── compaction.py # 上下文压缩auto-compact (~196 行)
├── config.py # 配置加载/保存/默认值 (~72 行)
├── memory.py # 向后兼容 shim → memory/
├── skills.py # 向后兼容 shim → skill/
├── subagent.py # 向后兼容 shim → multi_agent/
├── memory/ # 持久记忆包
│ ├── store.py # 记忆条目的保存/加载/删除/搜索
│ ├── scan.py # 索引扫描、新鲜度助手
│ ├── context.py # 系统提示注入 + AI 排名搜索
│ ├── types.py # MEMORY_TYPES 定义
│ └── tools.py # MemorySave · MemoryDelete · MemorySearch · MemoryList
├── skill/ # 技能系统包
│ ├── loader.py # SkillDef、文件解析、参数替换
│ ├── builtin.py # 内置技能:/commit、/review
│ ├── executor.py # inline + fork 执行模式
│ └── tools.py # Skill · SkillList
├── multi_agent/ # 多智能体编排包
│ ├── subagent.py # AgentDefinition、SubAgentTask、SubAgentManager、worktree 工具
│ └── tools.py # Agent · SendMessage · CheckAgentResult · ListAgentTasks · ListAgentTypes
├── tests/ # 101 个测试monkeypatch不触碰真实 ~/.nano_claude/
├── docs/ # 文档与演示素材
└── requirements.txt
```
**快速开始:**
```bash
pip install anthropic openai httpx rich
export ANTHROPIC_API_KEY=sk-ant-...
python nano_claude.py
# 启动时切换模型
python nano_claude.py --model gpt-4o
python nano_claude.py --model ollama/qwen2.5-coder
# 非交互 / CI 场景
python nano_claude.py --print "写一个 Python 斐波那契函数" --accept-all
```
**记忆**——跨会话持久化,双作用域(用户 `~/.nano_claude/memory/` 和项目 `.nano_claude/memory/`
```
/memory # 列出所有记忆(含新鲜度信息)
MemorySave(name="...", type="feedback", content="...", scope="user")
MemorySearch(query="...", use_ai=True)
```
**技能**——可复用提示模板,在 REPL 中直接调用:
```
/commit # 内置:审查暂存变更并创建 git commit
/review 123 # 内置:审查 PR #123
/skills # 列出所有可用技能及触发词和参数提示
```
**多智能体**——生成类型化子代理,支持可选的 git worktree 隔离:
```
Agent(prompt="...", subagent_type="coder", isolation="worktree", wait=False)
SendMessage(agent_name="my-agent", message="...")
/agents # 显示所有活跃和已完成的子代理任务
```
---
## 四个项目对比
| 维度 | original-source-code | claude-code-source-code | claw-code | nano-claude-code |
|------|---------------------|------------------------|-----------|-----------------|
| 语言 | TypeScript | TypeScript | Python | Python |
| 代码量 | ~163,000 行 | ~163,000 行 + 文档 | ~5,000 行 | ~5,000 行 |
| 性质 | 原始泄露源码档案 | 反编译源码档案 + 分析 | 清室架构重写 | 最小化功能重实现 |
| 功能完整度 | 完整100% | 完整100% | 架构框架(~20% | 核心循环 + 记忆 + 多智能体 + 技能 |
| 核心循环 | `query.ts`785KB | `query.ts`785KB | `QueryEnginePort`~200 行) | `agent.py`~174 行) |
| 工具系统 | 40+ 完整实现 | 40+ 完整实现 | 快照元数据 + 执行框架 | 18 个完整实现 + 插件注册表 |
| 记忆系统 | 是7 层,复杂) | 是7 层,复杂) | 否 | 是双作用域4 类型AI 搜索) |
| 多智能体 | 是(完整协调器) | 是(完整协调器) | 否 | 是类型化代理worktree 隔离) |
| 技能系统 | 是(~87 个命令) | 是(~87 个命令) | 仅快照元数据 | 是(内置 + 自定义 Markdown 技能) |
| 多模型提供商 | 否(仅 Anthropic | 否(仅 Anthropic | 否 | 是10+ 提供商) |
| 可立即运行 | 否 | 否 | 有限(仅 CLI 元数据) | 是 |
| 主要用途 | 原始参考快照 | 深度学习完整实现细节 | 架构理解、移植研究 | 轻量级全功能编程助手 |
--- ---
## 许可与声明 ## 许可与声明
本仓库仅供学术研究与教育目的使用。两个子项目均基于公开可获取的信息构建。使用者应自行遵守相关法律法规及服务条款。 本仓库仅供学术研究与教育目的使用。所有子项目均基于公开可获取的信息构建。使用者应自行遵守相关法律法规及服务条款。