AREX Feed Article
Earendil 正式发布 Pi 1.0:Codemode 原生支持 MCP,并推出实验性 Pi Durable
Earendil 在 10 月 1 日的中宣布正式发布 Pi 1.0,称它是一款「加固、极简、可扩展」(hardened, minimal, extensible)的 agent harness(运行 agent 的软件框架),用户可以将它改造成自己需要的样子。GitHub 上 显示,该版本发布于 UTC 10 月 1 日 19:20:55,即北京时间 10 月 2 日凌晨 3 点 20 分。与 Pi 1.0 一起发布的还有实验性软件包 Pi Durable,官方称它为「构建长时运行 agent 应用的基底」。两者均为 MIT 许可,按官方说法发布当天即可安装。
1.0 的新增清单包括:Codemode(原生支持 MCP,一种把外部工具接入模型的协议;也支持 Jev 和图像模型这类非 LLM 模型)、虚拟模型扩展、延迟工具加载、Anthropic 模型缓存预热、会话中系统消息、新 TUI(终端界面)主题和默认全屏。官方称,这些功能是经过数月考虑后「被扔到墙上并粘住」的那一批,并强调「从墙上掉下来的清单要长得多」。Earendil 还称,全球每周有数十万人使用 Pi,这是发布方自述的数字。
1.0 的更新:Codemode、默认全屏与 OAuth 加固
Codemode 这次的变化包括:在默认工具配置下启用它时,一个 GPT-5.6 请求的提示词从约 5,300 个 token 缩减到约 3,300 个(降幅约四成);脚本可以用 models.generateImages() 生成图像,用会话凭据运行 OpenRouter 等图像模型,用量计入会话成本;读错工具名时(例如把 tools.bash 写成 tools.Bash),报错会给出相近的正确写法。
TUI 现在默认全屏:想保留终端原来的滚动回看,可以把 tuiMode 设为 "regular",或启动时加 --tui-mode regular。登录与授权流程也有更新:/login 里新增 Radius 登录,并支持一步配置它的 MCP 服务器;Anthropic 登录增加了「复制代码」方式,适配浏览器在另一台机器上的场景。MCP 的 OAuth 流程也做了加固:可以指定授权服务器元数据地址,按 RFC 9207 校验授权响应的签发方(iss),凭据按服务器分开保存,增量授权时保留此前已授予的权限。
修复列表里还有:经 tool_search 加载的延迟 MCP 工具,不再在恢复会话和 /reload 后丢失;长 assistant 回复占用的堆内存,降到原来的约五分之一。
博客附的终端演示展示了这些功能叠加起来的样子:Codemode 写一个脚本,把一周的提交浓缩成简短摘要;Pi 给自己写一个虚拟模型扩展,规划阶段用 Claude Opus、实现阶段交给 GPT,由 Jev 判断切换时机;重新加载、开一个新会话,选中新的 router/auto 模型;最后用 /session 按模型拆出成本和缓存使用情况。
从「Pi 不支持 MCP」到把 MCP 放进核心
MCP 进入核心,与 Earendil 过去公开的立场相反。官方在 9 月 29 日发过一篇《》,文中承认,过去访问 pi.dev 会看到一条「骄傲的声明」:Pi 不支持 MCP;团队在播客里也有过不止一次对 MCP 表示不屑的表态。而现在,官方说升级后的 Pi 已经把 MCP 作为受支持的功能。
官方给出的理由包括:MCP 本身在过去一年发生了变化,今天的样子已和从前不同;把 MCP 放进核心所需的改动本身有通用价值,比如让 Jev 更容易在 Pi 内使用;而 MCP 需要的东西与 Pi 需要的相似,都是一个解释器形态的沙盒。实现上,Pi 里的 MCP 建立在「把工具暴露给 JavaScript 沙盒」的 Codemode 之上,官方提到 Codex 等 harness 也采用类似做法。
官方对 MCP 的现状仍有批评:最大的问题依然是「难以组合」;许多 MCP 服务器还在为「把工具全部丢进上下文」的 harness 做优化、靠返回文本节省 token,而按 Earendil 的看法,MCP 应该更像带智能工具发现的 OpenAPI,工具应当返回结构化数据。文中说,正面影响一件事的方式是接纳它、参与把它塑造成在小型 harness 里好用的样子,而不是在场边旁观。
Pi Durable:从检查点继续的 agent 应用框架
Pi 编码 agent 被设计为跑在(远程)机器的终端里、由一个人驱动;进程死掉后,要由人去看发生了什么、告诉它继续。Pi Durable 面向的是这些边界之外的场景:官方说它要能跑在任何有 JavaScript 运行时的地方、支持无限长的会话、在灾难性故障后存活,并允许多人操控同一个 agent。按官方在里的定义,harness 就是「存储,加上并行运行一个或多个大模型会话所需的机制」,它提供模型调用的工具以及工具的运行环境。Pi Durable 是构建这类应用的框架,不替代 Pi 编码 agent,二者共享代码(比如 pi-ai)。
为了支持长时间运行,它把每一步都做成带检查点的任务:进程崩溃后,新进程打开同一份存储,从最后一个检查点继续;被中断的模型请求会重发,半截回答留在会话记录里并标记为已中止;被中断的工具调用只在标明「可以安全重放」时才会重跑。它还自带 memory、SQLite、JSONL 三种存储后端;会话可以并行,也能在会话记录的任意位置 fork 出分支;应用状态(待办、计划、票据等)存放在与会话记录同属一次原子提交的「文档」中;运行中的扩展注册表可以被替换,已经开始的工具调用在旧代码上跑完,下一次调用才用新代码。多个客户端可以挂到同一个会话上观看并操控。
官方给出的体量是:不含测试的源码约 15,000 行,换算成模型可读的 token 约 150,000 个(GPT)或 250,000 个(Claude)。官方同时提醒,Pi Durable 的 API 还可能变化。
安装方式:脚本、npm 与六个平台包
Pi 1.0 的安装方式是一行 shell 命令:curl -fsSL https://pi.dev/install.sh | sh;Windows 上则用 powershell -c "irm https://pi.dev/install.ps1 | iex"。Pi Durable 通过 npm 安装:npm install @earendil-works/pi-durable @earendil-works/pi-ai @earendil-works/chord。文档在 ,代码在 。
除脚本安装外,GitHub 的发行附件还提供 macOS、Linux、Windows 各两种架构共六个平台压缩包、一份源码包和 SHA256SUMS 校验文件;截至北京时间 10 月 2 日下午,其中 Linux x64 压缩包已被下载超过 2,200 次。
发布之后:Hacker News 当日最高分、用法讨论与官方预告的后续内容
GitHub 发行版发布约 12 分钟后,官方博客被提交到技术社区 Hacker News。到 10 月 2 日,已获得 1,000 分以上和 330 多条评论;在 10 月 1 日(UTC)当天创建的提交里,它的得分最高:没有第二条突破 800 分。同日单独提交的 也拿到 300 分以上和 30 多条评论。
评论里,用户谈的多是自己怎么使用 Pi:一位用户(esafak)说,自己在 CI 里用无头模式做代码审查;有人(didibus)说 Pi 在本地模型和替代模型的用户中很受欢迎,同时认为除此之外它与 Claude Code、Codex 差别不大;用 ChatGPT 订阅跑 Pi 的 darklinear 给出的理由是 token 效率:整段性能剖析加重构的会话能在 2 万个 token 以内完成。
官方预告,未来数周会继续介绍 Pi Durable,并展示用它构建的小工具,例如 Slack bot 与 GitHub triage bot;更具体的细节,官方说暂时还不想透露。
参考链接
- Earendil 官方博客《Pi 1.0》:
- GitHub 发行版 v1.0.0:
- Earendil 官方博客《You Said No MCP!》:
- Earendil 官方博客《Pi Durable》:
- Pi 文档站点:
- Pi 代码仓库:
- Pi 安装脚本(shell):
- Pi 安装脚本(Windows):
- Hacker News 上的 Pi 1.0 讨论:
- Hacker News 上的 Pi Durable 讨论: