外部精选
Pi 1.1.0
本文来自外部来源,不是黄奕彬的原创文章。本站提供原文入口,并在采集端生成 AI 结构化摘要、解读与中文翻译(如有),一切以原文为准。
阅读原文(pi.dev)结构化摘要 AI 生成
背景与问题
背景与问题:这是 Pi(pi.dev 的 CLI 编码代理工具)1.1.0 版本的发行说明,面向已在使用 Pi 的开发者与集成方。要回答的问题是:这一版新增了什么能力、调整了哪些默认行为、修复了哪些缺陷。发布物同时提供 GitHub release 与 npm 包。
方法或内容
方法或内容:以分类清单形式发布,分为 New Features、Added、Changed、Fixed 四部分。要点包括:程序状态上报(OSC 7501)、新模型接入(anthropic/claude-haiku-5-5、GPT-6 Luna 分类器、llama.cpp 原生判定模型)、--tools 支持 +name/-name 增量调整默认工具集,以及大量缺陷修复。
关键发现 / 结果
关键发现或结果:
- 状态上报:支持
OSC 7501的终端/面板可见 Pi 在工作、被对话框或登录阻塞、完成或失败;PI_PROGRAM_STATUS=1|0可覆盖检测。 - 模型:新增
anthropic/claude-haiku-5-5(自适应思考最高 xhigh/max,Bedrock 支持 prompt caching);GPT-6 Luna 经 Decisions API 作分类模型(需OPENAI_API_KEY);llama.cpp 0.6.0+上的 Julia-1、Laya、Kev、lev、OpenJev 经/v1/systemone仅列为分类模型。 - 工具:
--tools支持+name/-name,如pi -t +codemode,-write在默认集上增删而非替换。 - 修复:MCP OAuth 登录全程可
Esc取消、对授权服务器请求 15 秒超时;pi update只保留新旧两个版本;输入按 3.5 字符/token 估算以减少上下文超限失败;长提示在分档计价模型上的费用少算被修正。
结论与意义
结论与意义:1.1.0 的主线是可观测性(程序状态上报)与模型生态扩展(Claude Haiku 5.5、GPT-6 Luna 分类、llama.cpp 原生分类模型),并集中修复 MCP OAuth、终端渲染与费用统计等问题。
适用边界:各特性依赖特定前提,如终端需支持 OSC 7501、llama.cpp 需 0.6.0+、GPT-6 Luna 需 OPENAI_API_KEY。原文未说明后续版本的兼容承诺。
AI 解读 AI 生成
方法:按「时空变量」分析(时间 / 空间 / 变量,严格区分包含、相关与因果),对象包括原文作者、署名人员与关键技术及其实际原理;结论用「元反空」(元思考、反思考、空思考、综合)整理。
时间:何时发生,现在是否仍成立
时间:按来源日期,发布于 2026-10-07(UTC),即北京时间 2026-10-07 08:00。文中所有变更均针对 Pi 1.1.0 这一发布时点的状态;这些主张在当前是否仍成立取决于后续版本,原文未说明 1.1.0 之后的任何变化。
空间:谁的环境 / 场景
空间:适用对象是 Pi CLI 用户及基于 Pi 的集成方,版本限定为 1.1.0。
具体场景包括:支持 OSC 7501 的终端与 agent 面板;llama.cpp 0.6.0+ 服务端;Bedrock 上的 Anthropic/OpenAI 模型;配置了 OPENAI_API_KEY 的环境;以及 Termux、Windows(Hyper-V/WSL 端口保留导致端口 53692 被占)、node --watch 下的 Node 24.19+/26.x、Herdr 等特定终端与运行时。
变量:实际改变了什么
变量:相对此前的实际变化:
- 行为:
--tools由替换默认集改为+name/-name增删;pi mcp login --timeout由仅限浏览器等待扩至整个登录流程;outputPad扩展到!命令输出、工具输出与摘要块。 - 结构/格式:codemode 多段文本以
==> text N/M <==分隔,console 调用并入单个<console_output>块;新增durationMs、outputPad、aborted字段与事件标记。 - 资源占用:
pi update从保留所有旧版改为只留新版与被更新的上一版。 - 数值:token 估算由 4 字符/token 改为 3.5;对授权服务器请求超时定为 15 秒。
区分:包含 ≠ 相关 ≠ 因果
区分:明确的因果证据集中在 Fixed 部分,例如:codemode 描述未将 searchTools() 等标为 async,导致模型把未 await 的 Promise 序列化为 {};Node 24.19+/26.x 在图片缩放 worker 通道发送自身消息,导致图片被当作『无法缩放』丢弃。
包含/限定关系:llama.cpp 系列模型『仅』列为分类模型而非聊天模型。仅为相关共存:状态上报与 aborted 事件同属 #10607,原文未说明二者互为因果;费用少算修复与 Claude Haiku 5.5 新增只是同版出现,无因果关联。
对象:作者/署名与关键技术原理
对象:结构化作者字段为空,原文未标注发布作者/署名。正文仅在 issue 记录中致谢若干贡献者(@rwachtler、@davidbrai、@christianklotz、@jsanter27、@lucasmeijer),这不构成署名。关键技术按原文描述:
OSC 7501:终端转义序列机制,向支持它的终端/agent 面板上报程序状态(工作/阻塞/完成/失败),检测可被PI_PROGRAM_STATUS覆盖。- Decisions API 分类器:GPT-6 Luna 等模型用于分类判定,
models.classify()上下文可包含图片。 /v1/systemone:llama.cpp 0.6.0+的原生接入点,Julia-1、Laya、Kev、lev、OpenJev 经此仅作为分类模型列出。
原文未说明这些技术的更深层实现原理。
元反空综合结论
元反空综合:
- 元:这本质是一份面向存量用户与集成方的维护性版本说明,回答『1.1.0 改了什么、是否值得升级、升级后哪些行为会变』;其中可观测性(
OSC 7501)与集成语义稳定(aborted、durationMs)是给自动化集成方的关键增量。 - 反:最可能有边界的部分——模型可用性依赖外部条件(
OPENAI_API_KEY、Bedrock、llama.cpp版本);3.5 字符/token 是启发式估算,对其他分词器可能不准;针对特定 Node 版本、Termux、Hyper-V/WSL 端口的修复随上游行为变化可能再次失效。 - 空:去掉叙事后剩下的必要事实——
Pi 1.1.0于 2026-10-07 发布于 GitHub 与 npm,含所列新特性、变更与修复清单,每条对应 issue 编号。 - 综合:这是一次信息密度高但常规的功能与修复版本;对使用受影响终端、MCP OAuth 登录、多模型网关计费的用户价值最大,其余用户收益以稳定性修复为主。原文未提供性能数据、升级步骤与已知风险说明。
中文译文 AI 生成
更新日志 发布说明 2026年10月7日 Pi 1.1.0 GitHub release npm
新功能
- 程序状态报告:支持 OSC 7501 的终端和 agent 仪表盘可以看到 Pi 是正在工作中、被对话框或登录阻塞、已完成,还是已失败。参见 Program status。
- Claude Haiku 5.5:anthropic/claude-haiku-5-5,自适应思考(adaptive thinking)最高可达 xhigh/max effort。
- 用
+name/-name调整默认工具:形如pi -t +codemode,-write的--tools条目会改变默认选择而非替换它。参见 Tools。 - GPT-6 Luna 与图像分类:OpenAI 的 GPT-6 Luna 可通过 Decisions API 用作分类器模型,且 codemode 的
models.classify()可为支持图像的分类器接收图像。参见 Use classifier models。 - llama.cpp 原生决策模型:由 llama.cpp 0.6.0 或更高版本提供服务的 Julia-1、Laya、Kev、lev 和 OpenJev 可通过
/v1/systemone原生作为分类器运行。参见 Classification。
新增
- 在
--tools中新增+name和-name条目,它们改变默认工具选择而非替换该选择,例如pi -t +codemode - 在工具渲染上下文和
tool_execution_end扩展事件中新增durationMs:即最终工具结果的已记录执行时间(#10549) - 在工具渲染上下文中新增
outputPad(#10557,作者 @rwachtler) - 新增 OpenAI 的 GPT-6 Luna 作为通过 Decisions API 使用的分类器模型,配置
OPENAI_API_KEY后可用(参见 Use classifier models) - 在 codemode 的
models.classify()上下文中新增图像,使接受图像的分类器(如 GPT-6 Luna)可以对其进行判断 - 新增基于 OSC 7501 的程序状态报告:支持它的终端和 agent 仪表盘可以看到 Pi 是正在工作中、被对话框或登录阻塞、已完成,还是已失败。
PI_PROGRAM_STATUS=1|0可覆盖检测(参见 Terminal setup)(#10607) - 在
agent_settled的会话、扩展和 JSON 事件中新增aborted,使集成方能够区分被取消的运行与已完成的运行(#10607) - 新增 Claude Haiku 5.5(anthropic/claude-haiku-5-5),自适应思考最高可达 xhigh/max effort,并在 Bedrock 上支持 prompt caching
- 新增 llama.cpp 原生决策模型:由 llama.cpp 0.6.0 或更高版本提供服务的 Julia-1、Laya、Kev、lev 和 OpenJev 仅通过
/v1/systemone列为分类器,而非聊天模型(参见 Classification)(#10382)
变更
- 调整
outputPad,使其也应用于!命令输出、工具输出和摘要块(#9946、#10557,作者 @rwachtler) - 调整
pi mcp login --timeout,使其限制整个登录过程(包括对授权服务器的请求),而不仅是等待浏览器的时间(#10565)
修复
- 修复 bash 和 PowerShell 结果在重新加载会话后丢失 Took、以及实时 Took 计入墙上时钟(wall-clock)步骤的问题;两者现在都显示已记录的执行时间(#10549)
- 修复托管安装保留每一个旧版本的问题;
pi update现在只保留新版本和升级前的那个版本(#10392、#10511,作者 @davidbrai) - 修复独立二进制文件将启动目录中的
.env、.env.local和.env.development加载进 Pi 环境的问题(#10473) - 修复
!!命令头部在输出到达后丢失 dim 颜色的问题(#10557,作者 @rwachtler) - 修复 codemode 描述中未将
searchTools()、describeTool()和describeNamespace()标记为 async 的问题,该问题导致模型把未被 await 的 promise 序列化为{}(#10555) - 修复 codemode 输出项连在一起、导致模型无法分辨一段
text()或console.log()输出在哪里结束、下一段从哪里开始的问题。当有多个 text 项时,每项现在以一行==> text N/M <==开头,console 调用则跟在其他输出之后,放入一个<console_output>块中,每次调用占一行 - 修复
/mcp在打开前等待所有服务器连接完成的问题;管理器现在实时更新,并在启用、重新连接或禁用服务器期间保持可用(#10562) - 修复在 Node 24.19+ 和 26.x 上以
node --watch运行时图像被丢弃并报 "could not be resized" 的问题,此时 Node 会在图像缩放 worker 通道上发送自己的消息(#10527) - 修复 Termux 中剪贴板粘贴无任何效果的问题,以及该环境下复制失败时未给出 Termux:API 安装提示的问题(#10391)
- 修复
!和 RPC 的 bash 输出在颜色代码被拆分到多个输出块时残留颜色代码片段(例如孤立的 m)的问题(#10504) - 修复 MCP OAuth 登录在等待授权服务器期间无法取消、并在会话结束后仍继续运行的问题。登录界面现在在每一步都可用 Esc 取消,会话关闭会中止正在进行的登录,对授权服务器的每个请求都会在 15 秒后超时(#10565)
- 修复关闭时最多等待 15 秒去刷新即将过期的 MCP OAuth token、结果却只是关闭服务器会话的问题(#10565)
- 修复全屏文本选区在会话切换和其他 transcript 重建后仍然存留的问题,该问题会在新 transcript 中高亮无关文本(#9311、#10567,作者 @christianklotz)
- 修复 Bedrock 上的 OpenAI 模型忽略 thinking level、始终以 Bedrock 默认推理强度运行的问题(#9331、#10142,作者 @jsanter27)
- 修复
models.json中的模型 headers 未覆盖 Codex 请求的 originator 和User-Agent头的问题(#10429,作者 @lucasmeijer) - 修复
server_busy和 "servers are currently busy" 提供商错误导致回合被终止而非重试的问题(#10543) - 修复以
finish_reason: "error"结尾的 Mistral 响应未被重试的问题(#10487) - 在计算输出上限时,将输入按每 token 3.5 个字符(而非 4 个)估算,减少了因上下文上限导致的请求失败(#10497)
- 修复被组织所有者禁用的 Radius 模型仍被列出的问题
- 修复当端口 53692 被保留或占用时(例如被 Windows 上 Hyper-V/WSL 的端口排除占用)Anthropic 浏览器登录报 "localhost refused to connect" 失败的问题:登录现在会回退到一个空闲的回环端口(#10571)
- 修复在具有按提示词长度定价分层的模型(如 Claude Haiku 5.5、Gemini 3.1 Pro 和 GPT-5.4)上,通过 OpenCode、OpenCode Go、OpenRouter、Vercel AI Gateway、Google、MiniMax 及其他提供商使用时,会话成本对长提示词统计不足的问题
修复了 Herdr 中 Markdown 链接无法点击的问题(#10573)
展开原文提取正文(采集端自动提取,可能有缺失)
ChangelogRelease notesOct 7, 2026Pi 1.1.0GitHub releasenpmNew Features
Program status reporting: terminals and agent dashboards that support OSC 7501 see whether Pi is working, blocked on a dialog or login, done, or failed. See Program status. Claude Haiku 5.5: anthropic/claude-haiku-5-5, with adaptive thinking up to xhigh/max effort. Adjust default tools with +name/-name: --tools entries like pi -t +codemode,-write change the default selection instead of replacing it. See Tools. GPT-6 Luna and image classification: OpenAI's GPT-6 Luna is available as a classifier model through the Decisions API, and codemode's models.classify() accepts images for classifiers that support them. See Use classifier models. Native llama.cpp decision models: Julia-1, Laya, Kev, lev, and OpenJev served by llama.cpp 0.6.0 or later run natively as classifiers through /v1/systemone. See Classification.
Added
Added +name and -name entries to --tools, which change the default tool selection instead of replacing it, for example pi -t +codemode Added durationMs to the tool render context and to tool_execution_end extension events: the recorded execution time of a final tool result (#10549) Added outputPad to the tool render context (#10557 by @rwachtler) Added OpenAI's GPT-6 Luna as a classifier model through the Decisions API, available with OPENAI_API_KEY (see Use classifier models) Added images to codemode's models.classify() context, so classifiers that accept images, such as GPT-6 Luna, can judge them Added program status reporting with OSC 7501: terminals and agent dashboards that support it see whether Pi is working, blocked on a dialog or login, done, or failed. PI_PROGRAM_STATUS=1|0 overrides detection (see Terminal setup) (#10607) Added aborted to agent_settled session, extension, and JSON events, so integrations can tell a cancelled run from a finished one (#10607) Added Claude Haiku 5.5 (anthropic/claude-haiku-5-5), with adaptive thinking up to xhigh/max effort and prompt caching on Bedrock Added native llama.cpp decision models: Julia-1, Laya, Kev, lev, and OpenJev served by llama.cpp 0.6.0 or later are listed only as classifiers through /v1/systemone instead of as chat models (see Classification) (#10382)
Changed
Changed outputPad to also apply to ! command output, tool output, and summary blocks (#9946, #10557 by @rwachtler) Changed pi mcp login --timeout to limit the whole sign-in, including requests to the authorization server, instead of only the wait for the browser (#10565)
Fixed
Fixed bash and PowerShell results losing Took after reloading a session, and the live Took including wall-clock steps; both now show the recorded execution time (#10549) Fixed managed installs keeping every old release; pi update now keeps only the new release and the one it updated from (#10392, #10511 by @davidbrai) Fixed standalone binaries loading .env, .env.local, and .env.development from the launch directory into Pi's environment (#10473) Fixed !! command headers losing their dim color once output arrives (#10557 by @rwachtler) Fixed the codemode description not marking searchTools(), describeTool(), and describeNamespace() as async, which led models to serialize the unawaited promise as {} (#10555) Fixed codemode output items running together, so models could not tell where one text() or console.log() output ended and the next began. With several text items, each now starts with a ==> text N/M <== line, and console calls follow the other output in one <console_output> block with one line per call Fixed /mcp waiting for all servers to connect before opening; the manager now updates live and remains usable while enabling, reconnecting, or disabling servers (#10562) Fixed images being dropped as "could not be resized" when running under node --watch on Node 24.19+ and 26.x, where Node posts its own messages on the image resize worker channel (#10527) Fixed clipboard paste doing nothing in Termux, and failed copies there omitting the Termux:API install hint (#10391) Fixed ! and RPC bash output keeping fragments of color codes, such as a stray m, when a code was split across output chunks (#10504) Fixed MCP OAuth sign-ins that could not be cancelled while waiting on the authorization server and kept running after the session ended. The sign-in screen now cancels with Esc at every step, session shutdown aborts a running sign-in, and each request to the authorization server times out after 15 seconds (#10565) Fixed shutdown waiting up to 15 seconds to refresh an MCP OAuth token that was about to expire, only to close the server's session (#10565) Fixed the fullscreen text selection surviving session switches and other transcript rebuilds, which highlighted unrelated text in the new transcript (#9311, #10567 by @christianklotz) Fixed OpenAI models on Bedrock ignoring the thinking level and always running at Bedrock's default reasoning effort (#9331, #10142 by @jsanter27) Fixed model headers in models.json not overriding the originator and User-Agent headers of Codex requests (#10429 by @lucasmeijer) Fixed server_busy and servers are currently busy provider errors ending the turn instead of being retried (#10543) Fixed Mistral responses that end with finish_reason: "error" not being retried (#10487) Reduced context-limit request failures by estimating input at 3.5 characters per token instead of 4 when calculating output limits (#10497) Fixed Radius models disabled by an organization owner still being listed Fixed Anthropic browser login failing with "localhost refused to connect" when port 53692 is reserved or in use, for example by Hyper-V/WSL port exclusions on Windows: login now falls back to a free loopback port (#10571) Fixed session costs undercounting long prompts on models with prompt-length pricing tiers, such as Claude Haiku 5.5, Gemini 3.1 Pro, and GPT-5.4, through OpenCode, OpenCode Go, OpenRouter, Vercel AI Gateway, Google, MiniMax, and other providers Fixed Markdown links not being clickable in Herdr (#10573)
原文入口
阅读原文(pi.dev)原文将在新窗口打开。收录时间不是内容更新时间;正文、译文与解读的版权归原作者/来源所有,本站仅作个人阅读辅助并保留原文入口;页面时间均为北京时间。
了解来源批准与收录规则