Theme / v0.21.6

Oh My Codex (OMX)

Codex CLI 工作流增強層

基礎觀念

v0.21.5 → v0.21.6:tmux HUD 生命週期與 AGENTS Scope

掌握 v0.21.5 與 v0.21.6 的重點:active-team tmux HUD、自我終止且不洩漏的 HUD 生命週期、AGENTS scope 正確性,以及可重用的預設模型成本/品質評測套件。

概述

Oh My Codex v0.21.5(2026-09-11,62 commits)與 v0.21.6(2026-09-21,52 commits、101 files、+4294/−707)是兩個修補性 release,主軸:tmux HUD 的生命週期正確性、AGENTS scope、Codex lifecycle 對齊與可重用的模型評測。

Active Team 進度上 HUD(v0.21.5,#3644)

tmux HUD 現在顯示進行中 team 的身分與每個 worker 的狀態/任務。窄版配置保持可讀、保留 leader 空間,並以精確 session ownership 圍籬 resize reconciliation。

tmux HUD:自我終止且不洩漏(v0.21.6)

這是 v0.21.6 最精彩的部分(#3660、#3683、#3685)。三個性質:

  1. HUD 在其 tmux leader pane 退出時關閉——leader 沒了,HUD 不該留著
  2. Stale Team leader panes 在 reconciliation 時跳過——不留孤兒 watcher、不噴救援失敗噪音
  3. Leader 存在與否由「驗證過的 server-wide pane snapshot」判定:
    • 視窗移動不會被誤判為退出
    • tmux 查詢失敗不會被當作「leader 已死」的證據

第三點是分散式系統的經典原則:觀察失敗 ≠ 觀察到失敗。tmux 查詢出錯時你只知道「我不知道」,不知道「它不在了」——把未知當作缺席處理,就是孤兒程序與誤清理的來源。

AGENTS Scope 正確性(v0.21.6)

  • 持久 AGENTS 內容不再複製進 session instructions(#3678)——同一份指引被注入兩次,浪費 token 也製造不一致
  • Global AGENTS 在 project-scoped 啟動下存活(#3674/#3684)——專案層啟動不該抹掉全域慣例

可重用的模型評測套件(v0.21.6)

OMX 的預設模型陣容(default model lineup)現在有一套宣告式評測(#3663–#3667):

  • 確定性的 stage-transition 記錄
  • Supplied-record reporting——報告明確區分「測得的數字」與「廠商宣告的數字」
  • 明確記錄宣告與驗證的限制

這回應了 issue #3655 的評測需求,而不宣稱未測量的數字——評測報告的誠實框架比數字本身更重要。

Codex Lifecycle 對齊(v0.21.5)

  • plugin-hook 的 diagnostics / setup / uninstall 對齊當前 Codex 能力
  • 保留使用者擁有的 reasoning effort——不被框架預設蓋掉
  • 對 Codex CLI 0.153.4 dogfood 真實的 hook trust lifecycle(#3627、#3631、#3632、#3650)

安全的普通執行(v0.21.5,#3637)

普通(非 workflow)的 native 實作與報告尊重繼承的權限,而非套用過時的 workflow 限制。口語化地說:日常請求不應被為特殊流程設計的權限牆擋住。

憑證與平台修正

  • Credential provenance 在 ephemeral project-scope runtime homes 中保留;Team worker 的 CODEX_HOME 以 child-safe 方式匯出、不持久化進專案(#3633)
  • Windows EPERM fsync 在 Team 啟動時可存活(#3661)
  • Notifications 剝離完整 ANSI CSI 序列(#3668)——過去只剽一半,留下部分 escape
  • Auth storage、TOML 邊界、PATH 解析與 stderr redaction 強化(#3662)
  • Oversized stderr suppression 不再吞掉下一條記錄(#3676)
  • 非目錄條目不再破壞 Team dispatch draining(#3680)

對既有使用者的影響

  • Team 使用者:HUD 更可靠——leader pane 退出即關閉、無孤兒 watcher
  • AGENTS 檔案使用者:內容不再被重複注入
  • 依賴 doctor/setup 的使用者:注意 #3623(plugin_hooks feature flag 推論)的問題——v0.21.4 明確列為 Known gap,v0.21.6 的 release notes 未再提及,狀態不明;產生的診斷可能仍過時,使用前請自行驗證

學習重點

  1. 「不能用單一觀察失敗當證據」:pane snapshot 的設計是 liveness 判定的具體實作——查詢失敗要顯式區分於「確認不在」,否則系統會在每次 tmux 打嗝時誤殺自己的 HUD。
  2. 評測報告要分「測得的」與「宣告的」:supplied-record reporting 的價值不在數字,在於讓讀者知道每個數字從哪來——這是評測誠信的最低標準。

來源:v0.21.5、v0.21.6