← 返回更新日志

Pi v1.3.0

2026-10-15 · GitHub 原文
### 新功能 - **选择 `/share` 的上传目标**:`sessionShareDestination` 可选择 `auto`、`gist` 或 `radius`。请参阅[会话与上下文](https://github.com/earendil-works/pi/blob/v1.3.0/packages/coding-agent/docs/settings.md#sessions-and-context)和[导出或分享会话](https://github.com/earendil-works/pi/blob/v1.3.0/packages/coding-agent/docs/sessions.md#export-or-share-a-session)。 - **在 OpenAI GPT-6 上更改思考级别时保留缓存**:使用 API 密钥时,在会话过程中更改思考级别会保留提示词缓存。 - **Kimi Code 改用 Chat Completions**:在对话过程中新增工具不再导致提示词缓存失效。`models.json` 中覆盖的基础 URL 现在必须包含 `/v1`。请参阅[提供商](https://github.com/earendil-works/pi/blob/v1.3.0/packages/coding-agent/docs/providers.md)。 - **无干扰地切换模型**:切换模型时会丢弃上一模型的思考内容,而不是将其作为文本显示给新模型。 - **恢复的会话会保留其已启用的工具**:`--tools +name`/`-name` 会在这些工具的基础上应用。请参阅[工具](https://github.com/earendil-works/pi/blob/v1.3.0/packages/coding-agent/docs/settings.md#tools)。 ### 新增 - 在使用 OpenAI GPT-6 模型(API 密钥)的会话过程中更改思考级别时,现在会保留提示词缓存([#10853](https://github.com/earendil-works/pi/issues/10853)) - 新增 `sessionShareDestination` 设置,用于为 `/share` 选择自动、GitHub Gist 或 Radius 上传方式([#10870](https://github.com/earendil-works/pi/issues/10870),由 [@vegarsti](https://github.com/vegarsti) 贡献) ### 变更 - 将 `kimi-coding` 提供商改为使用官方 Kimi Code 客户端所采用的 OpenAI Chat Completions 协议,端点为 `https://api.kimi.com/coding/v1`。K3、K3-256K 和 Kimi For Coding 现在支持在对话过程中新增工具,而不会导致提示词缓存失效。`models.json` 中对 `kimi-coding` 基础 URL 的覆盖现在必须包含 `/v1`([#10720](https://github.com/earendil-works/pi/issues/10720)) - 模型切换时,现在会丢弃先前由其他模型生成的助手消息中的思考块,而不是将其作为纯文本发送。此前,新模型会将旧模型的推理视为其回复的一部分,并可能开始把自己的推理写入可见答案中([#10995](https://github.com/earendil-works/pi/issues/10995)) ### 修复 - 将 Pi 内部依赖项固定到确切的发布版本,以防止全新安装时混用不兼容的软件包([#10865](https://github.com/earendil-works/pi/issues/10865)) - 修复了恢复会话时丢失会话期间启用的工具的问题。恢复时现在会还原会话中的已启用工具,并在此基础上应用 `--tools +name`/`-name` 条目;但当使用带工具名称的 `--tools`、`--no-tools` 或 `--no-builtin-tools` 显式选择工具时除外([#10785](https://github.com/earendil-works/pi/issues/10785)) - 修复了在 Bun 上停止 codemode 脚本或脚本达到截止时间时,仍需等待不可中断的内置操作返回的问题([#10748](https://github.com/earendil-works/pi/issues/10748)) - 修复了 codemode 反复超时或中止时不断积累未退出工作进程的问题;任务准入机制现在会将跨会话的存活工作进程限制为两个,并在已取消的工作进程实际退出前继续将其计入数量([#10748](https://github.com/earendil-works/pi/issues/10748)) - 修复了当多个提供商均提供匹配模型时,`--model` 会按照目录顺序选择提供商的问题;Pi 现在会优先选择已配置凭据的提供商,否则会报告存在歧义。`--models` 和 `enabledModels` 会为每个提供该模型的提供商分别添加模型,并对歧义发出警告([#10160](https://github.com/earendil-works/pi/issues/10160)) - 修复了 TUI、会话树、HTML 导出和示例中,当参数为数字字符串或 null 时,`read` 行范围标签显示不正确的问题([#9887](https://github.com/earendil-works/pi/issues/9887)) - 修复了提供商切换 API 时 Nix flake 构建失败的问题:当固定的模型目录与最新发布目录中的模型 API 分组不同时,现在会从最新发布的目录刷新该固定版本;发布流程也会固定最新目录,并在打标签前使用该目录完成构建([#10985](https://github.com/earendil-works/pi/issues/10985)) - 修复了 Nix 软件包将其自带的 Node.js 放在 `PATH` 首位,导致 bash 工具 shell 使用 Pi 的 Node 而非用户的 `node`/`npm` 的问题。Pi 的 Node 现在仅作为备用([#10519](https://github.com/earendil-works/pi/issues/10519)) - 修复了提示词模板丢弃空的带引号参数(`""` 或 `''`)的问题;该问题会导致后续位置参数错位,并使位置参数默认值无法生效([#10867](https://github.com/earendil-works/pi/issues/10867)) - 修复了 Nix 软件包构建在安装检查阶段失败的问题,原因是该检查仍预期存在 Pi 已不再依赖的 chord 和 esbuild - 修复了当字符串包含无效的 `\u` 转义(如 `\usepackage`)时,工具调用参数解析会丢弃字段的问题([#10868](https://github.com/earendil-works/pi/issues/10868)) - 修复了错误工具结果中包含图像时,Anthropic 和 Bedrock Claude 请求返回 400 的问题;这些图像现在会在该轮的工具结果之后发送,因此模型仍然可以看到它们([#10794](https://github.com/earendil-works/pi/issues/10794)) - 修复了 OpenCode Go Gemini 模型因返回 404 而失败的问题:已将 OpenCode Zen 和 OpenCode Go 迁移至 `opencode.ai/inference` 端点,并为 OpenCode Go 提供商新增 Google Generative AI 支持 - 修复了 OpenCode Go MiniMax M2.7 因“Model does not support this protocol”而失败的问题,现改用 Anthropic Messages API - 修复了网关返回 `Unable to forward upstream stream` 错误时不会触发自动重试的问题([#10920](https://github.com/earendil-works/pi/issues/10920)) - 修复了出现 `The service is temporarily unavailable` 错误时不会触发自动重试的问题,该问题还会导致上下文压缩在首次尝试时失败([#10965](https://github.com/earendil-works/pi/issues/10965)) - 修复了 LiteLLM 等代理在同一个流数据块中发送推理和正文时,OpenAI 兼容响应会在答案之后显示思考内容的问题([#10926](https://github.com/earendil-works/pi/issues/10926)) - 修复了 Google Vertex 上的 Gemini 4 Argon 请求因“Thinking budget is not supported”而失败,以及其思考级别在 Gemini API 上被忽略的问题([#10890](https://github.com/earendil-works/pi/issues/10890)) - 修复了小米 MiMo 模型在 `minimal` 思考级别下返回 400 的问题;这些模型现在仅提供 `off` 和 `high` 两个级别([#10818](https://github.com/earendil-works/pi/issues/10818)) - 修复了 `openai-codex/gpt-6.1-sol` 使用 272K 上下文窗口,而非 Codex 目前提供的 500K 上下文窗口的问题([#10840](https://github.com/earendil-works/pi/issues/10840)) - 修复了当工具调用的最终参数为格式错误的 JSON 时,系统会静默地仅使用出错前已解析字段执行工具的问题;现在此类调用会验证失败,并向模型显示其发送的原始参数([#10897](https://github.com/earendil-works/pi/issues/10897)) - 修复了 Claude Haiku 5.5 和 Claude Opus 5 不支持 `off` 思考级别的问题([#10753](https://github.com/earendil-works/pi/issues/10753)) - 修复了扩展的 `ctx.ui.custom({ overlay: true })` 调用 `done()` 时关闭最上层叠加层而非其自身的问题;该问题会导致已完成的叠加层仍留在屏幕上,同时另一个扩展的对话框无法完成([#10648](https://github.com/earendil-works/pi/issues/10648)、[#10999](https://github.com/earendil-works/pi/pull/10999),由 [@masonc15](https://github.com/masonc15) 贡献)