pi v0.84.3 版本更新介绍
发布日期: 2026-08-24
版本号: v0.84.3
该版本新增了多项功能,包括在Windows上可选使用的PowerShell工具、更安全的安装器托管更新流程,以及用于选择模型和思维级别的交互控制。更新还包含若干破坏性变更,主要重命名了相关的类型定义。新增内容涵盖对多种模型和适配器的支持,例如中国特定的ZAI编码计划模型、DeepSeek V4 Pro、xAI的Grok 4.6等,并增强了诸如会话压缩、工具调用、身份验证和权限管理等方面的能力。变更方面,优化了更新的安装与激活流程,默认使用xAI的Responses API,调整了多个适配器的默认行为,改进了Windows和WSL下的快捷键设置,并通过优化运行时加载、语法高亮初始化和资源打包等方式提升了性能与启动速度。修复内容包括解决扩展加载失败、模型选择持久化、工具调用事件信息缺失、多种模型适配器的交互问题、文件权限覆盖、配置文件编码支持以及多个终端显示和交互问题。
更新内容 (中文)
新功能
- PowerShell 工具 — 可在 Windows 上选择性使用原生 PowerShell 命令执行。参见 PowerShell 工具。
- 更安全的托管更新 — 为安装程序管理的安装提供更新的分阶段、验证和原子化激活功能。参见 安装与管理。
- 模型与思考控制 — 使用
/thinking选择思考级别,支持搜索默认选项,将选择保持在会话范围内,并通过 Ctrl+S 显式持久化。参见 模型与思考。
重大变更
- 将继承的
GoogleThinkingLevel类型重命名为GoogleApiThinkingLevel,并添加ResolvedGoogleThinkingLevel用于规范化适配器级别。
新增
- 为 Windows 添加了可选的
powershell工具,可通过defaultTools和 SDK 配置。参见 PowerShell 工具。 - 在模型和思考选择器中添加了
/thinking选择器和可搜索的默认选项;Ctrl+S 可将所选模型保存为全局默认值。参见 模型与思考。 - 为导出的压缩摘要帮助程序添加了可选的路由会话 ID,以便调用方在不启用提示缓存写入的情况下保留提供者路由。
- 当启用缓存未命中通知时,为压缩和分支摘要添加了转录使用通知。
- 添加了
session_compact_failed扩展事件,以便压缩失败和中止能向处理器公开其原因、重试状态、来源和错误消息(#8175)。 - 为简单流请求添加了继承的、提供者中立的
toolChoice支持。 - 为支持的官方模型添加了继承的自动 Anthropic 服务器端拒绝回退,包括返回模型的使用定价(#8017)。
- 为 vLLM、Qwen/SGLang 和 llama.cpp 服务器添加了继承的、可配置的 OpenAI 兼容思考令牌预算字段。参见 OpenAI 兼容性(#8275,由 @bnsd55 贡献)。
- 添加了继承的、中国特有的 ZAI 编码计划模型,包括 GLM-4.6V 视觉支持和 API 等效使用成本估算(#8220)。
- 在 Qwen 令牌计划个人目录中添加了继承的
deepseek-v4-pro-0813支持(#8194)。
变更
- 更改了实验性安装程序管理的安装,使
pi update能在原地分阶段、验证并原子化激活所选发行版。参见 安装与管理。 - 更改了继承的内置 xAI 模型,使其使用带有加密推理重放的 Responses API,并将 Grok 4.6 设为默认 xAI 模型(#8124,由 @Jaaneek 贡献)。
- 更改了继承的 Anthropic、Azure OpenAI、Google、Mistral 和 OpenAI 适配器,除非被覆盖,否则发送 Pi 的默认
User-Agent(#8305)。 - 更改了 Windows 和 WSL 的键绑定默认设置,以避免为图像粘贴、模型循环、编辑器撤销、全屏转录导航和搜索以及消息队列保留终端快捷键(#8372)。
- 更改了 Bun 发布归档包,仅在包装器包中包含原生剪贴板二进制文件,从每个归档中删除了重复的平台包。
- 更改了包资源 glob 扩展,使其使用 Node.js 的内置实现和确定性的可见路径匹配,减少了已安装的运行时依赖树。
- 更改了捆绑的 Node.js 运行时,使其仅在导入扩展时加载 jiti,仅在未缓存的源需要转换时加载 Babel,从而减少 CLI 启动时间和捆绑包大小。
- 更改了语法高亮初始化,使其仅预先加载二十种常用语言,并将剩余语法延迟到初始 TUI 渲染之后,从而减少 CLI 启动时间。
- 更改了 Node.js CLI 和 RPC 入口点,使其加载捆绑的运行时,减少启动文件系统读取,同时保持公共库和遗留模块路径在模块化运行时上用于正常的依赖标识。
- 更改了会话共享,使其渲染可点击的终端链接,仅显示规范化的 Radius 工件 URL,并在 Radius 会话共享中包含当前系统提示和活动工具定义。
修复
- 修复了失败的扩展工厂留下事件订阅、提供者注册和默认标志状态处于活动状态的问题(#8424,由 @acmerfight 贡献)。
- 修复了
models.json类型定义遗漏了文档中记录的 OpenAI 兼容compat.supportsFinishReason提供者和模型覆盖(#8487,由 @petrroll 贡献)。 - 修复了
/model和/thinking的选择除非通过 Ctrl+S 显式保存,否则会全局持久化的问题(#5263)。 - 修复了 JSON 和 RPC
toolcall_start事件遗漏工具调用 ID 和名称的问题(#7953,由 @christianklotz 贡献)。 - 修复了当 Node.js CLI 作为单可执行应用程序运行时扩展加载失败的问题(#8237)。
- 修复了嵌套在
.agents/skills/分组目录中的 Markdown 技能未被发现的问题。 - 修复了压缩和分支摘要请求向提供者公开工具的问题。
- 修复了单对象
edit工具输入验证失败的问题,现在在编码代理和测试工具中均将其作为单次编辑数组接受(#7835)。 - 修复了技能目录中的根 Markdown 文件(如
README.md和AGENTS.md)除非声明了有效的技能前置数据,否则会被报告为损坏技能的问题(#7805)。 - 修复了默认的 Cerebras 模型引用了不可用的 Z.AI 模型的问题。
- 修复了继承的 OpenAI 兼容聊天完成推理重放,使其能够按顺序逐字保留和重新发送助手级别的
reasoning_details(#7994)。 - 修复了继承的 Anthropic 服务器端回退响应使用请求的模型而非返回的回退模型进行计价的问题(#8285)。
- 修复了继承的 GitHub Copilot 登录触发模型策略速率限制的问题,方法是限制策略更新、重试一次模型发现并遵守服务器重试延迟(#7850)。
- 修复了继承的 Amazon Bedrock 丢弃和重放失败的问题,涉及来自非 Anthropic 模型的不透明已编辑推理(#8314,由 @seiji 贡献)。
- 修复了继承的 Z.AI 编码计划模型派生不完整的推理工作元数据的问题,包括缺失的 GLM-5.3 低、高和最高级别(#8336)。
- 修复了继承的 DeepSeek V4 Flash 在 OpenCode 和 OpenCode Go 上遗漏其支持的低思考级别的问题(#8181,由 @tianshuang 贡献)。
- 修复了继承的 Azure OpenAI Responses 在提供者特定流请求中忽略
toolChoice的问题。 - 修复了继承的 Amazon Bedrock 响应钩子仅接收合成的请求 ID 而非原始响应头的问题(#8234)。
- 修复了继承的 Kimi 使用情况报告,使顶层
cached_tokens被计为缓存读取而非普通输入令牌的问题(#8075)。 - 修复了继承的 Google 自定义模型忽略
thinkingLevelMap的问题,这会丢弃扩展思考控制(#8135)。 - 修复了对
auth.json和models-store.json的写入覆盖管理员管理的文件权限和 ACL 的问题(#7779)。 - 修复了 UTF-8 BOM 标记阻止前置数据和用户配置文件加载的问题(#8337)。
- 修复了无效设置文件在交互式启动期间容易被忽视的问题,现在通过在 TUI 内渲染带有文件路径的警告来解决(#7829)。
- 修复了子代理示例在受信任存储库中运行项目本地代理之前反复提示的问题(#8261)。
- 修复了 npm 包更新检查将较旧的注册表版本视为可用更新的问题,这会阻止
pi update降级已经较新的已安装包(#8226)。 - 修复了内置 llama.cpp 模型在
/llama刷新PI_OFFLINE下配置的服务器时从/model中消失的问题,并将空闲休眠的sleeping路由模型包含在可选目录中(#8167)。 - 修复了
pi.registerFlag()接受与声明的标志类型不匹配的默认值的问题(#8064)。 - 修复了 ZAI 编码计划默认值引用已移除的 GLM-5.1 模型的问题(#8096)。
- 修复了重复的歧义截断响应恢复被错误标记为上下文溢出的问题(#8130)。
- 修复了在 Windows 上基于 VS Code 的终端中重复的全屏右键单击粘贴的问题(#8186)。
- 修复了继承的填充文本超出窄终端宽度的问题(#8252)。
- 修复了继承的自动换行 Markdown 表格链接将颜色泄漏到边框和相邻单元格的问题,包括块引用内的表格(#8335)。
- 修复了 llama.cpp 登录指南,在未加载本地模型时引导用户在
/model之前先使用/llama的问题(#8203)。 - 修复了挂起的 pi.dev 模型目录请求消耗整个刷新期限而不重试的问题(#8198)。
- 修复了继承的小米模型目录在
/model和--list-models中列出已停用的 MiMo V2 模型的问题(#8187)。 - 修复了分支摘要条目在
fromId中记录导航目标而非导航前源叶节点的问题。 - 修复了当提供者省略流式传输使用数据时跳过阈值自动压缩的问题(#8328)。
- 修复了破折号前缀提示被解析为选项的问题,方法是支持
--作为选项结束分隔符(#7269)。
更新内容 (原始)
New Features
- PowerShell tool — Use optional native PowerShell command execution on Windows. See PowerShell Tool.
- Safer managed updates — Stage, verify, and atomically activate updates for installer-managed installations. See Install and Manage.
- Model and thinking controls — Select thinking levels with
/thinking, search defaults, keep selections session-scoped, and persist them explicitly with Ctrl+S. See Models and Thinking.
Breaking Changes
- Renamed the inherited
GoogleThinkingLeveltype toGoogleApiThinkingLeveland addedResolvedGoogleThinkingLevelfor normalized adapter levels.
Added
- Added an optional
powershelltool for Windows, configurable throughdefaultToolsand the SDK. See PowerShell Tool. - Added a
/thinkingselector and searchable default choices to the model and thinking selectors; Ctrl+S saves the selected model as the global default. See Models and Thinking. - Added optional routing session IDs to exported compaction summary helpers so callers can preserve provider routing without enabling prompt cache writes.
- Added transcript usage notices for compaction and branch summaries when cache miss notices are enabled.
- Added
session_compact_failedextension events so compaction failures and aborts expose their reason, retry state, source, and error message to handlers (#8175). - Added inherited provider-neutral
toolChoicesupport to simple stream requests. - Added inherited automatic Anthropic server-side refusal fallback for supported first-party models, including returned-model usage pricing (#8017).
- Added inherited configurable OpenAI-compatible thinking-token budget fields for vLLM, Qwen/SGLang, and llama.cpp servers. See OpenAI Compatibility (#8275 by @bnsd55).
- Added inherited China-specific ZAI Coding Plan models, including GLM-4.6V vision support and API-equivalent usage cost estimates (#8220).
- Added inherited
deepseek-v4-pro-0813support to the Qwen Token Plan Individual catalog (#8194).
Changed
- Changed experimental installer-managed installations so
pi updatestages, verifies, and atomically activates the selected release in place. See Install and Manage. - Changed inherited built-in xAI models to use the Responses API with encrypted reasoning replay and made Grok 4.6 the default xAI model (#8124 by @Jaaneek).
- Changed inherited Anthropic, Azure OpenAI, Google, Mistral, and OpenAI adapters to send Pi’s default
User-Agentunless overridden (#8305). - Changed Windows and WSL keybinding defaults to avoid terminal-reserved shortcuts for image paste, model cycling, editor undo, fullscreen transcript navigation and search, and message queueing (#8372).
- Changed Bun release archives to ship the native clipboard binary only inside the wrapper package, removing a duplicate platform package from each archive.
- Changed package resource glob expansion to use Node.js’s built-in implementation with deterministic visible-path matching, reducing the installed runtime dependency tree.
- Changed the bundled Node.js runtime to load jiti only when importing an extension and Babel only when uncached source needs transformation, reducing CLI startup time and bundle size.
- Changed syntax highlighting to initialize only twenty common languages eagerly and defer the remaining grammars until after the initial TUI render, reducing CLI startup time.
- Changed the Node.js CLI and RPC entrypoints to load a bundled runtime, reducing startup filesystem reads while keeping the public library and legacy module paths on the modular runtime for normal dependency identity.
- Changed session sharing to render clickable terminal links, display only the canonical Radius artifact URL, and include the current system prompt and active tool definitions in Radius session shares.
Fixed
- Fixed failed extension factories leaving event subscriptions, provider registrations, and default flag state active (#8424 by @acmerfight).
- Fixed
models.jsontypings omitting the documented OpenAI-compatiblecompat.supportsFinishReasonprovider and model override (#8487 by @petrroll). - Fixed
/modeland/thinkingselections being persisted globally unless explicitly saved with Ctrl+S (#5263). - Fixed JSON and RPC
toolcall_startevents omitting the tool call id and name (#7953 by @christianklotz). - Fixed extensions failing to load when the Node.js CLI runs as a single-executable application (#8237).
- Fixed nested Markdown skills inside
.agents/skills/grouping directories not being discovered. - Fixed compaction and branch summarization requests exposing tools to providers.
- Fixed single-object
edittool inputs failing validation by accepting them as one-edit arrays in both coding-agent and harness edit tools (#7835). - Fixed root Markdown files such as
README.mdandAGENTS.mdin skill directories being reported as broken skills unless they declare valid skill frontmatter (#7805). - Fixed the default Cerebras model referencing an unavailable Z.AI model.
- Fixed inherited OpenAI-compatible Chat Completions reasoning replay to preserve and resend assistant-level
reasoning_detailsverbatim and in order (#7994). - Fixed inherited Anthropic server-side fallback responses being priced with the requested model instead of the returned fallback model (#8285).
- Fixed inherited GitHub Copilot login triggering model-policy rate limits by limiting policy updates, retrying model discovery once, and honoring server retry delays (#7850).
- Fixed inherited Amazon Bedrock dropping and failing to replay opaque redacted reasoning from non-Anthropic models (#8314 by @seiji).
- Fixed inherited Z.AI Coding Plan models deriving incomplete reasoning-effort metadata, including missing GLM-5.3 low, high, and max levels (#8336).
- Fixed inherited DeepSeek V4 Flash on OpenCode and OpenCode Go omitting its supported low thinking level (#8181 by @tianshuang).
- Fixed inherited Azure OpenAI Responses ignoring
toolChoicein provider-specific stream requests. - Fixed inherited Amazon Bedrock response hooks receiving only a synthesized request id instead of the raw response headers (#8234).
- Fixed inherited Kimi usage reporting so top-level
cached_tokenscount as cache reads instead of normal input tokens (#8075). - Fixed inherited Google custom models ignoring
thinkingLevelMap, which dropped extended thinking controls (#8135). - Fixed writes to
auth.jsonandmodels-store.jsonoverriding administrator-managed file permissions and ACLs (#7779). - Fixed UTF-8 BOM markers preventing frontmatter and user configuration files from loading (#8337).
- Fixed invalid settings files being easy to miss during interactive startup by rendering warnings with the file path inside the TUI (#7829).
- Fixed the subagent example repeatedly prompting before running project-local agents in trusted repositories (#8261).
- Fixed npm package update checks treating older registry versions as available updates, preventing
pi updatefrom downgrading already-newer installed packages (#8226). - Fixed built-in llama.cpp models disappearing from
/modelwhen/llamarefreshed a configured server underPI_OFFLINE, and included idle-sleptsleepingrouter models in the selectable catalog (#8167). - Fixed
pi.registerFlag()accepting default values that do not match the declared flag type (#8064). - Fixed Z.AI Coding Plan defaults referencing the removed GLM-5.1 model (#8096).
- Fixed repeated ambiguous truncated-response recovery being mislabeled as context overflow (#8130).
- Fixed duplicate fullscreen right-click paste in VS Code-based terminals on Windows (#8186).
- Fixed inherited padded text exceeding narrow terminal widths (#8252).
- Fixed inherited wrapped Markdown table links leaking color into borders and neighboring cells, including tables inside blockquotes (#8335).
- Fixed llama.cpp login guidance to direct users to
/llamabefore/modelwhen no local models are loaded (#8203). - Fixed hung pi.dev model catalog requests consuming the entire refresh deadline without retrying (#8198).
- Fixed inherited Xiaomi model catalogs listing shut-down MiMo V2 models in
/modeland--list-models(#8187). - Fixed branch summary entries recording the navigation destination in
fromIdinstead of the pre-navigation source leaf. - Fixed threshold auto-compaction being skipped when providers omit streaming usage data (#8328).
- Fixed dash-prefixed prompts being parsed as options by supporting
--as an end-of-options delimiter (#7269).