← 返回更新日志

Pi v0.84.0

2026-08-06 · GitHub 原文
### 新功能 - **全屏 TUI 模式** — 在运行时切换常规与全屏模式,编辑器与页脚固定,转录文本可独立滚动,并支持拖拽滚动条。详见 [UI & Display](https://github.com/earendil-works/pi/blob/v0.84.0/packages/coding-agent/docs/settings.md#ui--display)。 - **Mermaid 与 LaTeX 渲染** — 在交互式转录文本中渲染 Mermaid 图表及终端友好的 Unicode 数学公式。详见 [Markdown settings](https://github.com/earendil-works/pi/blob/v0.84.0/packages/coding-agent/docs/settings.md#markdown) 和 [TUI Markdown](https://github.com/earendil-works/pi/blob/v0.84.0/packages/tui/README.md#markdown)。 - **按目录覆盖上下文** — 使用 `AGENTS.override.md` 替换特定目录的上下文文件。详见 [Context Files](https://github.com/earendil-works/pi/blob/v0.84.0/packages/coding-agent/docs/usage.md#context-files)。 - **高级自定义模型采样** — 配置任意 OpenAI 兼容的 `samplingParams` 及可选的 vLLM `thinking_token_budget` 值。详见 [Sampling Parameters](https://github.com/earendil-works/pi/blob/v0.84.0/packages/coding-agent/docs/models.md#sampling-parameters)。 - **Baseten 提供商** — 使用内置的 Baseten 认证与模型支持。详见 [API Keys](https://github.com/earendil-works/pi/blob/v0.84.0/packages/coding-agent/docs/providers.md#api-keys)。 ### 重大变更 - 将继承自 pi-ai 的 `ModelsStreamTransforms` 接口重命名为 `ModelsRequestTransforms`,因为其头部转换现在适用于所有经过身份验证的提供商请求。 - 修改 JSON 和 RPC 的 `message_update` 事件,仅输出 `assistantMessageEvent` 增量,移除了导致输出呈二次方增长的累积型 `message` 和 `assistantMessageEvent.partial` 字段。需要部分消息的客户端必须在 `message_start` 和 `message_end` 之间自行拼接增量;后者仍为权威来源([#7290](https://github.com/earendil-works/pi/issues/7290))。 - `ModelRegistry.getApiKeyAndHeaders()` 现在返回值为 `string | null` 的 `ProviderHeaders`,并保留 `null` 头部删除标记。检查返回头部的扩展必须处理 `null` 值;将头部转发至 pi-ai 流的扩展应原样透传。此举可防止占位符 OpenAI 凭证通过 Cloudflare AI Gateway 发送([#7030](https://github.com/earendil-works/pi/issues/7030))。 - 修改 `ModelRegistry.refresh()` 以接受 `ModelsRefreshOptions` 并返回 `ModelsRefreshResult`,不再丢弃取消和提供商错误。 - 修改 `ModelRuntime.setRuntimeApiKey()` 以接受认证取消选项,而非目录刷新选项。当需要远程数据新鲜度时,请单独调用 `refresh({ providers: [providerId], signal })`。 - 要求配置表单扩展的 OAuth `refreshToken(credentials, signal)` 回调必须接受并尊重具体的中止信号。 - 将动态提供商刷新上下文存储访问替换为只读的 `context.stored` 快照以及带代次校验的 `context.publish()` 事务。 **使用 `createProvider({ fetchModels })` 构建的提供商:** 无需进行目录发布迁移。迁移前后,只需返回获取的模型并注册生成的提供商即可;`createProvider()` 负责恢复、持久化和内存发布。 ```ts // Before const beforeProvider = createProvider({ // ... fetchModels: async ({ signal }) => { const response = await fetch(catalogUrl, { signal }); return parseModels(await response.json()); }, }); pi.registerProvider(beforeProvider); // After: unchanged const afterProvider = createProvider({ // ... fetchModels: async ({ signal }) => { const response = await fetch(catalogUrl, { signal }); return parseModels(await response.json()); }, }); pi.registerProvider(afterProvider); ``` **手写原生 `Provider.refreshModels()`:** 用带代次守卫的发布机制替换直接存储访问和发布前的修改。 ```ts // Before refreshModels: async (context) => { const stored = await context.store.read(); if (stored) currentModels = stored.models; if (!context.allowNetwork) return; const refreshed = await fetchModels(context.signal); currentModels = refreshed; await context.store.write({ models: refreshed, checkedAt: Date.now() }); }, // After refreshModels: async (context) => { if (context.stored) { const restored = context.stored.models; if (!(await context.publish({ update: () => { currentModels = restored; }, }))) return; } if (!context.allowNetwork) return; const refreshed = await fetchModels(context.signal); if (context.signal.aborted) return; await context.publish({ persist: { models: refreshed, checkedAt: Date.now() }, update: () => { currentModels = refreshed; }, }); }, ``` 对于配置表单的 `pi.registerProvider(name, { refreshModels })`,仅返回模型的回调保持不变;pi 会发布返回的列表。如果此类回调之前使用 `context.store` 进行自定义持久化,请读取 `context.stored` 并调用 `context.publish({ persist: entry })`。在 `publish()` 中,省略 `persist` 以保持存储不变,传入 `ModelsStoreEntry` 进行写入,或传入 `persist: null` 以删除它。 - 替换了继承自 pi-agent-core 的 harness 会话模型,采用基于车道(lane)的 v4 `Session`、`SessionStorage` 和 `SessionRepo` API,包含持久化操作记录、全局事实、共享序列号及树作用域的车道视图。 - 将继承自 pi-agent-core 的 v2 会话和 `AgentHarness` API 从实验性入口提升为默认导出,并移除了实验性子路径。 - 移除了继承的旧版 JSONL 和内存仓库 API。请使用 pi-agent-core 的 v4 `JsonlSessionRepo` 或 `InMemorySessionRepo`,两者均实现了新的 `SessionRepo` 契约。 - 添加了继承的 pi-agent-core 必需操作 `FileSystem.renameFile()`,用于实现 JSONL 的原子发布;自定义 harness 文件系统实现必须提供同文件系统替换语义([#7707](https://github.com/earendil-works/pi/pull/7707) by [@davidbrai](https://github.com/davidbrai))。 - 使用持久化 `SessionMetadata` 替换了实验性的远程会话列表摘要;`RemoteSession.sessions` 不再暴露运行阶段、模型、思考、附件或锁定状态,这些状态仍可通过获取的 `SessionSnapshot` 值获得([#7708](https://github.com/earendil-works/pi/pull/7708))。 ### 新增 - 新增内置 Baseten 提供商支持,使用 `BASETEN_API_KEY` 进行认证,默认模型为 `zai-org/GLM-5.2`。 - 新增实验性远程会话客户端 API:传输中立的 `PiClient`、CBOR 协议、Unix 套接字传输,以及带有对话记录缩减器的 `@earendil-works/pi-coding-agent/client` `RemoteSession` 控制器。参见 [Pi Client](https://github.com/earendil-works/pi/blob/v0.84.0/packages/client/README.md) 和 [Remote Protocol](https://github.com/earendil-works/pi/blob/v0.84.0/packages/protocol/README.md)([#7344](https://github.com/earendil-works/pi/pull/7344), [#7348](https://github.com/earendil-works/pi/pull/7348), [#7371](https://github.com/earendil-works/pi/pull/7371), [#7409](https://github.com/earendil-works/pi/pull/7409))。 - 新增 `CredentialSynchronizationError`,用于处理凭证更改成功提交但未能同步本地模型状态的情况。 - 新增可链式调用的 `pi.registerMarkdownTransformer()` 钩子,用于仅对显示层面的用户和助手 Markdown 进行转换。参见 [`pi.registerMarkdownTransformer()`](https://github.com/earendil-works/pi/blob/v0.84.0/packages/coding-agent/docs/extensions.md#piregistermarkdowntransformertransformer)([#7231](https://github.com/earendil-works/pi/pull/7231) by [@xl0](https://github.com/xl0))。 - 新增实验性全屏 TUI 模式,可通过 `--tui-mode fullscreen` 或 `/settings` 选择([#7304](https://github.com/earendil-works/pi/issues/7304))。 - 新增通过 `/settings` 在运行时切换常规与全屏 TUI 模式的功能。 - 在全屏模式下新增固定的编辑器、状态、组件和页脚停靠栏,同时保持对话记录可独立滚动。 - 为全屏模式新增可拖动的对话记录滚动条,支持通过 `/settings` 配置 `auto`、`always` 和 `hidden` 模式;`always` 模式会保留最右侧列。 - 为全屏模式新增页面滚动和已标记消息导航的快捷键。 - 为全屏滚动条滑块新增可选的 `scrollbarThumb` 主题色,默认回退至 `selectedBg`。 - 为交互式消息中支持的 Mermaid 图表新增可配置的 Unicode 渲染主题,包括流式传输期间的可选渲染。参见 [Markdown settings](https://github.com/earendil-works/pi/blob/v0.84.0/packages/coding-agent/docs/settings.md#markdown)([#7624](https://github.com/earendil-works/pi/pull/7624) by [@xl0](https://github.com/xl0))。 - 新增可选的 `Ctrl+P`/`Ctrl+N` 提示词历史导航功能,当编辑器获得焦点时,显式历史绑定将优先于应用程序快捷键。 - 新增按目录划分的 `AGENTS.override.md` 上下文文件,用于替换同目录下的 `AGENTS.md` 或 `CLAUDE.md`,同时保留其他目录的上下文。参见 [Context Files](https://github.com/earendil-works/pi/blob/v0.84.0/packages/coding-agent/docs/usage.md#context-files)([#7681](https://github.com/earendil-works/pi/pull/7681) by [@Marvae](https://github.com/Marvae))。 - 在 CLI 和 RPC 子进程环境中新增 `AI_AGENT=pi`,用于通用代理归属标识。参见 [Environment Variables](https://github.com/earendil-works/pi/blob/v0.84.0/packages/coding-agent/README.md#environment-variables)([#7493](https://github.com/earendil-works/pi/pull/7493) by [@renaudhartert-db](https://github.com/renaudhartert-db))。 - 新增继承的 Markdown 中 LaTeX 表达式的终端友好型 Unicode 渲染。参见 [TUI Markdown](https://github.com/earendil-works/pi/blob/v0.84.0/packages/tui/README.md#markdown)。 - 在全屏模式下新增堆叠式临时通知。 - 通过 `models.json`、模型覆盖、扩展提供商和流选项中的 `samplingParams`,新增任意 OpenAI 兼容模型的采样参数。参见 [Sampling Parameters](https://github.com/earendil-works/pi/blob/v0.84.0/packages/coding-agent/docs/models.md#sampling-parameters)([#7568](https://github.com/earendil-works/pi/pull/7568) by [@mrexodia](https://github.com/mrexodia))。 - 新增继承的可选 vLLM `thinking_token_budget` 支持(适用于 OpenAI 兼容模型),为最终答案预留输出令牌([#7638](https://github.com/earendil-works/pi/pull/7638) by [@bnsd55](https://github.com/bnsd55))。 - 新增继承的 OpenAI 兼容流支持,当流结束时若省略 `finish_reason`,将使用 `compat.supportsFinishReason` 推断正常结束和工具调用停止。参见 [OpenAI Compatibility](https://github.com/earendil-works/pi/blob/v0.84.0/packages/coding-agent/docs/models.md#openai-compatibility)。 - 添加了继承的延迟提供者请求契约、持久化响应句柄、认证获取/取消调度,以及针对 pending、ready、failed 和 cancelled 响应的伪提供者支持 ([#7339](https://github.com/earendil-works/pi/pull/7339) by [@davidbrai](https://github.com/davidbrai))。 - 添加了继承的厂商中立遥测契约,以及代理拥有的类型化 AI 请求和 harness 模式、组合的 span 启动器和回调辅助函数。请参阅 [代理遥测规范参考](https://github.com/earendil-works/pi/blob/v0.84.0/packages/agent/docs/telemetry-schema.md)。 - 添加了继承的结构化 Amazon Bedrock 故障诊断信息,包含 HTTP 状态码、模型错误码以及可用时的 AWS 请求 ID ([#7286](https://github.com/earendil-works/pi/pull/7286) by [@brianstanley](https://github.com/brianstanley))。 - 添加了继承的 `AgentOptions.shouldStopAfterTurn`,用于在轮次完成后、处理排队消息或下一次模型调用之前优雅地停止。请参阅 [Agent 选项](https://github.com/earendil-works/pi/blob/v0.84.0/packages/agent/README.md#agent-options) ([#7367](https://github.com/earendil-works/pi/pull/7367) by [@acmerfight](https://github.com/acmerfight))。 - 添加了继承的 v4 `JsonlSessionRepo` 对仅追加模式的 JSONL harness 会话的支持 ([#7611](https://github.com/earendil-works/pi/pull/7611) by [@davidbrai](https://github.com/davidbrai))。 - 向 v4 会话 API 添加了继承的有界分支条目和索引化开放操作恢复查询 ([#7448](https://github.com/earendil-works/pi/pull/7448), [#7646](https://github.com/earendil-works/pi/pull/7646))。 - 添加了继承的编译完整的 `AgentHarness` v2 脚手架;未完成的操作路径将抛出 `HarnessNotImplemented` 拒绝,同时持久化执行功能正在实现中。 ### 更改 - 为 pi-ai `ModelsStore` 的读取、写入和删除操作添加了继承的可选取消功能;目录编排将这些等待绑定到提供者刷新信号。 - 将继承的默认全屏鼠标滚轮步长从三行减少到一行,以实现更精细的滚动。 ### 修复 - 修复了页脚在未知订阅的通用 OAuth/OpenID 登录时显示 `(sub)` 的问题;扩展 OAuth 提供者可通过 `isSubscription` 选择加入。 - 修复了继承的 OAuth 令牌刷新问题,使停滞的请求能够释放凭证存储锁 ([#7508](https://github.com/earendil-works/pi/issues/7508))。 - 修复了继承的工具参数验证逻辑,使其在强制转换前保留已匹配 `anyOf`/`oneOf` 联合分支的值,避免可空联合将 `null` 转换为其他原始值 ([#7328](https://github.com/earendil-works/pi/issues/7328))。 - 修复了继承的 Fireworks GLM 5.2 请求在启用长缓存保留时发送不受支持的 `prompt_cache_retention` 字段的问题,并启用了会话亲和性以支持自动提示词缓存 ([#7676](https://github.com/earendil-works/pi/issues/7676))。 - 修复了继承的 `JsonlSessionRepo` 跨工作目录全局强制会话 ID 的问题;现在每个工作目录内的会话 ID 保持唯一。 - 修复了继承的 JSONL 会话分支和断尾修复的发布逻辑,使其原子化执行,避免在写入中断后产生部分写入或损坏的会话 ([#7707](https://github.com/earendil-works/pi/pull/7707) by [@davidbrai](https://github.com/davidbrai))。 - 修复了 Windows 系统下包含路径的 `find` 通配符返回无结果的问题 ([#6817](https://github.com/earendil-works/pi/issues/6817))。 - 修复了手动 `/compact` 期间排队的消息未能发送,而是直接失败的问题,现在会在压缩完成后正常发送。 - 修复了传递给内置文件工具的 Git Bash、MSYS、Cygwin 和 WSL 驱动器路径被错误解析为当前 Windows 驱动器而非其原生驱动器的问题 ([#7064](https://github.com/earendil-works/pi/issues/7064), [#7547](https://github.com/earendil-works/pi/issues/7547))。 - 修复了项目级嵌套提供者重试设置替换未修改的全局提供者重试设置的问题 ([#7572](https://github.com/earendil-works/pi/issues/7572))。 - 修复了继承的 GitHub Copilot Grok 4.5 请求以使用受支持的 Responses API ([#7560](https://github.com/earendil-works/pi/issues/7560))。 - 修复了全屏关闭时将终端能力查询回复泄漏到父 shell 提示符的问题。 - 修复了多个提供者共享的裸精确 `--model` ID 选择目录中第一个条目,而非唯一认证提供者或抛出明确歧义错误的问题 ([#7327](https://github.com/earendil-works/pi/issues/7327))。 - 通过将发布可执行文件针对 Bun 的基础运行时进行编译,修复了独立 x64 二进制文件要求 Haswell 时代 AVX2/BMI2 指令的问题 ([#7390](https://github.com/earendil-works/pi/pull/7390) by [@davidbrai](https://github.com/davidbrai))。 - 修复了全屏模式下 `Ctrl+X` 复制确认操作添加转录状态行而非显示短暂 `Copied!` 标记的问题。 - 修复了全屏模式下 Kitty 图像预览在滚动时与固定编辑器及页脚停靠栏重叠的问题。 - 修复了图像密集型全屏会话在布局变化时因重传可见 Kitty 图像负载且每帧渲染两次转录内容而导致卡顿的问题。 - 修复了 `/settings` 搜索中输入空格时切换高亮设置的问题,现在输入 **TUI mode** 或 **Quiet startup** 等多词查询时行为正常。 - 修复了自定义编辑器未继承默认编辑器自动补全下拉项限制的问题 ([#7333](https://github.com/earendil-works/pi/issues/7333))。 - 修复了包清单中格式错误的资源数组导致会话启动崩溃的问题 ([#7187](https://github.com/earendil-works/pi/issues/7187))。 - 修复了 DOOM 覆盖示例从失效 URL 下载其共享版 WAD 的问题。 - 修复了 `setToolsExpanded(false)` 在工具输出已折叠时变为空操作的问题,从而避免扩展产生冗余的 `Tool output: collapsed` 启动通知 ([#7292](https://github.com/earendil-works/pi/issues/7292))。 - 修复了自定义压缩、交接和问答示例中由扩展驱动的模型调用,使其通过 coding-agent 模型运行时调度,从而保留自定义提供商和已解析的认证选项 ([#7325](https://github.com/earendil-works/pi/pull/7325))。 - 修复了当其他进程更新 `auth.json` 时,由于未对并发凭证读取进行序列化且延迟了启动,导致长时间运行的会话使用过期凭证的问题 ([#7319](https://github.com/earendil-works/pi/issues/7319))。 - 修复了并发的 `models-store.json` 读取形成文件锁车队并延迟启动的问题。 - 将打包的 `brace-expansion` 依赖更新至 5.0.8 以解决 GHSA-mh99-v99m-4gvg ([#7316](https://github.com/earendil-works/pi/issues/7316))。 - 修复了强制模型可用性刷新被卡住的早期刷新阻塞的问题 ([#7301](https://github.com/earendil-works/pi/issues/7301), [#7421](https://github.com/earendil-works/pi/pull/7421) by [@a-yeyang](https://github.com/a-yeyang))。 - 修复了 `/model` 目录刷新失败时无法识别每个失败目录的问题。 - 通过将本地凭证一致性与有界后台数据新鲜度分离,修复了模型目录刷新停滞时保存凭证后提供商登录仍卡住的问题 ([#7027](https://github.com/earendil-works/pi/issues/7027), [#7113](https://github.com/earendil-works/pi/issues/7113), [#7418](https://github.com/earendil-works/pi/issues/7418))。 - 修复了 `/scoped-models` 在渲染前等待远程目录,而不是显示缓存模型并在关闭时取消刷新的问题 ([#7153](https://github.com/earendil-works/pi/issues/7153))。 - 修复了 `/model <name>` 在检查缓存模型匹配前等待目录刷新的问题 ([#7443](https://github.com/earendil-works/pi/issues/7443))。 - 修复了较新的可用性检查完成后,仍发布过期可用性快照和错误的问题。 - 修复了较新的提供商刷新完成后,仍发布 pi.dev、Radius、llama.cpp 和扩展目录的过期刷新结果的问题。 - 修复了等待基于文件的凭证或模型目录锁时的取消操作,防止已取消的变更在稍后运行或提交。 - 修复了并发的内存凭证变更丢失无关提供商更新的问题,方法是对它们的读-改-写部分进行序列化。 - 将 `undici` 更新至 8.9.0,并将打包的 `brace-expansion` 更新至 5.0.9,以解决 GHSA-8xcm-r25x-g524、GHSA-4cwx-7wf7-3272、GHSA-m8rv-5g2x-5cg5、GHSA-jr45-8vmc-qm54、GHSA-v3r7-h72x-cjcm 和 GHSA-rgw5-rvv9-x895。 - 修复了 GitHub Copilot 压缩和分支摘要使用 Individual 端点,而不是凭证解析的 Business 或 Enterprise 端点的问题 ([#6768](https://github.com/earendil-works/pi/issues/6768))。 - 修复了扩展模型调用在转发请求认证时丢弃凭证解析的端点的问题,包括使用 GitHub Copilot Business 和 Enterprise 账户的自定义压缩 ([#7579](https://github.com/earendil-works/pi/issues/7579))。 - 修复了全屏转录导航中缺少编辑器可访问的 `Home`、`End`、`PageUp` 或 `PageDown` 变体的问题,通过添加 Ctrl 修饰的编辑器绑定 ([#7574](https://github.com/earendil-works/pi/issues/7574))。 - 修复了扩展事件总线监听器在会话重新加载和销毁后仍然存活的问题 ([#7656](https://github.com/earendil-works/pi/pull/7656) by [@tudoroancea](https://github.com/tudoroancea))。 - 修复了在没有 X11 剪贴板可用时,`/copy` 在 Wayland 上无法读取剪贴板文本的问题 ([#7387](https://github.com/earendil-works/pi/pull/7387))。 - 通过增加连接超时时间,修复了慢速连接在初始连接尝试期间失败的问题 ([#7435](https://github.com/earendil-works/pi/pull/7435) by [@muyiyr](https://github.com/muyiyr))。 - 修复了扩展和内置工具返回的超大图像绕过自动图像调整大小的问题。请参阅 [图像设置](https://github.com/earendil-works/pi/blob/v0.84.0/packages/coding-agent/docs/settings.md#terminal--images) ([#7330](https://github.com/earendil-works/pi/pull/7330) by [@tizmagik](https://github.com/tizmagik))。 - 修复了会话发现功能遗漏通过符号链接目录存储的会话的问题 ([#7552](https://github.com/earendil-works/pi/pull/7552) by [@muyiyr](https://github.com/muyiyr))。 - 修复了手动压缩与阈值自动压缩之间的竞态条件 ([#7370](https://github.com/earendil-works/pi/pull/7370) by [@davidbrai](https://github.com/davidbrai))。 - 修复了响应被截断至低于预期输出限制时直接结束运行,而不是进行压缩并重试一次的问题 ([#7540](https://github.com/earendil-works/pi/pull/7540) by [@davidbrai](https://github.com/davidbrai))。 - 修复了当 `git clean` 无法删除被忽略的依赖目录时,Git 包更新导致依赖缺失的问题 ([#7570](https://github.com/earendil-works/pi/pull/7570) by [@mrexodia](https://github.com/mrexodia))。 - 修复了来自 POSIX 和 Windows 文件系统根目录的 `find` 结果丢失第一个路径段或获得重复尾部分隔符的问题 ([#7569](https://github.com/earendil-works/pi/pull/7569) by [@petrroll](https://github.com/petrroll))。 - 修复了版本检查、目录、托管工具和包管理的临时 HTTP 失败未被重试的问题 ([#7632](https://github.com/earendil-works/pi/pull/7632) by [@petrroll](https://github.com/petrroll))。 - 修复了交互式错误忽略已配置输出内边距的问题。 - 修复了继承的 OpenCode Go 提供商显示名称。 - 修复了继承提供商的错误规范化将数组和类实例视为结构化响应体,而不是保留其原始错误的问题 ([#7205](https://github.com/earendil-works/pi/pull/7205) by [@erikogenvik](https://github.com/erikogenvik))。 - 修复了继承的 Anthropic 流在初始内容块事件中丢弃文本或思考内容的问题 ([#7358](https://github.com/earendil-works/pi/pull/7358) by [@davidbrai](https://github.com/davidbrai))。 - 修复了继承的 Google 历史记录转换中丢弃重放所需的签名空文本和思考块的问题 ([#7362](https://github.com/earendil-works/pi/pull/7362) by [@jingtao-wisdomgraph](https://github.com/jingtao-wisdomgraph))。 - 修复了继承的 OpenAI Codex 缓存 WebSocket 会话在不同账户凭据间被共享的问题 ([#7364](https://github.com/earendil-works/pi/pull/7364))。 - 修复了继承的 Google Generative AI 和 Vertex AI 临时提供商错误绕过自动重试的问题 ([#7471](https://github.com/earendil-works/pi/pull/7471) by [@vish-pr](https://github.com/vish-pr))。 - 修复了继承的 Gemini 3 工具调用 ID 在历史记录转换中被丢弃,导致签名多轮重放失效的问题 ([#7494](https://github.com/earendil-works/pi/pull/7494) by [@muyiyr](https://github.com/muyiyr))。 - 恢复了通过账户特定策略响应返回的继承 GitHub Copilot 模型 ([#7672](https://github.com/earendil-works/pi/pull/7672) by [@muyiyr](https://github.com/muyiyr))。 - 将已停用的继承 Qwen Token Plan `qwen3.8-max-preview` 模型替换为 `qwen3.8-max` ([#7670](https://github.com/earendil-works/pi/pull/7670) by [@QuintinShaw](https://github.com/QuintinShaw))。 - 修复了继承的终端宽度未正确计算印度语系连字字素簇的问题 ([#6987](https://github.com/earendil-works/pi/pull/6987) by [@petrroll](https://github.com/petrroll))。 - 修复了继承的嵌套全屏堆叠布局忽略子元素最小尺寸的问题。 - 修复了继承的批量终端颜色方案报告被解析为单个畸形响应的问题 ([#7550](https://github.com/earendil-works/pi/pull/7550))。 - 修复了继承的终端进度清除未输出完整 OSC 9;4 序列的问题 ([#7581](https://github.com/earendil-works/pi/pull/7581))。 - 修复了继承的 iTerm2 图像载荷遗漏 xterm.js 图像插件所需尺寸元数据的问题 ([#7612](https://github.com/earendil-works/pi/pull/7612))。 - 修复了继承的宽度截断导致 OSC 8 超链接未正确终止的问题 ([#7657](https://github.com/earendil-works/pi/pull/7657) by [@xXJSONDeruloXx](https://github.com/xXJSONDeruloXx))。 - 更新了 OpenAI 和直通模型目录中继承的 GPT-5.6 Terra 和 Luna 的定价。 - 修复了继承的 Fireworks Kimi K3 模型以使用支持原生推理强度级别和延迟工具的 OpenAI 兼容 API ([#7199](https://github.com/earendil-works/pi/issues/7199), [#7230](https://github.com/earendil-works/pi/pull/7230) by [@XBeg9](https://github.com/XBeg9))。 - 更新了用于替换模型 `qwen/qwen3.6-27b` 的继承 Groq Qwen 推理覆盖配置。 - 修复了通过从原生 Win32 辅助程序读取修饰键状态来检测继承的 Windows Shift+Enter 的问题。 - 修复了继承的 pi-tui npm 包遗漏重建其 Windows 和 Darwin 原生插件所需源代码和构建脚本的问题。 - 修复了当 Windows Terminal 未向子 Shell 提供 `WT_SESSION` 时,继承的 Windows 控制台真彩色检测失效的问题。 - 修复了更改终端窗格焦点时,因未匹配的鼠标事件导致继承的幽灵全屏文本选区残留的问题。 - 修复了通过让输入事件抢占节流渲染计时器,从而解决继承的 Windows 键盘输入渲染延迟的问题。 - 修复了 Windows 上继承的 Agent 框架路径处理问题,涵盖文件基名、递归技能加载和提示词模板名称。