claude-reviews-claude
让 Claude 亲手拆解自己的源码:一份 17 章的 Agent 系统架构深度分析
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
让 Claude 亲手拆解自己的源码:一份 17 章的 Agent 系统架构深度分析
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
图1:openedclaude 组织头像cli.js.map),其中 sourcesContent 字段直接暴露了原始 TypeScript 源码。一个从未正式开源的工具,此刻被放到了聚光灯下。
而这个开源组织 openedclaude 做的第一件事,不是用来套利,而是——让 Claude 亲自阅读并分析自己的源代码。
这不是普通的代码注释,也不是产品文档。这是一份由被分析对象本人撰写的深度工程分析:1902 个文件、477,439 行 TypeScript,17 个子系统,全部由 Claude 模型逐行阅读后亲笔撰写。相当于让一位建筑设计师,用自己的语言描述自己是如何建造一栋摩天大楼的。
如果你觉得这很离谱,想象一下写这篇分析的 AI 的心情。Claude Code 是一个运行在 Bun 环境上的 TypeScript 大型项目,核心使用 React + Ink 构建终端 UI。项目规模:
| 维度 | 数据 |
|---|---|
| 文件总数 | 1,902 |
| 代码行数 | 477,439 |
| 默认分支 | main |
| 许可协议 | MIT |
| 仓库结构 | architecture/ + docs/ 双文档体系 |
| 17 个子系统分析章节目录: | |
| # | 主题 |
| --- | ------ |
| 0 | 架构总纲 |
| 1 | 查询引擎 |
| 2 | 工具系统 |
| 3 | 多智能体协调器 |
| 4 | 插件系统 |
| 5 | 钩子系统 |
| 6 | Bash执行引擎 |
| 7 | 权限流水线 |
| 8 | Swarm智能体 |
| 9 | 会话持久化 |
| 10 | 上下文装配 |
| 11 | 压缩系统 |
| 12 | 启动引导 |
| 13 | 桥接系统 |
| 14 | UI状态管理 |
| 15 | 服务API层 |
| 16 | 基础设施配置 |
| 17 | 遥测隐私运营 |
Claude Code 的设计哲学非常清晰:智能全部在 LLM 中,脚手架(Harness)只是一个结构化的循环。六根支柱:
┌─────────────────────────┐
│ System Prompt │
│ (身份 + 规则 + │
│ 42+ 工具描述) │
└────────────┬────────────┘
│
┌──────────────────┼──────────────────┐
│ │ │
┌───────▼────────┐ ┌──────▼───────┐ ┌───────▼────────┐
│ 工具系统 │ │ 查询循环 │ │ 上下文管理 │
│ (42+ 工具) │ │ (12步状态机)│ │ (4层压缩) │
└───────┬────────┘ └──────┬───────┘ └───────┬────────┘
│ │ │
└──────────────────┼──────────────────┘
│
┌──────────────────┼──────────────────┐
│ │ │
┌───────▼────────┐ ┌──────▼───────┐ ┌───────▼────────┐
│ 权限与安全 │ │ 多Agent集群 │ │ Skill & Plugin│
│ (7层纵深防御) │ │ │ │ │
└────────────────┘ └──────────────┘ └────────────────┘
Claude Code 的本质是一个 while(true) 循环:
用户输入
│
▼
QueryEngine.query() ◄──────────────────────┐
│ │
▼ │
Claude API(流式调用) │
│ │
├── stop_reason = end_turn? ──► 输出结果 │
│ │
└── stop_reason = tool_use? │
│ │
▼ │
权限检查 → 执行工具 → 注入结果 ──┘
这不是什么复杂的编排系统,而是一个极简的 ReAct 循环。所有智能来自于 LLM(Claude 模型),Harness 只负责提供结构:工具描述、权限边界、上下文管理、多 Agent 协调。
Claude Code 的安全设计是整个架构中最令人印象深刻的子系统之一。从外向内依次是:
.claude/rules/ 规则匹配canUse 权限函数rm -rf)的抽象语法树分析| 组件 | 技术选型 | 说明 |
|---|---|---|
| 运行时 | Bun | 启动快、TypeScript 原生支持 |
| 终端 UI | Ink + React 19 | 类 React 语法,输出终端渲染 |
| AI 交互 | Anthropic Claude API | 核心推理引擎 |
| 文档站 | VitePress | Vue 3 + Vite,构建 GitHub Pages |
| 持久化 | JSONL | 仅追加日志,64KB 轻量会话恢复 |
| 多 Agent | iTerm2 / tmux / 进程内 | 三种后端并行支持 |
推荐在线阅读(体验最佳):👉 https://openedclaude.github.io/claude-reviews-claude/zh-CN/ 支持全文搜索、暗色模式、章节导航。 本地阅读:
git clone https://github.com/openedclaude/claude-reviews-claude.git
cd claude-reviews-claude
# 直接阅读 markdown 文件
本地构建文档站:
git clone https://github.com/openedclaude/claude-reviews-claude.git
cd claude-reviews-claude
npm install
npm run docs:dev # 开发预览
npm run docs:build # 构建静态页面
阅读顺序建议:
这是该项目面临的最大争议。分析基于 Source Map 中暴露的源码。Source Map 是 npm 包的合法调试文件,但其中包含的 sourcesContent 是否算"公开"存在争议。Anthropic 并未正式开源 Claude Code,该分析也明确标注:
本项目非 Anthropic 关联、授权或维护。原始 Claude Code 源代码版权归 Anthropic, PBC 所有。 但从另一个角度:npm 包的 Source Map 本就是公开发布的产物,任何人都可以下载。安全研究员有权力分析公开发布的代码。关键在于:这份分析全部是原创内容(Claude 模型基于源码的推理与评论),而非源码的直接复制。
| 维度 | 评估 |
|---|---|
| 项目类型 | AI 工程分析文档(Claude Code 源代码逆向分析) |
| 内容质量 | 极高,17章深度覆盖,原创性极强 |
| 文档完整性 | 完整中英双语,GitHub Pages 在线阅读 |
| 工程价值 | 学习 Agent Harness 设计模式的最佳案例库 |
| 法律合规性 | 存在争议但有完整免责声明 |
| Stars | 1,492(截至分析时) |
| 适合人群 | AI 开发者、Agent 系统学习者、Claude Code 用户 |
| 一句话评价:这不是一份普通的代码注释,而是一场关于"AI 如何理解自己"的元实验——一个 AI 亲手拆解了自己所使用的工具,并写出了一本详细的工程手册。 |