一篇中文教学项目:带你从零手写"nano-pi"——一个能读文件、改代码、执行命令的 600 行 TypeScript coding agent,借鉴 earendil-works/pi 的数据流设计但剔除工程细节、保留核心思想。核心能力围绕文章即源码、Trace调试、忠实还原pi的设计思想展开。当 everyone 都在用 coding agent 时,"亲手拆解 agent 内部原理"成为新一轮学习刚需。

| 项目 | 内容 |
|---|---|
| 仓库 | SaladDay/pi-from-scratch |
| 语言 / 许可证 | TypeScript / MIT |
| 总星标 | ⭐ 1131(截至 2026-08-26) |
| 创建时间 | 2026-08-09 |
| 榜单 | 近30天新星榜 第18名 |
一篇中文教学项目:带你从零手写"nano-pi"——一个能读文件、改代码、执行命令的 600 行 TypeScript coding agent,借鉴 earendil-works/pi 的数据流设计但剔除工程细节、保留核心思想。
当 everyone 都在用 coding agent 时,"亲手拆解 agent 内部原理"成为新一轮学习刚需。这个项目的聪明之处在于形式:它自定位为"一篇易读的文章而非一本厚书",配套网站把文章与源码绑在一起——随着阅读进度推进,右侧编辑器逐步补全代码,读完全文 nano-pi 全部代码即在眼前。中文原生内容 + Trace 断点调试 + 作者强调人工撰写避免 AI 味,这三点在教程赛道里都算稀缺体验。
双工程结构:agent 本体(nano-pi)是纯 TypeScript 实现,通过 OpenAI 兼容 API 与模型交互;`web/` 目录是 Next/Vite 类教学站点。README 特别说明在线网站的 trace 是预先生成的静态数据,浏览网页本身不会触发任何模型请求——这也是它把成本控制做在产品形态里的细节。
需要 Node.js 22+ 和一个 OpenAI 兼容 API。
npm install
export NANOPI_API_KEY=your-api-key
npm run dev
可选环境变量:
运行教学网站:
cd web
npm install
npm run dev
最省事的学习路径是直接打开 https://pi-from-scratch.vercel.app 边读边看代码补全;想动手跑通 agent 则按上面三条命令设置 key 后 `npm run dev`,即可在终端里对它下达诸如读文件/修改代码的任务指令。想深挖原版工程思想的读者,README 推荐进阶读物 pi-book。
同类"从零写 agent"内容很多(如手写 GPT 系列、minibook 类项目),本项目的差异化在于锚定了 pi 这一真实生产级工程作为蓝本、且用"文章+同步编辑器+trace 断点"三件套把抽象讲解变成可视过程;相比 MiniMind 这类训练向课程,它是推理时 harness 机制的教学向短篇。