Claude Code 从零实现
用约5000行代码从零手写Claude Code核心,13章分步教程带你理解Coding Agent的运作原理。
证据显示有权限模式(5种模式+声明式规则+危险命令检测),但未提供最小权限原则的详细说明;有用户确认机制(--dont-ask、--accept-edits等),但未明确所有危险操作都需确认;数据流透明度不足,未说明API密钥和对话数据的流向;敏感数据处理未明确;依赖安全未审计;外部影响有控制(预算限制、轮次限制),但未说明回滚机制;来源归属有贡献者列表和声明,但未验证。
自一致性较好,README与代码结构一致,有测试覆盖;依赖可用性有package.json和Python依赖说明,但未验证;失败消息有错误恢复机制(指数退避重试),但未详细说明。
受众明确(学习Claude Code的开发者),场景清晰(分步教程);能力边界有对比表;触发精度有CLI参数和REPL命令;环境适配有跨平台说明。
信息架构清晰(目录结构、架构图);安装说明详细;命名稳定(mini-claude等);有示例和FAQ(教程);已知限制有对比表;许可证MIT;版本号有package.json,但无CHANGELOG;维护责任有贡献者列表。
输出可用性高(教程+可运行代码);边际价值高(学习项目);成本效益好(无需API key即可运行)。
声明可追溯(教程与代码对应);跨来源佐证(TS和Python版本);事实与推断分离(声明不保证与Claude Code一致)。
- 未验证依赖安全性,建议审计依赖。
- 数据流透明度不足,需明确API密钥和对话数据的处理方式。
- 回滚机制未说明,建议补充。
这个 Agent 能做什么,适合哪些场景?
这是一个学习型项目,用约5000行TypeScript或Python从零复现Claude Code的核心架构,而非完整替代品。项目包含13章分步教程,涵盖Agent Loop、13个工具(含并行执行与流式早期启动)、4层上下文压缩、语义记忆召回、技能系统、多Agent协作和MCP集成。每章代码均可独立运行,无需API key,通过本地mock模型驱动,『--diff』可查看章节间新增代码。项目提供TypeScript和Python两个功能一致的版本,支持Anthropic和OpenAI兼容API后端,并包含详细的架构对照和与Claude Code的功能对比。
该项目提供了一套从零构建Coding Agent的完整实现与教程。核心是Agent Loop:循环调用LLM、执行工具、处理结果直至任务完成。实现包括13个工具(如文件读写、Shell、WebFetch、ToolSearch等),支持只读工具并行执行和流式输出。包含4层上下文压缩、5种权限模式、4类记忆系统(语义召回+异步预取)、技能系统(inline/fork双模式)、Sub-Agent多Agent架构和MCP客户端。提供交互式REPL命令行界面,支持会话持久化、预算控制(--max-cost、--max-turns)、跨平台Shell自动检测和错误重试。每章配有可运行的最小实现,通过node steps/run.mjs <N>命令即可演示,无需真实API。
- 开发者想深入理解Claude Code的工作机制,但面对50万行源码无从下手,希望通过分步教程从零实现核心架构。
- 学习者希望动手实践Coding Agent,通过可运行的最小代码快速验证概念,而不需要配置API key。
- 技术讲师或博主需要一份结构清晰、可复现的教学材料,用于讲解Agent Loop、工具系统、上下文管理等主题。
- 开发者想在自己的项目中集成一个轻量级的Coding Agent核心,可作为参考实现或基础进行二次开发。
- 对多Agent协作、MCP集成等进阶功能感兴趣的研究者,参考该项目中的实现方式。
这个 Agent 有哪些优点和局限?
- 每章代码可运行且无需API key,通过本地mock模型驱动,便于学习和调试。
- 提供TypeScript和Python两种版本,满足不同语言偏好。
- 详细的架构对照表,清晰展示与Claude Code的功能差异。
- 教学性质,功能完整性和稳健性不如生产级Claude Code。
- 默认模型
claude-opus-4-6可能需配置有效API密钥,且未内置模型降级策略。 - 上下文压缩等高级功能为简化实现,可能与原版行为存在差异。
如何安装或部署这个 Agent?
克隆仓库并安装依赖:git clone https://github.com/Windy3f3f3f3f/claude-code-from-scratch.git,然后cd claude-code-from-scratch,执行npm install && npm run build。Python版需要Python 3.11+,进入python目录,执行pip install -e .。配置API:设置环境变量ANTHROPIC_API_KEY(Anthropic格式)或OPENAI_API_KEY和OPENAI_BASE_URL(OpenAI兼容格式)。
如何使用这个 Agent?
运行TypeScript版:npm start进入交互式REPL模式,支持--resume恢复会话、--yolo跳过安全确认、--plan计划模式、--max-cost费用限制等参数。Python版使用mini-claude-py命令进入REPL。会话中支持/clear、/cost、/compact、/memory、/skills等命令。运行教程章节:node steps/run.mjs <N>,其中N为章节号,可加--diff查看代码差异,--py切换到Python版,--live连接真实模型。
这个 Agent 与同类方案有什么区别?
与Claude Code相比,本项目定位为学习最小实现,工具数量仅13个(Claude Code有66+),代码量约5000行(Claude Code超50万),权限系统简化(5模式对比7层+AST),多Agent仅支持Sub-Agent(对比Coordinator+Swarm)。
常见问题
运行教程章节需要API key吗?
--live标志可连接真实API。支持哪些模型后端?
项目是否与Anthropic官方相关?
如何自定义模型?
MINI_CLAUDE_MODEL或命令行参数--model指定(命令行优先级更高)。是否有Python版本?
mini-claude-py命令。