Reading the Pi Agent Harness

Pi 源码解读手册 读代码,不读 README

对 earendil-works/pi 的第三方深入解读。上游自带 32945 行文档,所以本书不复述文档——它做三件文档做不到的事:锚定行号读代码、区分「已发布」与「设计文档」、记录两者的漂移。

正文 21 章引用 159 条锚定 ac4ac9e支持 深色模式 / 打印导出
250,858
上游 TypeScript 行数
5565
提交(2025-08-09 起)
286
署名作者
22
抛 HarnessNotImplemented 的方法

全书最重要的一个发现:上游那份 3437 行的 durable harness 设计文档所描述的执行器,在锚定版本上有 22 个方法直接抛错,且没有任何生产代码路径构造它——真正在跑的是另一个循环。判定过程见 第 08 章。

第一次读请从 导读 开始:它写明了实现状态徽章怎么读、怎么核对本书、以及不覆盖什么。只有 20 分钟 → 直接看 第 20 章。

锚点之后上游已经往前走了,本书没有换锚点。截至 v1.2.0(06a4669,2026-10-13,锚点之后 1333 个提交):harness-v2 这一系没有切成默认路径,而是被整体删除了。删除前夕(f29ea3d),锚点上那 22 个抛错方法里 17 个已有实现、4 个被删除、1 个仍是桩;随后 7fd478a(2026-10-01) 把 AgentHarness、v4 会话栈与 harness 版压缩、工具连同设计文档一起从 pi-agent-core 移除,随 v1.0.0 发布。上游指向的后继 pi-durable 是另起的实验性设计,coding-agent 不依赖它;默认 CLI 仍然走 new Agent。所以:书里的判定在锚点版本上依然成立,而第 08 章那个「空壳」执行器,上游没有把它做完接上,而是放弃了。逐条变化见 第 08 章追记 与 漂移记录 · 上游后续。

开始之前

导读

先读这一章
Part I

全景

两章,刻意写薄
Part II

内核

本书主体
Part III

Provider

两章,薄
Part IV

界面与扩展

Part V

工程与治理

本书差异化所在
Part VI

评价

判断,非事实
工具页

核对与索引

本书的可验证性所在

实现状态分布:17 章已发布 · 2 章部分落地。全部徽章在 data/status.json 中有 path:line 证据,并由 tools/check-citations.mjs 核对。 校验器自身通过 tools/mutate-test.sh 的 mutation test(故意注入行号漂移、锚文本不符、缺证据、SHA 错误、死链,确认全部变红)。

基于 earendil-works/pi @ ac4ac9e(2026-08-07 快照)。
本页由 tools/gen-aux.mjs 生成,数字来自 data/stats.json,未手写。
本书与 pi 项目无关联,是独立的第三方解读。