Pi 0.87.1 之后:追赶到 1.2.0
DAC 的 Pi 门面钉在 0.87.1(见基线文)。自那以后,Pi 又发了十版, 如今是 1.2.0。我们还没移钉版。本文分组梳理这些变化,让你知道后面有什么,并标出升级时 门面会被牵动的地方。
在 npm 上,Pi 跳过了 0.88 到 0.98,于 2026-09-29 从 0.87.1 直接跳到 0.99.0,两天后再到 1.0.0。这十版依次是 0.99.0、0.99.1、0.99.2、1.0.0、1.0.1、1.0.2、1.0.3、1.0.4、1.1.0、 1.2.0。
codemode 与 MCP 落地(0.99.x)
这段差距里最大的变化。Pi 长出了一个 codemode 工具,在 QuickJS 沙箱里跑模型写的
JavaScript,脚本可以并行调用 Pi 的工具;还有一等公民的 MCP 支持,走 stdio 或
streamable HTTP,带 OAuth,由 /mcp 和 pi mcp 管理。随之而来的是工具暴露模型
(direct、model-only、codemode、deferred、hidden)、继承终端配色的 system
主题、Sign in with ChatGPT,以及虚拟模型与分类器模型。构建转到 TypeScript 7.0、目标
ES2024。0.99.1 把 Codex 默认改成 GPT-6.1 Sol。0.99.2 让 MCP 服务器不再挡住首个
prompt,并补了更多鉴权选项。
Pi 1.0(1.0.0)
1.0 这一版是把 0.99 的地基夯实,而不是继续堆功能。TUI 默认全屏;想保留终端回滚就设
tuiMode: "regular"。codemode 的 prompt 瘦了约 40%,报错还会告诉你怎么恢复。codemode
能生成图像。/login 增加了 Radius,以及给无头机器用的 Anthropic 复制码登录。MCP OAuth
做了加固:RFC 9207 的 iss 校验、按服务器存凭据、保留已授予 scope 的 step-up。启动
可以只留 header。
1.0.x 的精修
1.0.1 加了 Nix flake、经 .pi/mcp.json 的按项目 MCP 覆盖、给尚未注册工具用的渲染器,
以及 Cloudflare Clef 分类器;它为一个安全公告钉住了 brace-expansion,并从包里移除了
npm-shrinkwrap.json。1.0.2 加了按 thinking level 的采样参数。1.0.3 把 Azure 提供方从
azure-openai-responses 改名为 azure,并加了 Foundry Chat Completions。1.0.4 给
--tools 和 --exclude-tools 加了 * 通配,以及 --no-mcp 开关。
1.1.0 与 1.2.0
1.1.0 加了经 OSC 7501 的程序状态上报,终端和面板据此能看到 working、blocked、done、
failed;还带来 Claude Haiku 5.5、用 +name 和 -name 调整默认工具集、作为分类器的
GPT-6 Luna,以及原生 llama.cpp 决策模型。当前版 1.2.0 加了按 key 的 OpenRouter 模型表、
为 settings/models/keybindings/themes 发布的 JSON schema、经 OSC 52 的远程会话剪贴板,
以及对扩展触发 run 生效的 before_agent_start;同时移除了尚未发布的实验性
server/client/plugin 栈。
升级会牵动什么
门面嵌入的是 Pi 的 SDK,所以真正要紧的是那些动到 SDK 或事件语义的条目。
- 1.2.0 把
before_agent_start变成按messageType判别的 union,让它对triggerTurnrun 也触发,并让会话在 run 启动期即算 busy,于是ctx.isIdle()为假、pi.sendMessage()入队而不是再起一个 run。它还改了pi mcp list --json的形状。 - 0.99.0 把
bash和powershell的结构化结果改成最多容纳 1 MiB 输出并带truncated与full_output_path,还把内建扩展和工具改名为builtin:<name>。 - 1.0.1 移除了
npm-shrinkwrap.json,于是 npm 安装不再钉传递依赖;可复现安装改走 pi.dev installer。 - 1.0.3 给 Azure 提供方改名,属于配置层的破坏。
门面为它依赖的每条上游行为都留了一张事实卡,规矩是移钉版前逐条复验、跑一遍全链 smoke。升到 1.2.0 就是这一整套动作,所以我们刻意排期,而不是顺手就升。
状态
DAC 生产上仍跑 Pi 0.87.1。本文是这次最终升级的地图。等门面移到新钉版,那一版会在本 系列里单独成文。