From fa8e3d407d232452b876a8027de08de8383ed9b5 Mon Sep 17 00:00:00 2001 From: Shangding Gu Date: Fri, 3 Apr 2026 10:42:31 -0700 Subject: [PATCH] Revise README-CN with latest updates and project details Updated README-CN.md to include recent developments and project comparisons. --- README-CN.md | 240 +++++++++++++++++++++++++++++++++++++++++++++------ 1 file changed, 215 insertions(+), 25 deletions(-) diff --git a/README-CN.md b/README-CN.md index d6e4bbf..035b932 100644 --- a/README-CN.md +++ b/README-CN.md @@ -1,23 +1,96 @@ -# claude-code-source-code +# Claude Code 开源代码合集 > Claude Code 源码档案与 Python 重写的研究仓库 -本仓库包含两个子项目,从不同角度对 Claude Code(Anthropic 官方 CLI 工具)进行深度研究: +## 🔥🔥🔥 最新动态(太平洋时间) -| 子项目 | 语言 | 性质 | 文件数 | -|--------|------|------|--------| -| [claude-code-source-code](#一-claude-code-source-code) | TypeScript | 反编译源码档案(v2.1.88) | 1,884 个 | -| [claw-code](#二-claw-code) | Python | 清室架构重写 | 66 个 | +- 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) +- 2026年4月1日 08:36:[Nano Claude Code v1.0:最小 Python 重实现(~1300 行)](https://github.com/SafeRL-Lab/nano-claude-code) +- 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 Code(Anthropic 官方 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/ ├── src/ │ ├── main.tsx # CLI 入口与 REPL 引导(4,683 行) @@ -63,7 +136,7 @@ claude-code-source-code/ ### 核心执行流程 -``` +```text 用户输入 ↓ 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 仓库之一。 ### 整体架构 -``` +```text claw-code/ ├── src/ │ ├── __init__.py # 包导出接口 @@ -244,25 +317,142 @@ tool-pool # 工具池组装视图 - **快照驱动**:通过 JSON 快照文件加载命令/工具元数据,无需完整实现逻辑 - **清室重写**:不包含原始 TypeScript 代码,独立实现 - **奇偶审计**:内置 `parity_audit.py` 追踪与原实现的差距 -- **轻量架构**:66 个文件实现核心框架,适合学习与扩展 +- **轻量架构**:109 个文件实现核心框架,适合学习与扩展 --- -## 两个项目对比 +## 四、nano-claude-code -| 维度 | claude-code-source-code | claw-code | -|------|------------------------|-----------| -| 语言 | TypeScript | Python | -| 代码量 | ~163,000 行 | ~5,000 行 | -| 性质 | 反编译源码档案 | 清室架构重写 | -| 功能完整度 | 完整(100%) | 架构框架(~20%) | -| 核心循环 | `query.ts`(785KB) | `QueryEnginePort`(~200 行) | -| 工具系统 | 40+ 完整实现 | 快照元数据 + 执行框架 | -| 命令系统 | ~87 个完整实现 | 快照元数据 + 执行框架 | -| 主要用途 | 深度学习完整实现细节 | 架构理解、移植研究 | +Claude Code 的最小化可运行 Python 重实现(~5,000 行)。与专注架构映射的 `claw-code` 不同,nano-claude-code 是一个真正可立即使用的编程助手。支持 20+ 闭源模型和本地开源模型,已从 ~900 行原型成长为具备多智能体编排、持久记忆和技能系统的 v3.0 版本。 + +### 功能特性 + +| 功能 | 详情 | +|------|------| +| 多模型提供商 | Anthropic · OpenAI · Gemini · Kimi · Qwen · Zhipu · DeepSeek · Ollama · LM Studio · 自定义端点 | +| 交互式 REPL | readline 历史、Tab 补全斜杠命令 | +| 代理循环 | 流式 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):** Claude(Anthropic)、GPT / o 系列(OpenAI)、Gemini(Google)、Kimi(Moonshot 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 元数据) | 是 | +| 主要用途 | 原始参考快照 | 深度学习完整实现细节 | 架构理解、移植研究 | 轻量级全功能编程助手 | --- ## 许可与声明 -本仓库仅供学术研究与教育目的使用。两个子项目均基于公开可获取的信息构建。使用者应自行遵守相关法律法规及服务条款。 +本仓库仅供学术研究与教育目的使用。所有子项目均基于公开可获取的信息构建。使用者应自行遵守相关法律法规及服务条款。