← 返回更新日志

Pi v0.64.0

2026-03-29 · GitHub 原文
### 新功能 - 扩展和 SDK 调用者可以为任何工具定义附加 `prepareArguments` 钩子,从而在模式验证之前规范化或迁移原始模型参数。内置的 `edit` 工具利用此功能透明支持使用旧版单编辑模式创建的历史会话。详见 [docs/extensions.md](docs/extensions.md) - 扩展可通过 `ctx.ui.setHiddenThinkingLabel()` 自定义折叠的思考块标签。详见 [examples/extensions/hidden-thinking-label.ts](examples/extensions/hidden-thinking-label.ts) ([#2673](https://github.com/badlogic/pi-mono/issues/2673)) ### 破坏性变更 - `ModelRegistry` 不再提供公共构造函数。SDK 调用者和测试必须使用 `ModelRegistry.create(authStorage, modelsJsonPath?)` 创建基于文件的注册表,或使用 `ModelRegistry.inMemory(authStorage)` 创建仅内置的注册表。直接调用 `new ModelRegistry(...)` 将不再编译通过。 ### 新增 - 新增 `ToolDefinition.prepareArguments` 钩子,用于在模式验证前准备原始工具调用参数,从而为使用过时工具模式的恢复会话提供兼容性适配 - 内置 `edit` 工具现在使用 `prepareArguments` 在恢复旧会话时,静默将旧版顶层 `oldText`/`newText` 折叠合并至 `edits[]` 中 - 新增 `ctx.ui.setHiddenThinkingLabel()`,允许扩展在交互模式下自定义折叠思考块标签。RPC 模式下为无操作(no-op),并提供可运行的示例扩展位于 `examples/extensions/hidden-thinking-label.ts` ([#2673](https://github.com/badlogic/pi-mono/issues/2673)) ### 修复 - 修复了扩展队列中的用户消息处理逻辑,使其刷新交互模式下的待处理消息列表,从而避免在回合活动期间提交的消息被静默丢弃 ([#2674](https://github.com/badlogic/pi-mono/pull/2674) by [@mrexodia](https://github.com/mrexodia)) - 修复了 monorepo 的 `tsconfig.json` 路径映射,使其在开发环境中正确解析 `@mariozechner/pi-ai` 子路径导出至源文件 ([#2625](https://github.com/badlogic/pi-mono/pull/2625) by [@ferologics](https://github.com/ferologics)) - 修复了 TUI 单元格大小响应处理逻辑,使其仅消费精确的 `CSI 6 ; height ; width t` 回复,从而避免在等待终端图像元数据时吞掉裸 `Escape` 键 ([#2661](https://github.com/badlogic/pi-mono/issues/2661)) - 修复了 Kitty 键盘协议的小键盘功能键,使其规范化为逻辑数字、符号和导航键,从而避免在 iTerm2 等终端中输入小键盘时插入私有使用区乱码或被忽略 ([#2650](https://github.com/badlogic/pi-mono/issues/2650))