前置知识与学习路径
本系列文档面向有一定编程基础但对 LLM Agent 或终端 UI 不熟悉的开发者。我们先明确你需要什么,再给出高效的学习路径。
前置技能矩阵
不需要的前置:React/Vue/Web 框架、数据库、Docker。本项目是纯 Node.js 终端应用。
仓库规模
好消息:你不需要读完所有代码。核心逻辑集中在约 5,000 行中。其余是边缘处理、测试、和独立模块。
阅读顺序(推荐)
第一周:建立全景图
目标:能回答 "我在终端输入 pi hello,发生了什么?"
第二周:深入 Agent Loop
目标:能回答 "LLM 如何调用工具、循环处理、最终给出答案?"
第三周及以后:架构与设计
目标:能独立编写 Extension、自定义 Tool、修改 TUI 行为。
不同背景的读者
如果你是前端开发者
你最需要补的课:
- Node.js Stream API — TUI 和 LLM 通信都基于流
- 终端概念 — raw mode、ANSI 转义、pty
- Agent 模式 — 思考 "LLM + 工具 + 循环" 而非 "请求 → 响应"
你的优势:理解组件化思维(TUI 的 Component 接口与 React 组件概念类似)。
如果你是后端开发者
你最需要补的课:
- LLM API — streaming、tool calling 的概念
- 终端 UI — 不同于 Web UI 的渲染模型
- TypeScript 类型系统 — 项目重度使用泛型和条件类型
你的优势:理解事件循环、异步编程、API 抽象。
如果你是 Python/非 TS 开发者
建议先花 1-2 天学习 TypeScript 基础:
- 类型注解、接口、泛型
async/await语法- ES Module 导入导出
Pi 的代码风格是显式类型、无 any、纯 async/await,对 Python 开发者来说相当易读。
调试工具准备
不要在浏览器中读代码。这个项目需要本地调试才能理解数据流。GitHub 的代码浏览无法追踪运行时行为。
预期学习时间
下一步
→ 环境搭建与调试

