← 返回更新日志

Pi v0.84.3

2026-08-24 · GitHub 原文
### 新功能 - **PowerShell 工具** — 在 Windows 上可选使用原生 PowerShell 命令执行。详见 [PowerShell 工具](https://github.com/earendil-works/pi/blob/v0.84.3/packages/coding-agent/docs/windows.md#powershell-tool)。 - **更安全的托管更新** — 针对安装程序托管的安装,支持暂存、验证并原子化激活更新。详见 [安装与管理](https://github.com/earendil-works/pi/blob/v0.84.3/packages/coding-agent/docs/packages.md#install-and-manage)。 - **模型与思考控制** — 使用 `/thinking` 选择思考级别,支持搜索默认值,保持选择项仅在当前会话有效,并通过 Ctrl+S 显式持久化。详见 [模型与思考](https://github.com/earendil-works/pi/blob/v0.84.3/packages/coding-agent/docs/keybindings.md#models-and-thinking)。 ### 破坏性变更 - 将继承的 `GoogleThinkingLevel` 类型重命名为 `GoogleApiThinkingLevel`,并新增 `ResolvedGoogleThinkingLevel` 用于标准化的适配器级别。 ### 新增 - 为 Windows 添加了可选的 `powershell` 工具,可通过 `defaultTools` 和 SDK 进行配置。详见 [PowerShell 工具](https://github.com/earendil-works/pi/blob/v0.84.3/packages/coding-agent/docs/windows.md#powershell-tool)。 - 在模型和思考选择器中添加了 `/thinking` 选择器及可搜索的默认选项;按 Ctrl+S 可将选定的模型保存为全局默认值。详见 [模型与思考](https://github.com/earendil-works/pi/blob/v0.84.3/packages/coding-agent/docs/keybindings.md#models-and-thinking)。 - 为导出的上下文压缩摘要辅助函数添加了可选的路由会话 ID,使调用方无需启用提示词缓存写入即可保留提供商路由。 - 当启用缓存未命中通知时,为上下文压缩和分支摘要添加了转录使用通知。 - 添加了 `session_compact_failed` 扩展事件,使上下文压缩失败和中止操作能够向处理程序暴露其原因、重试状态、来源和错误信息 ([#8175](https://github.com/earendil-works/pi/issues/8175))。 - 为简单流式请求添加了继承的、与提供商无关的 `toolChoice` 支持。 - 为支持的官方模型添加了继承的 Anthropic 服务端拒绝自动回退机制,包括返回的模型使用定价 ([#8017](https://github.com/earendil-works/pi/issues/8017))。 - 为 vLLM、Qwen/SGLang 和 llama.cpp 服务器添加了继承的可配置 OpenAI 兼容思考令牌预算字段。详见 [OpenAI 兼容性](https://github.com/earendil-works/pi/blob/v0.84.3/packages/coding-agent/docs/models.md#openai-compatibility) ([#8275](https://github.com/earendil-works/pi/pull/8275),由 [@bnsd55](https://github.com/bnsd55) 贡献)。 - 添加了继承的中国专属 ZAI Coding Plan 模型,包括 GLM-4.6V 视觉支持及 API 等效使用成本估算 ([#8220](https://github.com/earendil-works/pi/issues/8220))。 - 在 Qwen Token Plan Individual 目录中添加了继承的 `deepseek-v4-pro-0813` 支持 ([#8194](https://github.com/earendil-works/pi/issues/8194))。 ### 变更 - 更改了实验性安装程序托管安装机制,使 `pi update` 命令能够暂存、验证并就地原子化激活所选版本。详见 [安装与管理](https://github.com/earendil-works/pi/blob/v0.84.3/packages/coding-agent/docs/packages.md#install-and-manage)。 - 更改了继承的内置 xAI 模型,使其使用 Responses API 并支持加密推理回放,同时将 Grok 4.6 设为默认 xAI 模型 ([#8124](https://github.com/earendil-works/pi/pull/8124),由 [@Jaaneek](https://github.com/Jaaneek) 贡献)。 - 更改了继承的 Anthropic、Azure OpenAI、Google、Mistral 和 OpenAI 适配器,默认发送 Pi 的 `User-Agent`,除非被覆盖 ([#8305](https://github.com/earendil-works/pi/issues/8305))。 - 更改了 Windows 和 WSL 的快捷键默认设置,以避免与终端保留的快捷键冲突,涉及图片粘贴、模型切换、编辑器撤销、全屏转录导航与搜索以及消息排队 ([#8372](https://github.com/earendil-works/pi/issues/8372))。 - 更改了 Bun 发行版归档,仅将原生剪贴板二进制文件包含在包装包内,从每个归档中移除了重复的平台包。 - 更改了包资源通配符展开逻辑,改用 Node.js 内置实现及确定性可见路径匹配,从而减少已安装运行时的依赖树。 - 更改了捆绑的 Node.js 运行时,使其仅在导入扩展时加载 jiti,且仅在未缓存源码需要转换时加载 Babel,从而缩短 CLI 启动时间并减小打包体积。 - 更改了语法高亮初始化策略,仅急切初始化二十种常见语言,并将剩余语法的加载推迟至初始 TUI 渲染之后,从而缩短 CLI 启动时间。 - 更改了 Node.js CLI 和 RPC 入口点以加载捆绑运行时,减少启动时的文件系统读取,同时保持公共库和遗留模块路径在模块化运行时上以维持正常的依赖标识。 - 更改了会话共享功能,使其渲染可点击的终端链接,仅显示标准的 Radius 制品 URL,并在 Radius 会话共享中包含当前系统提示词和活跃工具定义。 ### 修复 - 修复了扩展工厂失败后,事件订阅、提供商注册和默认标志状态仍保持激活的问题 ([#8424](https://github.com/earendil-works/pi/pull/8424) by [@acmerfight](https://github.com/acmerfight))。 - 修复了 `models.json` 类型定义遗漏了文档中记录的 OpenAI 兼容 `compat.supportsFinishReason` 提供商和模型覆盖配置的问题 ([#8487](https://github.com/earendil-works/pi/pull/8487) by [@petrroll](https://github.com/petrroll))。 - 修复了 `/model` 和 `/thinking` 选择项在未使用 Ctrl+S 显式保存的情况下被全局持久化的问题 ([#5263](https://github.com/earendil-works/pi/issues/5263))。 - 修复了 JSON 和 RPC `toolcall_start` 事件遗漏工具调用 ID 和名称的问题 ([#7953](https://github.com/earendil-works/pi/pull/7953) by [@christianklotz](https://github.com/christianklotz))。 - 修复了当 Node.js CLI 作为单可执行文件运行时扩展加载失败的问题 ([#8237](https://github.com/earendil-works/pi/issues/8237))。 - 修复了 `.agents/skills/` 分组目录内的嵌套 Markdown 技能无法被发现的问题。 - 修复了压缩和分支摘要请求向提供商暴露工具的问题。 - 修复了单个对象的 `edit` 工具输入因验证失败而报错的问题,通过在编码代理和工具包编辑工具中将其作为单编辑数组来接受 ([#7835](https://github.com/earendil-works/pi/issues/7835))。 - 修复了技能目录中的根 Markdown 文件(如 `README.md` 和 `AGENTS.md`)在未声明有效技能 frontmatter 时被报告为损坏技能的问题 ([#7805](https://github.com/earendil-works/pi/issues/7805))。 - 修复了默认 Cerebras 模型引用了不可用的 Z.AI 模型的问题。 - 修复了继承的 OpenAI 兼容 Chat Completions 推理回放功能,以按原样且按顺序保留并重新发送助手级别的 `reasoning_details` ([#7994](https://github.com/earendil-works/pi/issues/7994))。 - 修复了继承的 Anthropic 服务端回退响应按请求模型而非返回的回退模型计费的问题 ([#8285](https://github.com/earendil-works/pi/issues/8285))。 - 修复了继承的 GitHub Copilot 登录触发模型策略速率限制的问题,通过限制策略更新次数、重试模型发现一次并遵守服务器重试延迟 ([#7850](https://github.com/earendil-works/pi/issues/7850))。 - 修复了继承的 Amazon Bedrock 丢弃并无法重放来自非 Anthropic 模型的模糊脱敏推理内容的问题 ([#8314](https://github.com/earendil-works/pi/pull/8314) by [@seiji](https://github.com/seiji))。 - 修复了继承的 Z.AI Coding Plan 模型派生出不完整的推理力度元数据的问题,包括缺失的 GLM-5.3 low、high 和 max 级别 ([#8336](https://github.com/earendil-works/pi/issues/8336))。 - 修复了 OpenCode 和 OpenCode Go 上继承的 DeepSeek V4 Flash 遗漏其支持的 low 思考级别的问题 ([#8181](https://github.com/earendil-works/pi/pull/8181) by [@tianshuang](https://github.com/tianshuang))。 - 修复了继承的 Azure OpenAI Responses 在特定提供商的流请求中忽略 `toolChoice` 的问题。 - 修复了继承的 Amazon Bedrock 响应钩子仅接收合成请求 ID 而非原始响应头的问题 ([#8234](https://github.com/earendil-works/pi/issues/8234))。 - 修复了继承的 Kimi 用量报告,使顶层 `cached_tokens` 计为缓存读取而非普通输入 token ([#8075](https://github.com/earendil-works/pi/issues/8075))。 - 修复了继承的 Google 自定义模型忽略 `thinkingLevelMap` 的问题,该问题导致扩展思考控制丢失 ([#8135](https://github.com/earendil-works/pi/issues/8135))。 - 修复了对 `auth.json` 和 `models-store.json` 的写入覆盖管理员管理的文件权限和 ACL 的问题 ([#7779](https://github.com/earendil-works/pi/issues/7779))。 - 修复了 UTF-8 BOM 标记阻止 frontmatter 和用户配置文件加载的问题 ([#8337](https://github.com/earendil-works/pi/issues/8337))。 - 修复了交互式启动期间无效设置文件容易被忽略的问题,通过在 TUI 内渲染包含文件路径的警告信息 ([#7829](https://github.com/earendil-works/pi/issues/7829))。 - 修复了子代理示例在可信仓库中运行项目本地代理前反复提示的问题 ([#8261](https://github.com/earendil-works/pi/issues/8261))。 - 修复了 npm 包更新检查将较旧的注册表版本视为可用更新,从而阻止 `pi update` 降级已安装的更新包的问题 ([#8226](https://github.com/earendil-works/pi/issues/8226))。 - 修复了在 `PI_OFFLINE` 下 `/llama` 刷新配置服务器时内置 llama.cpp 模型从 `/model` 中消失的问题,并将空闲休眠的 `sleeping` 路由模型纳入可选目录 ([#8167](https://github.com/earendil-works/pi/issues/8167))。 - 修复了 `pi.registerFlag()` 接受与声明的标志类型不匹配的默认值的问题 ([#8064](https://github.com/earendil-works/pi/issues/8064))。 - 修复了 Z.AI Coding Plan 默认值引用已移除的 GLM-5.1 模型的问题 ([#8096](https://github.com/earendil-works/pi/issues/8096))。 - 修复了重复的模糊截断响应恢复被错误标记为上下文溢出的问题 ([#8130](https://github.com/earendil-works/pi/issues/8130))。 - 修复了 Windows 上基于 VS Code 的终端中全屏右键粘贴重复的问题 ([#8186](https://github.com/earendil-works/pi/issues/8186))。 - 修复了继承的填充文本超出窄终端宽度的问题 ([#8252](https://github.com/earendil-works/pi/issues/8252))。 - 修复了继承的换行 Markdown 表格链接将颜色泄漏到边框和相邻单元格的问题,包括引用块内的表格 ([#8335](https://github.com/earendil-works/pi/issues/8335))。 - 修复了 llama.cpp 登录引导,在未加载本地模型时将用户引导至 `/llama` 而非 `/model` ([#8203](https://github.com/earendil-works/pi/issues/8203))。 - 修复了卡住的 pi.dev 模型目录请求耗尽整个刷新超时时间且不重试的问题 ([#8198](https://github.com/earendil-works/pi/issues/8198))。 - 修复了继承的 Xiaomi 模型目录在 `/model` 和 `--list-models` 中列出已停用的 MiMo V2 模型的问题 ([#8187](https://github.com/earendil-works/pi/issues/8187))。 - 修复了分支摘要条目将导航目标记录在 `fromId` 中,而非导航前的源叶子节点的问题。 - 修复了当提供商省略流式使用数据时跳过阈值自动压缩的问题 ([#8328](https://github.com/earendil-works/pi/issues/8328))。 - 通过支持 `--` 作为选项结束分隔符,修复了以短横线开头的提示词被解析为选项的问题 ([#7269](https://github.com/earendil-works/pi/issues/7269))。