1. 前言
  2. 序章
  3. 不是又一个 LLM 包装器
  4. 第一篇:分层的纪律
  5. 七个包不是七个项目
  6. 怎样高效阅读这个仓库
  7. 第二篇:统一调用面 — pi-ai 的设计
  8. Provider 不是 Adapter
  9. 消息变换:跨模型交接的隐藏复杂度
  10. 统一事件流设计
  11. OAuth — 统一认证的隐藏复杂度
  12. 第三篇:Agent Runtime — 循环引擎的设计
  13. agentLoop — 发动机只管转
  14. 工具执行不是插件调用
  15. Agent — 循环之上的有状态壳
  16. 第四篇:从 Runtime 到产品
  17. 会话树:比"聊天记录"更好的数据模型
  18. Compaction — 把无限对话装进有限窗口
  19. 三级配置覆盖
  20. System Prompt 是一套装配流程
  21. 第五篇:能力外置
  22. Extension 系统 — 让产品长出新器官
  23. Skill 机制 — 用文档替代代码
  24. Resource Loader — 一切外部资源的统一入口
  25. Model Registry — 模型不只是一个 ID
  26. 第六篇:工具设计 — 约束即保护
  27. 工具设计原则
  28. edit 的设计 — 为什么不能直接写文件
  29. read 的设计 — 为什么不是简单的 cat
  30. bash 与外部世界的边界
  31. find 和 grep — 结构化搜索替代万能 bash
  32. 第七篇:UI 层 — 同一颗内核的不同宿主
  33. pi-tui — 在终端里做应用
  34. 编辑器组件 — 交互复杂度的集中地
  35. RPC 模式 — pi 作为后端服务
  36. pi-web-ui — 浏览器里的复用
  37. 第八篇:产品化实证
  38. mom — Slack 里的 Coding Agent
  39. pods — 为什么这个仓库还要管 GPU
  40. 第九篇:设计哲学
  41. 极简核心,能力外置
  42. 反主流选择背后的判断
  43. 这套架构的适用边界
  44. 附录