[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-1385":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":10,"language":11,"languages":10,"totalLinesOfCode":10,"stars":12,"forks":13,"watchers":14,"openIssues":15,"contributorsCount":15,"subscribersCount":15,"size":15,"stars1d":15,"stars7d":15,"stars30d":16,"stars90d":15,"forks30d":15,"starsTrendScore":15,"compositeScore":17,"rankGlobal":10,"rankLanguage":10,"license":18,"archived":19,"fork":19,"defaultBranch":20,"hasWiki":21,"hasPages":19,"topics":22,"createdAt":10,"pushedAt":10,"updatedAt":23,"readmeContent":24,"aiSummary":25,"trendingCount":15,"starSnapshotCount":15,"syncStatus":26,"lastSyncTime":27,"discoverSource":28},1385,"MiniCC","Louisym\u002FMiniCC","Louisym","从源码学习 Claude Code，19个教学demo + 手写13模块mini版，忠实还原CC的生产级工程模式","",null,"Rust",232,19,1,0,3,44.2,"MIT License",false,"main",true,[],"2026-06-12 04:00:09","\u003Cdiv align=\"center\">\n\n# MiniCC\n\n**从源码学习 Claude Code，手写一个属于你自己的 AI Code Agent**\n\n[![Python](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FPython-3.10+-3776AB?logo=python&logoColor=white)](https:\u002F\u002Fpython.org)\n[![Anthropic](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FAnthropic-Claude_API-6B4FBB?logo=anthropic&logoColor=white)](https:\u002F\u002Fdocs.anthropic.com)\n[![License: MIT](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FLicense-MIT-green.svg)](LICENSE)\n[![PRs Welcome](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FPRs-welcome-brightgreen.svg)](https:\u002F\u002Fgithub.com\u002FLouisym\u002FMiniCC\u002Fpulls)\n\n\u003C!-- \n  在这里放你的 mini claude code 运行截图 \n  步骤：\n  1. 运行 python3 -m mini_claude_code，截图终端画面\n  2. 保存到 assets\u002Fdemo.png (先创建 assets\u002F 目录)\n  3. 取消下面这行的注释：\n-->\n\u003Cimg src=\"assets\u002Fdemo.png\" alt=\"Mini Claude Code Demo\" width=\"700\">\n\n\u003Cp>\n\u003Ca href=\"#快速开始\">快速开始\u003C\u002Fa> &nbsp;|&nbsp;\n\u003Ca href=\"#项目结构\">项目结构\u003C\u002Fa> &nbsp;|&nbsp;\n\u003Ca href=\"#怎么用这个项目\">学习路线\u003C\u002Fa> &nbsp;|&nbsp;\n\u003Ca href=\"#致谢\">致谢\u003C\u002Fa>\n\u003C\u002Fp>\n\n\u003C\u002Fdiv>\n\n---\n\n> 跟随本项目，你将学习 Claude Code 源码，了解当前 SOTA harness engineering 的核心问题与解决方案。\n>\n> 你会先从 **19 个教学 demo** 中一步一步学习关键技术；然后跟随指引，**手动从零搭建一个自己的 mini Claude Code**。\n\n## 项目背景\n\n不同于 GitHub 上其他复杂庞大的 Claude Code 源码解析资料，本项目更适合广大初学者、学生，旨在由浅入深帮助大家理解 Claude Code 的设计哲学：\n\n| | 问题 | 回答 |\n|---|------|------|\n| 1 | 为什么想拆解 Claude Code？ | Claude Code 作为目前最强大的 Code Agent 系统，其 harness engineering 的设计非常值得学习。通过学习它，我们可以见微知著，弄清 SOTA harness engineering 应该往什么方向走。 |\n| 2 | 市面上的教程有什么不足？ | 现有资料要么太过繁杂冗长，要么缺少实践巩固。而本项目不仅以**代码的形式教概念**，还会让你**一步一步手写一个属于自己的 mini Claude Code**！ |\n| 3 | 你希望读者获得什么？ | 不仅仅是了解概念\u002F设计，更要模仿 CC 源码，用 Python 实现一个自己的 Claude Code！**Talk is cheap, show me your code!** |\n\n## 项目结构\n\n```\n.\n├── tutorials\u002F                 # 19 个 Python 教学 demo，由浅入深讲解 CC 核心概念\n├── mini_claude_code\u002F          # 手写的 mini 版 Claude Code (Python)\n│   ├── guides\u002F                # 13 个模块的学习引导，手把手教你每步怎么写\n│   ├── models.py ~ main.py   # 13 个可供参考的实现文件（答案）\n│   └── .env                   # API key（不会上传）\n├── rust\u002F                      # Claude Code 原始 Rust 源码（供对照阅读）\n└── reference\u002F                 # 源码分析参考笔记，感谢 github\u002Fopenedclaude\n```\n\n## Tutorials 速览\n\n19 个独立可运行的教学 demo，每个文件聚焦一个核心概念：\n\n| # | 文件 | 主题 | 你会学到什么 |\n|---|------|------|-------------|\n| 01 | `agentic_loop_basics.py` | Agentic Loop 基础 | Agent 的心脏——感知-思考-行动循环 |\n| 02 | `session_and_messages.py` | Session 与消息模型 | AI 的记忆系统，消息如何建模 |\n| 03 | `tool_system.py` | Tool System | AI 的工具箱，注册\u002F发现\u002F执行 |\n| 04 | `permission_system.py` | Permission System | 安全阀门，分级授权 |\n| 05 | `agentic_loop_complete.py` | 完整 Agentic Loop | 整合前 4 个教程，跑通全流程 |\n| 06 | `system_prompt_builder.py` | System Prompt Builder | 给 AI 写\"角色说明书\" |\n| 07 | `auto_compaction.py` | Auto Compaction | AI 的\"记忆压缩\"，Token 管理 |\n| 08 | `hook_system.py` | Hook System | 工具执行的\"保安和监控\" |\n| 09 | `config_system.py` | Config System | 多层配置加载与深合并 |\n| 10 | `sse_streaming.py` | SSE Streaming | 流式输出的秘密 |\n| 11 | `error_recovery_and_retry.py` | 错误恢复与重试 | Agent 活下来的关键 |\n| 12 | `session_persistence.py` | 会话持久化 | JSONL 追加式存储 |\n| 13 | `multi_agent_coordination.py` | 多 Agent 协调 | 从独奏到交响乐 |\n| 14 | `bash_engine_deep_dive.py` | Bash 执行引擎 | 子进程管理与安全执行 |\n| 14a | `os_isolation_primer.py` | 操作系统隔离基础 | 沙箱的前置知识 |\n| 14b | `networking_for_engineers.py` | 工程师网络知识 | 网络通信基础 |\n| 15 | `permission_and_hook_pipeline.py` | 权限与 Hook 流水线 | 七层安全管线深度剖析 |\n| 16 | `prompt_building_and_compaction.py` | 提示词构建与压缩 | 上下文工程深度剖析 |\n| 17 | `async_await_for_sse.py` | async\u002Fawait | 流式 API 的 Python 基础 |\n| 18 | `design_patterns_for_agents.py` | Agent 设计模式 | 策略\u002F观察者\u002F责任链等模式 |\n| 19 | `process_and_pipe_communication.py` | 进程与管道通信 | stdin\u002Fstdout\u002Fpipe 实战 |\n\n## Mini Claude Code 模块速览\n\n13 个模块，按依赖顺序排列，每个都忠实还原 CC Rust 源码的工程模式：\n\n| # | 模块 | 对应 CC 源码 | 核心模式 |\n|---|------|-------------|---------|\n| 01 | `models.py` | session.rs | Discriminated Union |\n| 02 | `tools.py` | tools\u002Flib.rs | ToolRegistry + DI |\n| 03 | `api_client.py` | api\u002Fclient.rs | 流式事件 + 消息格式转换 |\n| 04 | `config.py` | config.rs | 5-source 链 + 递归深合并 |\n| 05 | `permissions.py` | permissions.rs | IntEnum 层级 + Protocol 回调 |\n| 06 | `hooks.py` | hooks.rs | 退出码协议 (0\u002F2\u002Fother) |\n| 07 | `retry.py` | client.rs | 指数退避 + 溢出保护 |\n| 08 | `prompt.py` | prompt.rs | 祖先链发现 + 预算截断 |\n| 09 | `compact.py` | compact.rs | Token 估算 + 结构化摘要 |\n| 10 | `storage.py` | sessionStorage.ts | JSONL 追加 + UUID 链 |\n| 11 | `multi_agent.py` | tools\u002Flib.rs | 泛型 spawn_fn + 工具白名单 |\n| 12 | `runtime.py` | conversation.rs | Agentic Loop + 三层防线 |\n| 13 | `main.py` | main.rs | 组装点 + REPL + Slash 命令 |\n\n## 快速开始\n\n```bash\n# 1. 克隆项目\ngit clone https:\u002F\u002Fgithub.com\u002FLouisym\u002FClaude-code-source-code.git\ncd Claude-code-source-code\n\n# 2. 安装依赖\npip install pydantic anthropic python-dotenv\n\n# 3. 配置 API Key\necho \"ANTHROPIC_API_KEY=sk-ant-xxx\" > mini_claude_code\u002F.env\n\n# 4. 运行！\npython3 -m mini_claude_code\n```\n\n## 怎么用这个项目？\n\n### 路线一：从理解概念开始，到手写巩固\n\n1. 从 `tutorials\u002F` 开始，由浅入深学习概念，每章都有对应源码\n2. 进入 `mini_claude_code\u002F`，阅读 README.md，开始动手写\n3. 每个 guide 包含：问题背景 → CC 源码分析 → 要写什么 → 易错点\n4. 自己实现后，对照同名 `.py` 文件检查\n5. 按 01 → 13 顺序走完，你就有了一个能跑的 Agent\n\n### 路线二：只看概念\n\n阅读 `tutorials\u002F`，快速了解 Claude Code 的精华设计。\n\n### 路线三：先跑起来，再拆解\n\n```bash\npython3 -m mini_claude_code\n```\n\n然后逐步根据功能，倒回去看 `mini_claude_code\u002F` 中对应的代码实现。\n\n## 前置知识\n\n- Python 基础（class, decorator, type hint）\n- 了解 Pydantic 的 BaseModel\n- 不需要会 Rust（所有 Rust 代码都有 Python 对照）\n\n## 致谢\n\n感谢 [openedclaude](https:\u002F\u002Fgithub.com\u002Fopenedclaude\u002Fclaude-reviews-claude) 对源码的精细拆解，是本项目的交叉验证来源。\n\n## Star History\n\n\u003Ca href=\"https:\u002F\u002Fwww.star-history.com\u002F?repos=Louisym%2FMiniCC&type=date&legend=top-left\">\n \u003Cpicture>\n   \u003Csource media=\"(prefers-color-scheme: dark)\" srcset=\"https:\u002F\u002Fapi.star-history.com\u002Fchart?repos=Louisym\u002FMiniCC&type=date&theme=dark&legend=top-left\" \u002F>\n   \u003Csource media=\"(prefers-color-scheme: light)\" srcset=\"https:\u002F\u002Fapi.star-history.com\u002Fchart?repos=Louisym\u002FMiniCC&type=date&legend=top-left\" \u002F>\n   \u003Cimg alt=\"Star History Chart\" src=\"https:\u002F\u002Fapi.star-history.com\u002Fchart?repos=Louisym\u002FMiniCC&type=date&legend=top-left\" \u002F>\n \u003C\u002Fpicture>\n\u003C\u002Fa>\n\n## License\n\n本项目采用 [MIT License](LICENSE) 开源。\n","MiniCC 是一个用于从源码学习 Claude Code 的项目，通过 19 个教学 demo 和手写 13 个模块的 mini 版本，忠实还原了 Claude Code 的生产级工程模式。该项目使用 Python 语言编写，并结合 Anthropic 的 Claude API，核心功能包括 Agentic Loop、Session 与消息模型、Tool System 等，每个模块都配有详细的学习引导和参考实现。MiniCC 适合初学者和学生深入理解 AI Code Agent 的设计哲学和技术细节，特别适用于那些希望动手实践并构建自己的 AI 代码代理系统的开发者。",2,"2026-06-11 02:43:26","CREATED_QUERY"]