pi v0.83.0 版本更新介绍
发布日期: 2026-07-29
版本号: v0.83.0
本次版本更新主要包括新功能、破坏性变更、新增功能、改动和修复。 新功能方面,新增了
pi auth print-api-key和pi auth print-bearer-token命令,用于向外部客户端导出凭证,并支持自动刷新 OAuth 令牌与设置最短有效期。OpenRouter 登录现已支持无头模式,可通过 SSH 在远程环境中粘贴重定向 URL 或授权码完成登录。此外,可通过 GitHub Copilot 使用 Claude Opus 5,它具备自适应思维和 100 万上下文窗口。 破坏性变更主要是将内置的 TypeBox 别名升级到 1.3.7,移除了包括Type.Base、Type.Awaited等在内的多个已弃用 API,使用了这些 API 的扩展需要迁移到受支持的 TypeBox API。同时修复了可空数组工具参数的编译验证问题。 新增功能包括:将配置的凭证导出到外部客户端;将会话已解析的模型作用域暴露给扩展;为支持的文本和图像提供商传输增加了按请求注入fetch的功能;为流式部分消息添加了"pending"停止原因;在 Google、Anthropic 等多家提供商的流中增加了原始提供商停止原因;为 OpenRouter 登录增加了手动输入重定向 URL 和授权码的功能;为 GitHub Copilot 增加了对 Claude Opus 5 的支持。 改动方面,调整了 OAuth 凭证解析逻辑,在令牌有效期少于五分钟时即进行刷新,而非等到过期。 修复了多个问题,包括:工具输出展开时显示状态行;修复了文件支持的SYSTEM.md和APPEND_SYSTEM.md提示在交互式启动上下文列表中被遗漏的问题;修复了当链接的 Git 工作树嵌套在主仓库下时,上下文文件被加载两次的问题;修复了 llama.cpp 流式响应报告零令牌使用量且会话上下文计数为空的问题;修复了在响应期间替换会话和导航已提交树时,会话会中止并保留当前轮次,而不是留下悬空的工具调用;修复了失败的 Git 包安装留下部分目录阻碍重试的问题;修复了/model选择器在过滤时保留过时选择项而不是高亮顶部匹配项的问题;修复了直接 RPC bash 命令绕过扩展user_bash处理程序的问题;修复了扩展重新加载资源后,技能、提示和主题丢失包源元数据的问题;修复了并发运行的用户 bash 命令取消时未中止所有活动命令的问题;修复了扩展在交互式启动期间切换会话时出现重复消息的问题;修复了继承的 Qwen Token Plan 推理模型发送其服务特定思维控制和支持的推理努力级别;修复了通过不支持的参数发送继承的 Z.AI 输出限制;修复了显式配置的 Amazon Bedrock 配置文件被环境 AWS 访问密钥覆盖的问题;修复了继承的图像回退路径在窄终端中溢出、缩短了主目录路径,并在终端超链接可用时使绝对路径可点击;修复了继承的 OpenAI 兼容工具调用在畸形 delta 包含空custom对象时丢失其函数参数的问题。
更新内容 (中文)
新功能
- 对外客户端凭证导出 ——
pi auth print-api-key和pi auth print-bearer-token可导出已配置的凭证,并支持自动 OAuth 刷新与最小有效期强制执行。 - 无头 OpenRouter 登录 —— 当本地回环回调不可用时,可通过粘贴重定向 URL 或授权码,在 SSH 中完成
/login流程。详见 OpenRouter。 - GitHub Copilot 支持 Claude Opus 5 —— 通过 GitHub Copilot 使用 Claude Opus 5,具备自适应思维与 100 万上下文窗口。详见 GitHub Copilot。
破坏性变更
- 升级了内置 TypeBox 别名至 1.3.7,移除了包括
Type.Base、Type.Awaited、Type.Promise、Type.AsyncIterator、Type.Iterator、Type.Options和Value.Mutate在内的弃用 API,同时修复了可空数组工具参数的编译验证问题。使用已移除 API 的扩展必须迁移到受支持的 TypeBox API。详见 Package Dependencies (#7243 by @petrroll)。
新增内容
- 新增
pi auth print-api-key和pi auth print-bearer-token命令,用于将已配置的凭证导出至外部客户端,包含自动 OAuth 刷新和可配置的最小令牌有效期 (#7168)。 - 向扩展公开会话已解析的模型范围为
ctx.scopedModels。详见 Extension Context (#7191 by @pungggi, #7215)。 - 为支持的文本和图像提供商传输层添加了继承的每请求
fetch注入。 - 为部分流式消息添加了继承的
"pending"停止原因。详见 Custom Provider Stream Pattern (#7151 by @lucasmeijer)。 - 在 Google、Anthropic、Amazon Bedrock、Mistral 和 OpenAI 流中添加了继承的原始提供商停止原因;未映射的终止原因现在作为提供商错误显示,而非成功停止 (#7272)。
- 为 OpenRouter 登录添加了手动输入重定向 URL 和授权码功能,适用于远程和无头环境。详见 OpenRouter (#7114 by @rgarcia)。
- 为 GitHub Copilot 添加了继承的 Claude Opus 5 支持,具备自适应思维和 100 万上下文窗口。详见 GitHub Copilot (#7158 by @jay-aye-see-kay)。
变更
- 更改了继承的 OAuth 凭证解析逻辑,在令牌有效期剩余不足五分钟时进行刷新,而非等到过期 (#7168)。
修复
- 在工具输出展开切换时添加了状态行 (#7180)。
- 修复了基于文件的
SYSTEM.md和APPEND_SYSTEM.md提示在交互式启动上下文列表中被省略的问题。详见 System Prompt Files (#7096)。 - 修复了当链接的 Git 工作树嵌套在其主仓库下时,上下文文件被加载两次的问题。详见 Context Files (#7221 by @arajkumar)。
- 修复了 llama.cpp 流式响应报告零令牌使用量并导致会话上下文统计为空的问题。详见 llama.cpp (#7258 by @SteveImmanuel)。
- 修复了在活跃响应期间进行会话替换和已提交树导航时,会中止并持久化外出轮次,而非留下悬空的工具调用的问题。详见 Sessions (#7022 by @tmustier)。
- 修复了 Git 包安装失败后留下的部分目录会阻止干净重试的问题。详见 Install and Manage (#7210 by @haoqixu)。
- 修复了
/model选择器在过滤时保留过时选择而非高亮显示最匹配项的问题 (#7211 by @christianbasch)。 - 修复了直接 RPC bash 命令绕过扩展
user_bash处理程序的问题。详见 User Bash Events (#7214)。 - 修复了技能、提示和主题在扩展重新加载资源后丢失包来源元数据的问题。详见 Resource Events (#6968)。
- 修复了并发运行的用户 bash 命令取消时,所有活跃命令都会被中止的问题 (#7103 by @yzhg1983)。
- 修复了扩展在交互式启动期间切换会话时出现重复消息的问题 (#7110 by @yzhg1983)。
- 修复了继承的 Qwen Token Plan 推理模型发送其特定于服务的思考控制和所支持的推理努力级别的问题 (#6951, #6998)。
- 修复了继承的 Z.AI 输出限制通过不支持的参数发送的问题。详见 Providers (#7174 by @HyeokjaeLee)。
- 修复了显式配置的 Amazon Bedrock 配置文件被环境 AWS 访问密钥覆盖的问题。详见 Amazon Bedrock (#7176 by @christianbasch)。
- 修复了继承的图像回退路径在狭窄终端中溢出、缩短了主目录路径,并在终端超链接可用时使绝对路径可点击 (#7262)。
- 修复了继承的 OpenAI 兼容工具调用在畸形 delta 也包含空
custom对象时丢失其函数参数的问题 (#7288 by @sunnyyoung)。
更新内容 (原始)
New Features
- Credential export for external clients —
pi auth print-api-keyandpi auth print-bearer-tokenexport configured credentials with automatic OAuth refresh and minimum-validity enforcement. - Headless OpenRouter sign-in — Complete
/loginover SSH by pasting the redirect URL or authorization code when the loopback callback is unavailable. See OpenRouter. - Claude Opus 5 on GitHub Copilot — Use Claude Opus 5 through GitHub Copilot with adaptive thinking and a 1M context window. See GitHub Copilot.
Breaking Changes
- Upgraded bundled TypeBox aliases to 1.3.7, removing deprecated APIs including
Type.Base,Type.Awaited,Type.Promise,Type.AsyncIterator,Type.Iterator,Type.Options, andValue.Mutate, while fixing compiled validation of nullable array tool arguments. Extensions using removed APIs must migrate to supported TypeBox APIs. See Package Dependencies (#7243 by @petrroll).
Added
- Added
pi auth print-api-keyandpi auth print-bearer-tokencommands for exporting configured credentials to external clients, including automatic OAuth refresh and configurable minimum token validity (#7168). - Exposed the session’s resolved model scope as
ctx.scopedModelsto extensions. See Extension Context (#7191 by @pungggi, #7215). - Added inherited per-request
fetchinjection for supported text and image provider transports. - Added the inherited
"pending"stop reason for partial streaming messages. See Custom Provider Stream Pattern (#7151 by @lucasmeijer). - Added inherited raw provider stop reasons across Google, Anthropic, Amazon Bedrock, Mistral, and OpenAI streams; unmapped terminal reasons now surface as provider errors instead of successful stops (#7272).
- Added manual redirect URL and authorization-code entry to OpenRouter login for remote and headless environments. See OpenRouter (#7114 by @rgarcia).
- Added inherited Claude Opus 5 support for GitHub Copilot with adaptive thinking and a 1M context window. See GitHub Copilot (#7158 by @jay-aye-see-kay).
Changed
- Changed inherited OAuth credential resolution to refresh tokens with less than five minutes of validity remaining instead of waiting until expiration (#7168).
Fixed
- Added a status line when the tool output expansion is toggled (#7180).
- Fixed file-backed
SYSTEM.mdandAPPEND_SYSTEM.mdprompts being omitted from the interactive startup context listing. See System Prompt Files (#7096). - Fixed context files loading twice when a linked Git worktree is nested under its main repository. See Context Files (#7221 by @arajkumar).
- Fixed llama.cpp streamed responses reporting zero token usage and leaving session context accounting empty. See llama.cpp (#7258 by @SteveImmanuel).
- Fixed session replacement and committed tree navigation during an active response to abort and persist the outgoing turn instead of leaving dangling tool calls. See Sessions (#7022 by @tmustier).
- Fixed failed Git package installs leaving partial directories that blocked clean retries. See Install and Manage (#7210 by @haoqixu).
- Fixed the
/modelselector retaining a stale selection while filtering instead of highlighting the top match (#7211 by @christianbasch). - Fixed direct RPC bash commands bypassing extension
user_bashhandlers. See User Bash Events (#7214). - Fixed skills, prompts, and themes losing package source metadata after extensions reload resources. See Resource Events (#6968).
- Fixed cancellation of concurrently running user bash commands so every active command is aborted (#7103 by @yzhg1983).
- Fixed duplicate messages appearing when extensions switch sessions during interactive startup (#7110 by @yzhg1983).
- Fixed inherited Qwen Token Plan reasoning models to send their service-specific thinking controls and supported reasoning-effort levels (#6951, #6998).
- Fixed inherited Z.AI output limits being sent through an unsupported parameter. See Providers (#7174 by @HyeokjaeLee).
- Fixed explicitly configured Amazon Bedrock profiles being overridden by ambient AWS access keys. See Amazon Bedrock (#7176 by @christianbasch).
- Fixed inherited image fallback paths overflowing narrow terminals, shortened home-directory paths, and made absolute paths clickable when terminal hyperlinks are available (#7262).
- Fixed inherited OpenAI-compatible tool calls losing their function arguments when malformed deltas also contain an empty
customobject (#7288 by @sunnyyoung).