← 返回更新日志

Pi v0.70.0

2026-04-23 · GitHub 原文
### 新功能 - 可搜索的身份验证提供商登录流程:`/login` 提供商选择器现在支持模糊搜索/过滤,当配置了多个提供商时,能更快找到目标。详见 [docs/providers.md](docs/providers.md)。([#3572](https://github.com/badlogic/pi-mono/pull/3572) by [@mitsuhiko](https://github.com/mitsuhiko)) - 支持 GPT-5.5 Codex:`openai-codex/gpt-5.5` 现已作为模型选项可用,包括 `xhigh` 推理支持及修正后的优先级分层定价。 - 终端进度指示器现在为可选启用:流式传输/压缩期间的 OSC 9;4 进度报告默认关闭,可通过 `/settings` 中的 `terminal.showTerminalProgress` 进行切换 ([#3588](https://github.com/badlogic/pi-mono/issues/3588)) - `--no-builtin-tools` / `createAgentSession({ noTools: "builtin" })` 现在能正确仅禁用内置工具,同时保持扩展工具处于激活状态。详见 [docs/extensions.md](docs/extensions.md) 和 [README.md](README.md) ([#3592](https://github.com/badlogic/pi-mono/issues/3592)) ### 破坏性变更 - 默认禁用 OSC 9;4 终端进度指示器。在 `/settings` 中将 `terminal.showTerminalProgress` 设置为 `true` 以重新启用 ([#3588](https://github.com/badlogic/pi-mono/issues/3588)) ### 新增 - 新增支持模糊过滤的可搜索身份验证提供商登录流程 ([#3572](https://github.com/badlogic/pi-mono/pull/3572) by [@mitsuhiko](https://github.com/mitsuhiko)) - 新增 GPT-5.5 Codex 模型 - 在 `/login` 中新增身份验证来源标签,以便在身份验证来自 `--api-key`、环境变量或自定义提供商回退时显示提供商条目,同时不暴露密钥。 ### 变更 - 更新了各提供商的默认模型选择,以匹配当前推荐的模型。 - 改进了会话替换或重新加载后的过期扩展上下文错误提示,告知扩展作者避免使用捕获的 `pi`/命令 `ctx`,并在替换后使用 `withSession` 进行处理。 ### 修复 - 修复了 `/model` 选择器取消操作,改为请求渲染而非错误地触发登录选择器。 - 调整了登录、OAuth 和扩展选择器的样式,使其更加一致。 - 在 `/login` 中新增 Amazon Bedrock 设置指南,并更新 `/model` 文案,改为引用已配置的提供商而非仅 API 密钥。 - 改进了无模型和缺失身份验证的警告提示,引导用户前往 `/login` 进行 OAuth 或 API 密钥设置。 - 修复了 `/quit` 的关闭顺序,确保在扩展 UI 销毁重绘之前停止 TUI,从而保留最终渲染帧,同时仍在进程退出前发出 `session_shutdown` 事件。 - 修复了由 SDK 资源加载触发的重新加载后 `SettingsManager.inMemory()` 初始设置丢失的问题 ([#3616](https://github.com/badlogic/pi-mono/issues/3616)) - 修复了 `models.json` 的提供商兼容性,使其接受 `compat.supportsLongCacheRetention`,允许代理在需要时选择退出长保留缓存字段,同时在请求时默认启用长保留 ([#3543](https://github.com/badlogic/pi-mono/issues/3543)) - 修复了 `openai-codex` `gpt-5.5` 的 `--thinking xhigh` 参数,使其不再降级为 `high`。 - 修复了使用自定义 `npmCommand`(如 `pnpm`)时的 git 包安装问题,通过在该兼容路径中避免使用 npm 特定的生产标志来解决 ([#3604](https://github.com/badlogic/pi-mono/issues/3604)) - 修复了现有通知(如压缩摘要或状态消息)之后,第一条用户消息渲染时缺少间距的问题 ([#3613](https://github.com/badlogic/pi-mono/issues/3613)) - 修复了交接扩展示例,使其在创建新会话后使用替换会话上下文,避免在安装生成的提示词时出现过期 `ctx` 错误 ([#3606](https://github.com/badlogic/pi-mono/issues/3606)) - 修复了会话替换和 `/quit` 销毁的顺序,确保主机拥有的扩展 UI 清理在 `session_shutdown` 处理程序完成后、旧扩展上下文失效前同步运行,防止过期扩展 UI 针对已销毁会话进行渲染 ([#3597](https://github.com/badlogic/pi-mono/pull/3597) by [@vegarsti](https://github.com/vegarsti)) - 修复了 `/quit` 时的崩溃问题:当扩展注册了访问 `ctx` 的自定义 footer 时,通过在关闭期间使扩展运行器失效前销毁扩展提供的 UI 来解决 ([#3595](https://github.com/badlogic/pi-mono/issues/3595)) - 修复了自动重试机制,将 Bedrock/Smithy HTTP/2 传输失败(如 `http2 request did not get a response`)视为临时错误,使代理能自动重试,而无需等待手动干预 ([#3594](https://github.com/badlogic/pi-mono/issues/3594)) - 修复了 CLI/SDK 的工具选择逻辑,使 `--no-builtin-tools` 和 `createAgentSession({ noTools: "builtin" })` 仅禁用内置默认工具,同时保留扩展/自定义工具,避免像 `--no-tools` 一样落入“禁用所有工具”的路径 ([#3592](https://github.com/badlogic/pi-mono/issues/3592)) - 修复了剩余的硬编码 `pi` / `.pi` 品牌标识,使其通过 `APP_NAME` 和 `CONFIG_DIR_NAME` 扩展点路由,确保 SDK 品牌重塑在 `/quit` 描述、`process.title` 和项目本地扩展目录中获得一致的命名 ([#3583](https://github.com/badlogic/pi-mono/pull/3583) by [@jlaneve](https://github.com/jlaneve)) - 修复了 `pi-coding-agent` 分发 `uuid@11` 触发 `npm audit` 中等漏洞报告的问题;该包现已依赖 `uuid@14` ([#3577](https://github.com/badlogic/pi-mono/issues/3577)) - 修复了 `openai-completions` 流式工具调用组装逻辑,通过稳定工具索引合并增量数据,以应对 OpenAI 兼容网关在流式传输中途修改工具调用 ID 的情况,防止格式错误的 Kimi K2.6/OpenCode 工具流将一个调用拆分为多个虚假调用 ([#3576](https://github.com/badlogic/pi-mono/issues/3576)) - 修复了 `ctx.ui.setWorkingMessage()` 在 loader 重建后无法持久化的问题,使其行为与 `ctx.ui.setWorkingIndicator()` 保持一致 ([#3566](https://github.com/badlogic/pi-mono/issues/3566)) - 修复了 coding-agent 中主题和 git-footer 监听器的 `fs.watch` 错误处理逻辑,使其在遭遇 `EMFILE` 等临时监听器故障时能够重试,从而避免在大型仓库中启动崩溃 ([#3564](https://github.com/badlogic/pi-mono/issues/3564)) - 修复了内置 `kimi-coding` 模型生成请求时未附加预期 `User-Agent` 头的问题,确保直接调用 Kimi Coding 时使用提供商期望的客户端标识 ([#3586](https://github.com/badlogic/pi-mono/issues/3586)) - 修复了扩展快捷键冲突诊断的显示时机,使其在启动时而非仅重载时显示,以便扩展作者能立即发现保留键绑定冲突,而非事后通过用户反馈才发现 ([#3617](https://github.com/badlogic/pi-mono/issues/3617)) - 修复了 `models.json` 中 Anthropic 兼容提供商的配置,使其接受 `compat.supportsEagerToolInputStreaming` 参数,允许拒绝逐工具 `eager_input_streaming` 的代理改用传统的细粒度工具流式传输 Beta 头 ([#3575](https://github.com/badlogic/pi-mono/issues/3575)) - 修复了启动横幅扩展标签,去除末尾的 `index.js`/`index.ts` 后缀 ([#3596](https://github.com/badlogic/pi-mono/pull/3596) by [@aliou](https://github.com/aliou)) - 修复了 OSC 9;4 终端进度更新在 Ghostty 等终端中长时间运行 Agent 任务时中断的问题 ([#3610](https://github.com/badlogic/pi-mono/issues/3610)) - 修复了 OpenAI 兼容模式的补全用量解析逻辑,避免对已包含在 `completion_tokens` 中的推理 token 进行重复计数 ([#3581](https://github.com/badlogic/pi-mono/issues/3581)) - 修复了严格 OpenAI 兼容代理的 `openai-responses` 兼容性问题,允许在 `models.json` 中通过设置 `compat.sendSessionIdHeader: false` 来禁用包含下划线的 `session_id` 请求头 ([#3579](https://github.com/badlogic/pi-mono/issues/3579)) - 修复了 GPT-5.5 Codex 的能力处理逻辑,将不支持的最小推理级别限制为 `low`,并应用该模型 2.5 倍优先服务层级定价乘数 ([#3618](https://github.com/badlogic/pi-mono/pull/3618) by [@markusylisiurunen](https://github.com/markusylisiurunen))