从 0 实现一个 Coding Agent

从最小本地终端闭环开始,逐步实现一个真正可用的 terminal-first coding agent。

这套课程围绕一个持续演进的主项目展开:mini-coding-agent

它不讲 IDE 插件,不讲云端沙箱,也不讲浏览器自动化,而是聚焦最核心的一条主线——让 agent 在本地终端中搜索代码、理解上下文、修改文件、执行命令、跑测试、管 Git。

课程目标

学完后,你应该能够:

  • 理解 Claude Code、Codex CLI、Gemini CLI、OpenCode 这类产品的核心能力模型
  • 自己实现一个最小但完整的 coding agent 闭环
  • 把一个 demo 持续演进成真正可用的 CLI 工具

前置知识

  • 基础的 JavaScript / TypeScript 能力
  • 对 Node.js 命令行开发有入门了解
  • 会使用 Git
  • 对 LLM 和 Prompt 有基本认知,不要求 agent 开发经验

章节导航

课程按三个阶段递进:先跑通闭环,再补安全与体验,最后做工程化和产品化。

第一阶段:基础闭环

从零搭建 agent 骨架,实现"能搜索、能读文件、能执行多步骤任务"的基础闭环。

第二阶段:安全与体验

让 agent 从"能做就做"进化为"安全地做、看得见在做什么"。

第三阶段:工程化与产品化

把 agent 从脚本升级为可扩展、可协作的 CLI 工具。

代码规模

src/ 目录下的代码量随章节递增:

章节代码行数新增
ch01 · 最小可用 Agent507
ch02 · Agent Loop 与任务规划842+335
ch03 · Tool Calling 与工具系统1,416+574
ch04 · Permissions 与安全权限1,669+253
ch05 · Streaming 与实时交互1,895+226
ch06 · 记忆与上下文2,122+227
ch07 · Skills 与能力模块化2,407+285
ch08 · Hooks 与生命周期扩展2,798+391
ch09 · MCP 与工具扩展协议3,127+329
ch10 · SubAgent 协作3,480+353
ch11 · CLI 产品化与毕业3,588+108

从 507 行到 3,588 行,每章增量在 100–600 行之间。增量最大的是 ch03(工具系统,+574)和 ch08(生命周期扩展,+391),最小的是 ch11(CLI 产品化与毕业,+108)。

学习方式

课程是连续推进的工程路线,不是分散的小示例。每章的代码在前一章基础上增量演进。建议按顺序学习;如果你有 agent 开发经验,可以快速浏览前几章后从第 4 章开始深入。

课程源码

登录以继续阅读

解锁完整文档、代码示例及更多高级功能。

立即登录

On this page