从零构建企业级 AI Agent CLI — 逐课拆解 Claude Code 源码架构
49 节渐进式课程,教你从 npm init 开始,逐课构建出一个架构对标 Claude Code 的完整 AI Agent CLI 产品。
核心模式只有一个 while 循环:
while (true) {
response = await client.messages.create({ messages, tools })
if (response.stop_reason !== "tool_use") break
for (const toolCall of response.content) {
result = await executeTool(toolCall.name, toolCall.input)
messages.push(result)
}
}每一课产出一个可独立运行的项目快照,从第一课的 API 调用到最后一课的遥测诊断,最终你会拥有一个完整的、可安装分发的 AI Agent CLI。
# 克隆项目
git clone https://github.com/funAgent/build-claude-code-cli.git
cd build-claude-code-cli
# 运行任意一课的代码
cd agents/s03-agent-loop
npm install
npx ts-node src/agent-loop.ts
# 启动教学网站
cd web
npm install
npm run dev
# 访问 http://localhost:3000前置要求: Node.js ≥ 18 · npm ≥ 9 · Git
build-claude-code-cli/
├── agents/ # 49 课 TypeScript 实现(每课独立可运行)
│ ├── s00-api-basics/
│ ├── s01-cli-scaffold/
│ ├── ...
│ └── s48-telemetry-diagnostics/
├── docs/ # 教学文档
│ ├── zh/ # 中文(49 篇)
│ └── en/ # English
├── web/ # Next.js 教学网站
│ └── src/
│ ├── app/ # 页面路由
│ ├── components/ # UI 组件(源码查看器、Diff、终端播放器等)
│ ├── data/ # 场景、注解、终端录制数据
│ └── lib/ # 工具函数、常量、i18n
├── reference/ # Claude Code 架构参考笔记
├── PLAN.md # 详细规划文档
├── TODO.md # 开发进度追踪
└── CONTRIBUTING.md # 贡献指南
- 交互式源码查看器 — 语法高亮 + 逐课 Diff 对比
- 终端录制播放器 — 模拟真实 CLI 交互过程
- 架构全景图 — 可视化展示模块关系与分层结构
- 深度注解 — 每课的架构决策与 Claude Code 源码映射
- 学习进度追踪 — 本地持久化的完成状态
- 中英文切换 — 完整的双语支持
- 暗色模式 — 自动跟随系统偏好
教学项目: TypeScript · Node.js · Commander.js · React + Ink · Anthropic SDK · Zod · esbuild · MCP SDK
教学网站: Next.js 16 · React 19 · Tailwind CSS v4 · Framer Motion · unified (Markdown 渲染)
欢迎贡献!请阅读 CONTRIBUTING.md 了解如何:
- 修改现有课程内容
- 添加新的知识内容
- 确保课程间的一致性
- Claude Code — 本项目的架构参考 claude-code-cli 源码
- learn-claude-code — 学习 agent 构建
