Oh My Pi 15.12.3: 修复双 Esc 默认行为与选择器 Terminal 显示
官方发布说明称,双 Esc 默认操作恢复为 `/tree`,并修复 Esc 打开选择器时重置 Terminal 显示、清除旧滚屏内容的行为。该更新涉及快捷键默认映射和选择器打开时的 Terminal 显示状态;现有证据未提供对应代码位置。
官方发布说明称,双 Esc 默认操作恢复为 `/tree`,并修复 Esc 打开选择器时重置 Terminal 显示、清除旧滚屏内容的行为。该更新涉及快捷键默认映射和选择器打开时的 Terminal 显示状态;现有证据未提供对应代码位置。
Collab 房间链接改用 `<roomId>.<key>` 组合,并在解析端兼容旧式 `#` 分隔和被编码为 `%23` 的旧链接,使 Terminal 点击打开的深链接仍能连接 Session。Homebrew 公式为各平台下载项指定 `using: :nounzip`,并在生成补全时将 `HOME` 指向可写构建目录,修复文件暂存位置与 Sandbox 写入权限导致的安装失败。
oh-my-pi/pi-ai 为 Tool Result 增加 `useless` 标记,pi-agent-core 的 Agent Loop 将其写入持久化的 `ToolResultMessage`,各压缩流程再按策略把无效结果替换为 `[Uneventful result elided]` 或从摘要输入中剔除对应 Tool Call/Result 对。pi-coding-agent 默认启用 `compaction.dropUseless`,snapcompact 的 `serializeConversation` 也跳过标记为无效且非错误的结果;这让零命中查询、空查找和未完成等待等结果较少挤占后续 Context,同时保留错误结果。以下机制来自官方发布说明;没有可用的代码变更样本或 Static Prompt 比较。
协作链接现在把写权限绑定到独立 write token,无 token 的访客进入只读 Session;`pi-wire` 的 `GuestFrame`、参与者和 Session 载荷承载相关能力状态,客户端也会拦截只读访客的提示、打断等写操作。`/share` 改为上传压缩并以 AES-256-GCM 封装的 Session JSON,密钥留在 URL fragment,由浏览器解密;HTML 导出则复用协作 Web 客户端的逐工具渲染器,并可沿任务卡片进入嵌套 Subagent transcript。发布说明还记录了 Anthropic 请求序列化前的深度 `toWellFormed()` 清理,以及按需安装 fastembed/ONNX 运行时的机制。
本版在 Gateway、Sandbox、MCP、浏览器及通道等边界补强拒绝不安全访问的处理,并修复 Session 重绑定后的过期审批、主 Thread 恢复和回复队列清理;这些代码层变化使权限判断与故障恢复更明确。Plugin 与 ClawHub 增加可复用发布、可信 Hook 声明及 Plugin 版本漂移提示;Control UI 则通过复用模型元数据和延后加载 Slash Command 改善启动与首条回复路径。Runtime Prompt 的相邻差异还加入 Skill 版本变化时重读指引、cron wake 默认目标和节点文件工具的范围说明;本次未提供 Static Prompt 对比,官方发布记录截断。
@oh-my-pi/pi-coding-agent 加入实时共享 Session:访客可查看主机 Agent 的输出与 Subagent 状态、发送 Prompt 或中断 Agent,而 Session 修改命令仍由主机控制;协作协议集中到 @oh-my-pi/pi-wire,加入链接校验和端到端加密。交互式启动改为让 MCP 在后台连接并实时注册工具和指令,同时将模型索引构建延迟到首次读取,降低首屏等待;流式 Markdown 仅重算增长部分,减少长消息渲染开销。Runtime Prompt 与 Tool Schema 的相邻比较不可用,因此这些机制变化来自官方发布说明,不能据此判断相邻版本的 Prompt 或 Tool Schema 是否变化。
恢复 Session 时,启动参数现在会应用到恢复后的 Session;若 Session 已处于 Plan Mode,则跳过重复进入,切换 Session 时也不重复套用启动参数。前台 Bash 命令会在运行期间流式显示 stdout 和 stderr,子 Skill 则以父级前缀命名并在 TUI 中表现为点分隔 Slash Command。发布说明还记录了 compaction 恢复显示、Terminal 进度序列、注册表刷新和配置容错修复;Runtime Prompt 与 Tool Schema 相邻版本相同,Static Prompt 比较不可用。
模型目录把多个带 effort 或 thinking 后缀的上游型号折叠为逻辑模型,并由 `resolveWireModelId` 在请求时按 reasoning effort 选择真实上游 ID;逻辑 ID 仍用于选择、缓存和用量归因。`pi-ai` 的各 API 映射为必须思考的型号补齐最低 effort,Gemini CLI 在关闭思考时显式发送抑制配置,避免上游默认设置重新启用思考。另一项重要变化落在 `snapcompact`:按 Provider 图像上限裁剪帧数,把未成帧的最新内容保存为 `Archive.textTail` 并纳入 `preserveData`,以降低压缩时内容被网关丢弃或被帧预算舍弃的风险。
Codex 用量命令改为 `/usage reset`,并为 plain `/usage` 明确提供 `/usage show` 别名;这改变了用户触发重置与查看用量的命令入口。Subagents HUD 更新进度时现在保持活动行的位置和批次任务顺序,设置界面聚焦行时也继续用橙色标示已修改值。
Runtime Prompt 在 Tools 中为 AgentSwarm 增加响应级约束:调用 AgentSwarm 时,该响应必须只包含这一次 Tool Call,模型不能在同一响应里组合其他 Tool Call。官方发布说明还提到 Session 关闭时取消活动回合并默认停止后台任务,明确了关闭操作对前台命令和后台任务的生命周期影响。发布说明另提及多模态结果保留、运行环境传递及 MCP 动态更新等修复或支持;由于没有对应代码概览,无法据此定位其实现模块。
AgentLoop 通过 `hasSteeringMessages` 在工具执行期间轮询待处理的 steering,并只在注入边界出队;遇到 `pause_turn` 时则保留 assistant 消息并重新调用模型,连续暂停最多续跑 8 次。这改变了中断投递和回合结束语义。pi-ai 为 Responses 增加 `previous_response_id` 状态链及失效回退,凭证操作则统一经 `withAuth`、`withOAuthAccess` 和带 HTTP 状态信息的错误类型进入刷新与轮换策略。
本版本扩展 MCP 与 Host/SDK 接口:本地 MCP Server 可从 Workspace 相对目录启动,并加入连接器认证、存储 Provider 凭据及 v2 Session API。文件读取返回原始内容和正确 Content-Type,MCP 日志通知进入 opencode 日志;这些契约让客户端能更直接地启动服务、管理 Session 并观察服务状态。另修复 Gemini 多类型 Tool Schema、MCP 请求头与超时、内容过滤错误呈现,以及大型仓库快照重复哈希等局部可靠性问题。Runtime Prompt 的唯一差异是 Git 区段中的日期更新;Static Prompt 比较不可用,以下机制变化依据官方发布说明归纳。
新增托管设置 `enforceAvailableModels`:启用后,`availableModels` 白名单也约束 Default 模型,解析结果不在白名单时回退到首个允许模型;用户和项目设置不能扩大托管白名单。这让托管模型策略同时覆盖默认选择与下级配置,减少配置层级造成的策略偏离。
首次启动流程调整为先完成 onboarding 再打开 Agents View;主 Agents View 中的 Slash Command 得到修复,多行状态错误则压成单行,避免与输入区域重叠。这些改动改善了首启导航、命令交互和状态提示的可用性。现有证据来自官方发布说明,未提供对应源码位置或实现细节。
CLI 发布说明显示,Plugin commands 现在可向 Agent 提交 Prompt,API base URL 可覆盖;Cline Hub 升级后会重新拉起过期实例,结构化工具结果会截断超长内容,run_commands 结果不再回显完整命令。发布说明还提到设备认证时自动打开验证 URL,并抑制 Windows 控制台窗口闪烁。证据未提供代码变更样本或文件路径,具体实现位置无法从本 packet 确认。
Mnemopi 将待处理事实提取和各 Memory 库的休眠合并接入 Session 关闭流程,由 `MnemopiSessionState.dispose()` 执行、`Agent Session.dispose()` 等待完成;这使常规关闭也能写入合并数据,同时 `/memory clear` 可跳过合并。搜索实现改为在共同祖先未被请求时按目标分别扫描,并直接读取文件目标、去重重叠结果,避免把范围扩大到未请求的目录。LSP 写入格式化选项现在按文件解析,优先采用 `.editorconfig`,再回退到待写入内存内容的缩进探测和 2 空格默认值;此外,TUI 调整滚动提交边界以避免将仍在变化的行提交为历史记录。
工具调度新增按调用参数解析 shared 或 exclusive 的机制;在 Coding Agent 中,非 PTY Bash 批次可并行执行,重叠使用同一 shell session key 时则改用隔离的一次性 shell,减少相互排队或中止。其他代码路径覆盖 RPC Slash Command 元数据、Plugin 加载、Memory 整理、LSP 与流式渲染,以及 IRC 消息回复;这些变化分别改善集成发现、运行稳定性和交互响应。发布说明提供了这些改动的概览,但未提供对应源码样本或文件路径。
任务执行配置现在默认启用 async,任务工具仍可通过 `async.enabled=false` 回到阻塞模式;TUI 增加按组件请求渲染的路径,仅重组受影响的根子树,减少长 Session 中动画触发的整帧开销。流式工具参数预览会渐进显示,收尾时补齐已接收内容;这些变化改善后台任务可用性、交互反馈和长 Session 响应。另有 Provider 请求适配、MCP OAuth 和滚动历史显示修复。
这版在 agent、control 和 cli 相关改动中加入工具结果确定性裁剪与冷恢复维护、回合中 steer 注入,以及 SSH 中断时的中途自动保存;这些变化让长 Session 维护、远程运行恢复和运行中改派有了更明确的处理路径。desktop 与 crash-worker 改动增加用户选择开启的 Agent 指标汇总、刷新和接收流程,并调整只读工具批处理、Session 文件变更展示及待处理授权提示重连回放,改善观测与界面状态衔接。以下机制来自官方发布记录;本包没有提供对应源码样例或 Static Prompt 差异,Runtime Prompt 与 Tool Schema 的相邻比较也不可用。
此版本修正 Fable 5 模型名处理:自动去除表示其默认 1M Context 的 `[1m]` 后缀,避免名称未归一化。另修正 Windows 启用 Sandbox 设置时误报“sandbox dependencies missing”的启动警告,减少错误提示。官方说明未提供实现位置;Runtime Prompt 仅有版本标识更新,Tool Schema 无变化。
`@oh-my-pi/pi-coding-agent` 将 `task` 改为后台持久 Subagent,并以 IRC mailbox 的 `send`、`wait`、`inbox` 管理 Agent 间通信;完成的 Subagent 可保持 idle、停放到磁盘并在收到消息时恢复。这让任务交付从单次同步结果转向可继续对话的独立 Agent,也带来 `task`、`irc` 和 eval `agent()` 的契约变更。`@oh-my-pi/pi-agent-core` 与 `@oh-my-pi/snapcompact` 增加基于图像帧的历史归档,并在 `@oh-my-pi/pi-ai` 中加入图像分辨率提示;长 Context 可用帧保留,帧形状按 Provider 选择。Runtime Prompt 与 Tool Schema 捕获及相邻比较均不可用,Static Prompt 比较也不可用;官方发布说明有截断,以下仅概述其中可见内容。
Grok Build 的 Messages 将 `Today's date: $PHISTORY_DATE` 加入 `<user_info>`,让 Agent 在处理请求时可直接读取当前日期。该变化作用于 Runtime Prompt 的用户 Context 注入,不涉及 Tool Definition 或工具数量变化。
1.17.3 针对 1.17.2 桌面版崩溃发布修复;现有证据未提供对应代码概览,无法定位修复机制或受影响的行为。此次发布说明确认修复目标,不能据此判断崩溃原因或修复范围。
编排机制允许 Subagent 最多向下派生 5 层 Subagent,扩展了多级任务拆分深度;官方发布说明确认了这一行为变化,但所给代码概览没有实现位置可供核对。Context 管理修复了 1M Context 无 usage credits 时 Session 永久卡住的问题,使其自动压缩回标准上限;后台 Agent 的配置隔离、嵌套 Agent 停止后的状态,以及旧版 Session 在 daemon 更新后的 attach 行为也得到修复。Runtime Prompt 差异仅是版本计费标头变化;没有 Static Prompt 或代码样本证据可用于确认上述发布说明对应的具体实现。
本版修复了两个 Core 行为契约:Subagent 再次使用各自配置的权限;远程配置认证过期时,改为提示用户重新登录后继续加载,而不是直接失败。前者恢复了 Subagent 权限配置的生效路径,后者为认证失效增加了交互式恢复路径。
MCP prompt/resource 请求现在遵守已配置的 server timeout,客户端 setup 失败会干净退出;这改善了外部服务调用的超时边界和失败后的连接状态。Desktop 新增 `/new-session` 路由及 draft tabs,在 Session 启动前将 Prompt 与项目选择保存在草稿中。官方说明还提到 references 配置兼容、Anthropic fallback 修复及 macOS 自动更新恢复;这些发布项未附实现路径或代码概览。Runtime Prompt 与 Tool Schema 相邻版本相同,Static Prompt 不可用。
发布说明称新增 `Interrupt` Hook 事件,用户中断一轮时可让 Hook 观察到停止状态,减少 Hook 停留在工作状态的情况;这扩展了 Hook 对回合结束过程的可观察性。OpenAI 兼容的 Chat Completions 路径会保留工具产生的图像输出,改善多模态结果传递。
协作与执行流程增加了 Subagent transcript 续接、Plan Mode 下的 inline Skill 读取,以及桌面端的 tool-approval modes 和 /goal loop,让 Agent 能继续处理委派任务并使用更明确的控制入口。Context 与 Session 处理加入 PDF 附件文本提取、Workspace Session 隔离和 Session 新建/清空流程拆分;MCP 批量重试改用 allSettled,Plugin 超时统计记录到预算下限。发布说明还列出 Bot gateway、持久化策略刷新和多项安全修复,指向接入、状态一致性与输入处理方面的局部改进。相邻 Runtime Prompt 与 Tool Schema 比较不可用,Static Prompt 比较也不可用;这些发布记录未附实现代码样例。
本版在 AgentLoop 加入 `transformProviderContext`,让扩展可在 Context 转换与规范化后、遥测采集和发送前处理 provider context;显式关闭 reasoning 也会在每次 continuation 重新解析并传给 provider。Coding Agent 同时修正 ACP/RPC 的回合排空、取消和权限门控行为,并加强 hide-secrets 对 provider 请求内容的脱敏;这些变化影响请求构造、Session 控制及工具授权的实际行为。另有 Memory API、Shell 输出最小化和模型选择等功能及可靠性修复;Runtime Prompt、Tool Schema 的当前捕获及相邻比较均不可用,Static Prompt 比较也不可用。
Runtime Prompt 将 Edit 定为所有增量修改的必经工具,并要求每次 Edit 前重新 Read,以当前文本视图构造唯一的 old_string;Write 仅用于新建、完整替换或与旧内容连续性很少的文件。这样可减少基于过时文本编辑、同文件连续调用失效,以及用 Write 做局部修改的情况。官方发布说明另列出 Anthropic Provider 的模型支持、撤销选择器、Session 分叉限制等更新,但此 packet 没有对应代码样本,不能据此补充实现细节。
模型目录值、Provider 元数据和模型发现配置迁入 `@oh-my-pi/pi-catalog`,由 `buildModel` 预先物化兼容与思考元数据;`pi-ai` 的深层目录导出随之移除,使用者需要迁移导入路径。流式处理和重试路径也有多项修复,例如 `processResponsesStream` 补建丢失事件对应的消息块、未完成 Tool Call 最终解析,Anthropic 重试采用 10 次预算并尊重 `retry-after`;这些变化旨在减少流 Agent、重连和限流时的错误输出、丢失调用与无效重试。官方发布说明还记录了 Context 图像处理、认证存储、工具参数错误回显等变化;发布说明截断,未观察到的部分不作推断。
官方发布说明显示,本版改进大型项目文件搜索,并为 MCP Tool Call 传递 abort signal,使取消能够传到调用端;Session 遇到 Provider Context 溢出时可恢复一次,降低单次溢出导致任务立即失败的情况。SDK v2 对大型 Tool 输出设定保留边界并暴露保留输出路径,支持后续检查。Runtime Prompt 的 glob/grep 描述调整为返回匹配内容而非按修改时间排序;Tool Schema 中 glob、grep、skill 有修改,但现有差异未显示这些机制背后的实现。
Kimi Code 增加自定义配色入口:用户可在 `~/.kimi-code/themes/` 放置 JSON 调色板,也可通过 `/custom-theme` Skill 生成主题;这让界面配色能够按用户配置调整。`/import-from-cc-codex` 可导入选定的 Claude Code 与 Codex instructions、Skills 和 MCP 设置,Plugin marketplace 则依据 manifest 版本显示更新状态并支持按 Enter 原地更新。官方说明还提到 Subagent 进度展示和若干登录、Windows 启动及 Terminal 显示修复;Runtime Prompt 与 Tool Schema 相邻比较无变化,Static Prompt 比较不可用,且没有提供代码变更样本。
官方发布说明提到支持将已配置的 Agent 作为 Subagent 工具,并将 OAuth 管理集中到 SDK,涉及 Agent 委派入口与认证管理归属,可能让配置好的 Agent 能经 Tool Call 参与委派,并统一 OAuth 管理。发布说明还列出 Vertex AI GCP 设置、Azure Foundry API 版本及 Fable 5 关闭 reasoning 时的修复。未提供对应代码样本,具体实现位置与委派行为细节无法从本 packet 确认。
Responses 与 Codex 的流处理和重试路径现在补齐丢失事件、识别终止状态,并避免失败尝试的输出污染重放;这让 Agent 更可靠地收到完整消息和可执行的 Tool Call。Codex WebSocket 重连纳入重试预算、等待连接共享握手,且在已交付 Tool Call 后停止自动重放;Anthropic 则修正消息终止、重试次数和请求字段优先级,减少挂起、重复执行及错误请求。另有 `todo` 工具只读 `view` 操作,可让 Agent 读取当前任务文本而不改变列表。发布说明后段被截断,以上仅概括可见内容。
项目级信任决策新增全局默认策略,并通过 `ctx.isProjectTrusted()` 暴露有效结果,让 Extension 能检查包含临时授权在内的信任状态。Prompt Template 支持 `${1:-7}` 形式的位置参数默认值,Autocomplete Provider 可用 `#`、`$` 等触发字符直接唤起建议;同时增加实验性功能开关,并扩展 Claude Fable 5 的 Provider、adaptive thinking 与 `xhigh` effort 支持。官方发布说明还列出多项 Provider 参数、Context 元数据、Session 持久化及界面可靠性修复;Runtime Prompt 的唯一差异是日期从 2026-06-08 改为 2026-06-09,Tool Schema 无变化,Static Prompt 与代码变更样本不可用。
Runtime Prompt 将当前环境从“无活动 Workspace”改为提供 URI 与 CorpusName 映射;`generate_image` 的 Tool Schema 移除了 `AspectRatio`,`view_file` 移除了 `ContentOffset`,并收窄了图像编辑相关的参数描述。这改变了 Agent 可见的 Workspace 背景和 Tool Call 契约;发布说明另提到 Gemini 单轮 Tool Call 上限提高至 512,以及 MCP 启动超时、Plugin 安装、Session 状态和 settings.json 处理等改进。发布说明没有提供对应实现位置,以下代码机制分析限于可观察到的 Prompt 与 Tool Schema 差异。
Code Mode 现在可直接调用独立 Web Search,包括嵌套 JavaScript Tool Call;工具与 Connector 输入 Schema 保留 `oneOf`、`allOf`,并在大型 Schema 压缩时保留更多浅层结构,使 Agent 能使用更丰富的 MCP 工具。Sandbox 执行更一致地保留已批准的提权决定并落实 Proxy-only 网络配置;TUI 的 resume/fork 参数解析及按 Thread 归属 MCP 启动状态的处理也得到修复。Runtime Prompt 的可见差异仅涉及 Skill 指令的完整读取和由主 Agent 亲自读取所需参考文件;Static Prompt 比较不可用。
后台任务结果查询与等待的 Tool 使用说明改为明确写出 `background=true`,让 Agent 能按一致的参数形式追溯任务 ID 来源。变化落在 `get_command_or_subagent_output` 和 `wait_commands_or_subagents` 的 Usage notes;Tool 数量未变,证据未显示执行行为或 Tool Schema 契约改变。
版本增加 Claude Fable 5 模型支持,并修正 MiniMax M3 思考控制在不同 Gateway 间的路由,使相关控制能够按预期传递。变化落在模型兼容与 Gateway 参数路由;发布说明未提供实现文件或代码样例,无法进一步定位代码落点。Runtime Prompt 与 Tool Schema 的相邻比较状态均不可用,不能据此判断这些层是否变化。