← 返回更新日志

Pi v0.55.4

2026-03-02 · GitHub 原文
### 新功能 - 运行时工具注册现在会在活跃会话中立即生效。启动后通过 `pi.registerTool()` 注册的工具无需 `/reload` 即可在 `pi.getAllTools()` 和 LLM 中可用 ([docs/extensions.md](docs/extensions.md), [examples/extensions/dynamic-tools.ts](examples/extensions/dynamic-tools.ts), [#1720](https://github.com/badlogic/pi-mono/issues/1720)). - 工具定义可在工具处于活跃状态时,通过 `promptSnippet`(`可用工具`)和 `promptGuidelines`(`指南`)自定义默认系统提示词 ([docs/extensions.md](docs/extensions.md), [#1720](https://github.com/badlogic/pi-mono/issues/1720)). - 自定义工具渲染器可以在交互式渲染中抑制转录输出,且不会留下额外间距或空白的转录痕迹 ([docs/extensions.md](docs/extensions.md), [#1719](https://github.com/badlogic/pi-mono/pull/1719)). ### 新增 - 为 `ToolDefinition` 添加了可选的 `promptSnippet`,用于在默认系统提示词的 `可用工具` 部分生成单行条目。注册并处于活跃状态的扩展工具会显示在此处 ([#1237](https://github.com/badlogic/pi-mono/pull/1237) by [@semtexzv](https://github.com/semtexzv)). - 为 `ToolDefinition` 添加了可选的 `promptGuidelines`,使活跃工具能够将特定于该工具的要点追加到默认系统提示词的 `指南` 部分 ([#1720](https://github.com/badlogic/pi-mono/issues/1720)). ### 修复 - 修复了会话初始化后 `pi.registerTool()` 动态注册的问题。在 `session_start` 及后续处理器中注册的工具现在会立即刷新、激活,并无需 `/reload` 即可对 LLM 可见 ([#1720](https://github.com/badlogic/pi-mono/issues/1720)) - 通过序列化 `AgentSession` 事件处理来修复会话消息持久化的顺序问题,防止在扩展处理器为异步时,`toolResult` 条目在对应的助手工具调用消息之前被写入 ([#1717](https://github.com/badlogic/pi-mono/issues/1717)) - 修复了自定义工具渲染器有意抑制单次调用转录输出时的间距异常问题,包括交互式流式传输中的额外空行以及空自定义渲染导致的非零转录痕迹 ([#1719](https://github.com/badlogic/pi-mono/pull/1719) by [@alasano](https://github.com/alasano)) - 通过在 `agent_end` 分发时同步创建重试 Promise 来修复 `session.prompt()` 在重试完成前返回的问题,从而解决了早期排队的事件处理器为异步时存在的竞态条件 ([#1726](https://github.com/badlogic/pi-mono/pull/1726) by [@pasky](https://github.com/pasky))