外部精选
omp · v18.12.6
本文来自外部来源,不是黄奕彬的原创文章。本站提供原文入口,并在采集端生成 AI 结构化摘要、解读与中文翻译(如有),一切以原文为准。
阅读原文(github.com)结构化摘要 AI 生成
背景与问题
背景与问题:这是 oh-my-pi (omp) 项目 v18.12.6 的版本发布公告,面向 omp 用户与贡献者,回答“从 v18.12.5 到 v18.12.6 具体改了什么”。omp 为多包仓库,本 release 覆盖 @oh-my-pi/pi-catalog、@oh-my-pi/pi-coding-agent、@oh-my-pi/pi-tui、@oh-my-pi/pi-utils 四个包。
涉及的背景问题包括 MCP 服务器 OAuth 授权修复、ACP 会话的转向与取消、prompt cache 浪费、交互启动等待扩展加载、TUI 窄面板布局等。
方法或内容
方法或内容:按包分组列出 Added / Changed / Fixed,多数条目附 PR 编号与贡献者;随后是 What's Changed 的 8 个 PR 清单、New Contributors(@pjh890321、@marcintustin 首次贡献)以及 Full Changelog 范围 v18.12.5...v18.12.6。内容主体是 @oh-my-pi/pi-coding-agent:2 项新增、7 项变更、5 项修复。
关键发现 / 结果
关键发现或结果:
pi-catalog:新增isPromptCachePersistent(prompt-cache-persistent)axis,登录态 OpenAI Codex 声明它;Yolo-Auto 目录更新为qwen3.8-27b(新默认)、yolo、yolo-small、yolo-128k,移除deepseek-flash-v4与qwen3.8-flashpi-coding-agent:新增_session/steeringACP 扩展与跨 ACP/RPC/print mode 的/mcp reauth;session/cancel可取消排队或派发中的 prompts;登录 OpenAI Codex 账户不再跑 idle compaction;CLI 传/compact、/handoff、/retry改为执行命令、失败退出 1;仅注册 tools/commands/flags/renderers/event hooks 的扩展延后加载- 修复:空 fallback chain 的 subagent 误回退、Devin 等 identity-less OAuth 账户被误报缺 usage、浏览器标签页关闭不等待 Chromium 确认、advisor prompt 禁止一切重复建议、二次 MCP OAuth 登录后 Esc 失效
pi-tui:pane 窄于 100 列时 centered sheets 填满 pane;修复/agents、/models左 sidebar 被长行挤压pi-utils:新增requestCancellable()与requestPermission(params, { signal });收到$/cancel_request时 client 连接中止并答-32800,agent 连接继续执行并返回真实结果
结论与意义
结论与意义:原文为发布说明,未给出整体结论或性能数据。
其意义在于明确 v18.12.5...v18.12.6 的升级差异,且多项行为变化有清晰边界:扩展延迟加载不适用于恢复 session、传 --tools 或未知 flags 的启动;idle compaction 停用仅限登录态 OpenAI Codex 账户;/mcp reauth 相关修复针对 project 与 user config 并存及 HTTP/SSE server 场景。
AI 解读 AI 生成
方法:按「时空变量」分析(时间 / 空间 / 变量,严格区分包含、相关与因果),对象包括原文作者、署名人员与关键技术及其实际原理;结论用「元反空」(元思考、反思考、空思考、综合)整理。
时间:何时发生,现在是否仍成立
时间:来源日期为北京时间 2026-10-22 05:02:53(UTC 2026年10月22日 05:02(北京时间)),对应 v18.12.6 发布时刻,变更范围为 v18.12.5...v18.12.6。变更记录本身是既成事实,长期成立;但模型清单、默认模型(qwen3.8-27b)等快照内容可能随后续版本变化。原文未说明本版本之后的任何情况。
空间:谁的环境 / 场景
空间:适用于 oh-my-pi (omp) v18.12.6 的使用者,涉及 @oh-my-pi/pi-catalog、@oh-my-pi/pi-coding-agent、@oh-my-pi/pi-tui、@oh-my-pi/pi-utils 四个包。
使用形态包括:ACP 客户端(如 agent-shell)、RPC 连接、print mode(omp -p)、Tern TUI;MCP 场景覆盖 project/user 双份 config、HTTP/SSE server、OAuth 登录;登录态 OpenAI Codex 账户有专门的行为变化。
变量:实际改变了什么
变量:
- 模型目录:Yolo-Auto 默认模型改为
qwen3.8-27b,移除deepseek-flash-v4、qwen3.8-flash - 行为:
session/cancel从“无流式 turn 时被忽略”变为可取消排队/派发中的 prompts 并停止 autonomous runs;登录 OpenAI Codex 账户停止 idle compaction;CLI slash 参数从“发给模型”变为“执行命令” - 结构:新增 catalog axis
isPromptCachePersistent、ACP_session/steering扩展、RPC APIrequestCancellable()与requestPermission(params, { signal }) - 配置:
/mcp reauth写入新 OAuth binding 时清除 stale Authorization header;project 与 user config 并存时优先 project entry(mcp.enableProjectConfig关闭时除外)
区分:包含 ≠ 相关 ≠ 因果
区分:有明确因果证据的:登录 OpenAI Codex 账户停用 idle compaction——原文明说其 prompt cache 永不过期、空闲压缩只会丢掉 warm cache;ACP 会话启动失败——因 client 声明的 MCP server 无法连接;Esc 失效——因第二次 MCP OAuth 登录替换了未完成的第一次;advisor 误拦升级——因 advisor prompt 禁止了所有重复建议。
仅为并列出现、无因果表述的:pi-catalog 模型更新与 pi-coding-agent 各项变更同版出现但互为因果未说明;isPromptCachePersistent axis 的添加与 idle compaction 停用分属两个包,原文未说明二者互为因果。
对象:作者/署名与关键技术原理
对象:署名(仅依结构化作者字段)为 github-actions[bot],即 GitHub Actions 自动化账号,无人类署名作者。
正文另载 PR 贡献者归属:@marcintustin(#15885、#16046、#16387)、@H4vC(#16676、#16680、#16684)、@eggpeat(#16548、#16549)、@pjh890321(#16484),其中后两位为本版新贡献者。关键技术及原文描述的原理:
- ACP 扩展
_session/steering:以_meta.steering.supported广告,客户端可 steer 运行中的 turn;权限对话框打开时 steer 会取消该对话框 - MCP OAuth 重授权:打开浏览器、打印授权 URL、在运行会话内重连服务器
- prompt cache 持久性:提供方 endpoint 永不过期缓存时标记
isPromptCachePersistent - RPC 取消:peer 发送
$/cancel_request时 client 侧中止 handler 并答-32800,agent 侧继续执行并返回真实结果
元反空综合结论
元反空综合:
- 元:这条内容本质在解决“版本间变更可追溯”的问题,让用户与维护者知道
v18.12.5...v18.12.6改了什么、为何改、归谁 - 反:最可能有边界或随后失效的:模型清单与默认模型(
qwen3.8-27b)属快照,会随后续版本再变;扩展延迟加载有明确例外(恢复 session、传--tools或未知 flags);idle compaction 停用仅限登录态 OpenAI Codex;$/cancel_request的 client/agent 双侧差异是本版设计,后续可能调整 - 空:去掉叙事后剩余的必要事实:4 个包的变更清单(catalog 1 增 1 改、coding-agent 2 增 7 改 5 修、tui 1 改 1 修、utils 1 增)、8 个 PR、2 位新贡献者;原文无性能数据、无迁移指南、无总体评价
- 综合:这是一份归属清晰、条件边界写得较细的自动化 release notes,可直接作为升级对照与回溯依据;但据此推断后续版本行为或性能收益缺乏支撑(原文未说明)
中文译文 AI 生成
@oh-my-pi/pi-catalog
新增
- 为自身端点从不会使提示缓存过期的提供方新增了 prompt-cache-persistent 目录轴(
isPromptCachePersistent);已登录的 OpenAI Codex 会声明该属性
变更
- 将内置的 Yolo-Auto 目录更新为当前模型:qwen3.8-27b(现为默认)、yolo、yolo-small 和 yolo-128k,并移除了已退役的 deepseek-flash-v4 和 qwen3.8-flash
@oh-my-pi/pi-coding-agent
新增
- 新增了
_session/steeringACP 扩展(以_meta.steering.supported对外声明),使agent-shell等客户端能够引导(steer)正在运行的回合;在权限对话框打开时发送的引导会取消该对话框,而_meta.steering.queue: "followUp"则会改为将后续内容排入队列(#15885,作者 @marcintustin) /mcp reauth <name>现在可通过 ACP、RPC 以及 print 模式(omp -p '/mcp reauth <name>')工作:它会打开浏览器、打印授权 URL、在运行中的会话内重新连接该服务器,并且在重新授权失败时 print 模式以退出码 1 退出(#16046,作者 @marcintustin)
变更
- ACP 的
session/cancel现在也会取消已排队或仍在派发中的 prompt,并停止自主运行,而不再是在没有客户端回合处于流式传输状态时被忽略(#15885,作者 @marcintustin) - 空闲压缩不再在已登录的 OpenAI Codex 账户上运行,因为这些账户的提示缓存永不过期;空闲时压缩只会白白丢弃温热的缓存
- 当客户端声明的 MCP 服务器无法连接时,ACP 会话不再启动失败;失败会在会话中被报告,并且 HTTP/SSE 服务器可通过
/mcp reauth修复(#16046,作者 @marcintustin) - 当同一服务器在项目配置和用户配置中均有定义时,
/mcp reauth、/mcp test和/mcp unauth现在会选用项目条目,并在mcp.enableProjectConfig关闭时跳过项目配置(#16046,作者 @marcintustin) /mcp reauth在写入新的 OAuth 绑定时,会从该服务器的配置中移除过期的 Authorization 头(#16046,作者 @marcintustin)- 作为 CLI 参数传入的
omp -p '/compact'、/handoff和/retry现在会执行该命令,而不是把文本发送给模型,并且在命令失败时以退出码 1 退出;从 stdin 或@file传入的斜杠文本仍会被发送给模型(#16387,作者 @marcintustin) - 交互式启动不再等待仅注册工具、命令、标志、渲染器或事件钩子的扩展(例如 MCP bridge 插件):它们会在 composer 接受输入后加载,而你的第一条消息会改为等待它们。只有当某次启动已确认某扩展未注册任何 provider、快捷方式、composer 形态或文件回退之后,该扩展才会被延迟加载。恢复会话、传入
--tools、或传入omp无法识别的标志的启动,仍会先加载每一个扩展(#16684,作者 @H4vC)
修复
- 修复了当默认角色使用相同模型时,角色带有显式空回退链的子代理仍经由默认链进行回退的问题,包括在重试回退、prewalk 或上下文提升短暂切换了模型、或子代理被复活之后的情况(#16548,作者 @eggpeat)
- 修复了
/usage和omp usage --json在正常工作的报告旁边,把 Devin 等无身份的 OAuth 账户列为缺少用量的问题(#16549,作者 @eggpeat) - 修复了释放或回收浏览器标签页的操作在 Chromium 仍列出该页面时就返回的问题;现在关闭操作会一直等待,直到 Chromium 报告该标签页已被销毁(#16680,作者 @H4vC)
- 修复了 advisor 提示词禁止一切重复建议(包括真正的升级)的问题:一旦新证据使某个先前的 nit 或担忧成为 blocker,advisor 现在可以将其重新作为 blocker 提出(#13887、#16484,作者 @pjh890321)
- 修复了在第二次 MCP OAuth 登录替换了尚未完成的第一次登录后,Esc 无法再在 TUI 中中断的问题(#16046,作者 @marcintustin)
@oh-my-pi/pi-tui
变更
- 在 Tern 中,当面板宽度不足 100 列时,居中的 sheet(
/context、报告、键盘快捷键、BTW 历史、会话信息、暂停屏幕)会填满面板,而不是带边距浮动(#16676,作者 @H4vC)
修复
- 修复了 Tern 中
/agents和/modelshub 页在长行(例如正在流式传输的新代理草稿)把主体面板撑宽时挤压左侧边栏的问题
@oh-my-pi/pi-utils
新增
- 新增了
RpcConnection.requestCancellable()和Client.requestPermission(params, { signal });当对端发送$/cancel_request时,客户端连接会中止处理器并以-32800应答,而 agent 连接会继续运行该请求并返回其真实结果(#15885,作者 @marcintustin)
变更内容
- fix(coding-agent):阐明 advisor 提示词中的 blocker 升级机制,由 @pjh890321 在 #16484 完成
- feat(coding-agent):支持用于回合中途客户端引导的 ACP
_session/steering,由 @marcintustin 在 #15885 完成 - feat(acp):支持在 TUI 之外使用
/mcp reauth,由 @marcintustin 在 #16046 完成 - feat(tui):用居中的 sheet 与选择器填满较窄的 Tern 面板,由 @H4vC 在 #16676 完成
- fix(coding-agent):确认浏览器标签页已关闭并修复变红的 CI 测试,由 @H4vC 在 #16680 完成
- perf(coding-agent):在 composer 接受输入后加载启动安全的扩展,由 @H4vC 在 #16684 完成
- fix(coding-agent):让子代理显式为空的回退链保持为空,由 @eggpeat 在 #16548 完成
- fix(coding-agent):不再把无身份的 OAuth 账户列为缺少用量,由 @eggpeat 在 #16549 完成
新贡献者
- @pjh890321 在 #16484 中完成了他们的首次贡献
- @marcintustin 在 #15885 中完成了他们的首次贡献
完整变更日志:v18.12.5...v18.12.6
展开原文提取正文(采集端自动提取,可能有缺失)
@oh-my-pi/pi-catalog
Added
Added the prompt-cache-persistent catalog axis (isPromptCachePersistent) for providers whose own endpoint never expires prompt caches; logged-in OpenAI Codex declares it
Changed
Updated the bundled Yolo-Auto catalog to its current models, qwen3.8-27b (now the default), yolo, yolo-small, and yolo-128k, and removed the retired deepseek-flash-v4 and qwen3.8-flash
@oh-my-pi/pi-coding-agent
Added
Added the _session/steering ACP extension (advertised as _meta.steering.supported), so clients such as agent-shell can steer a running turn; a steer sent while a permission dialog is open cancels that dialog, and _meta.steering.queue: "followUp" queues a follow-up instead (#15885 by @marcintustin) /mcp reauth <name> now works over ACP, RPC, and print mode (omp -p '/mcp reauth <name>'): it opens the browser, prints the authorization URL, reconnects the server in the running session, and print mode exits 1 when reauthorization fails (#16046 by @marcintustin)
Changed
ACP session/cancel now also cancels prompts that are queued or still dispatching, and stops autonomous runs, instead of being ignored when no client turn is streaming (#15885 by @marcintustin) Idle compaction no longer runs on logged-in OpenAI Codex accounts, whose prompt cache never expires; compacting while idle only threw away a warm cache ACP sessions no longer fail to start when a client-declared MCP server cannot connect; the failure is reported in the session, and an HTTP/SSE server can be repaired with /mcp reauth (#16046 by @marcintustin) /mcp reauth, /mcp test, and /mcp unauth now pick the project entry when a server is defined in both project and user config, and skip project config when mcp.enableProjectConfig is off (#16046 by @marcintustin) /mcp reauth removes the server's stale Authorization header from its config when it writes the new OAuth binding (#16046 by @marcintustin) omp -p '/compact', /handoff, and /retry given as CLI arguments now run the command instead of sending the text to the model, and exit 1 when the command fails; slash text arriving on stdin or from @file is still sent to the model (#16387 by @marcintustin) Interactive startup no longer waits for extensions that register only tools, commands, flags, renderers, or event hooks (for example MCP bridge plugins): they load once the composer accepts input, and your first message waits for them instead. An extension is deferred only after one launch has confirmed it registers no providers, shortcuts, composer shapes, or file fallbacks. Launches that resume a session, pass --tools, or pass flags omp does not recognize still load every extension first (#16684 by @H4vC)
Fixed
Fixed subagents whose role has an explicitly empty fallback chain falling back through the default chain when the default role uses the same model, including after a retry fallback, prewalk or context promotion briefly switched models or the subagent was revived (#16548 by @eggpeat) Fixed /usage and omp usage --json listing identity-less OAuth accounts such as Devin as missing usage beside their working reports (#16549 by @eggpeat) Fixed releasing or reaping a browser tab returning while Chromium still listed the page; the close now waits until Chromium reports the tab destroyed (#16680 by @H4vC) Fixed the advisor prompt forbidding all repeated advice, including real escalations: advisors may now re-raise a prior nit or concern as a blocker once new evidence makes it one (#13887, #16484 by @pjh890321) Fixed Esc no longer interrupting in the TUI after a second MCP OAuth login replaced an unfinished first one (#16046 by @marcintustin)
@oh-my-pi/pi-tui
Changed
In Tern, centered sheets (/context, reports, keyboard shortcuts, BTW history, session info, the pause screen) fill the pane when it is narrower than 100 columns instead of floating with margins (#16676 by @H4vC)
Fixed
Fixed the /agents and /models hubs in Tern squeezing the left sidebar as long lines (such as a streaming new-agent draft) widen the body pane
@oh-my-pi/pi-utils
Added
Added RpcConnection.requestCancellable() and Client.requestPermission(params, { signal }); client connections abort a handler and answer -32800 when the peer sends $/cancel_request, while agent connections keep running the request and return its real result (#15885 by @marcintustin)
What's Changed
fix(coding-agent):clarify blocker escalation in advisor prompt by @pjh890321 in #16484feat(coding-agent):support ACP _session/steering for mid-turn client steering by @marcintustin in #15885feat(acp):support/mcpreauth outside the TUI by @marcintustin in #16046feat(tui):fill narrow Tern panes with centered sheets and pickers by @H4vC in #16676fix(coding-agent):confirm browser tab close and repair red CI tests by @H4vC in #16680perf(coding-agent):load startup-safe extensions after the composer accepts input by @H4vC in #16684fix(coding-agent):keep explicitly empty subagent fallback chains empty by @eggpeat in #16548fix(coding-agent):stop listing identity-less OAuth accounts as missing usage by @eggpeat in #16549
New Contributors
@pjh890321 made their first contribution in #16484 @marcintustin made their first contribution in #15885
Full Changelog: v18.12.5...v18.12.6
原文入口
阅读原文(github.com)原文将在新窗口打开。收录时间不是内容更新时间;正文、译文与解读的版权归原作者/来源所有,本站仅作个人阅读辅助并保留原文入口;页面时间均为北京时间。
了解来源批准与收录规则