跳到主內容

Theme / v0.21.46

Oh My Codex (OMX)

Codex CLI 工作流增強層

基礎觀念

v0.21.10~v0.21.11:TOML 合併保留與 provider 繼承

🟡 中階|掌握 v0.21.10 與 v0.21.11 兩個 patch release 的重點:[tui] 多行陣列在 config merge 時保留、astra-defaults 評測基礎設施(RunRecord collector、hermetic),以及 native agent TOMLs 不再保留繼承的 model_provider(換 provider 不留 stale 設定)。

概述

Oh My Codex v0.21.10 與 v0.21.11(皆 2026-10-13 發布)是兩個 patch release——官方明言沒有刻意的 CLI 或套件佈局破壞性變更。前者修 TOML 合併保留並擴充 astra-defaults 評測基礎設施;後者讓 native agent TOMLs 不再保留繼承的 model_provider。

v0.21.10:TOML 多行陣列保留(#3777,修 #3776)

問題

[tui] 的多行陣列在 config merge 時被破壞——使用者精心排版的陣列一經 OMX 處理就塌掉。

解法

Config merge 保留多行陣列的原始格式。

凍結範圍 v0.21.9..72fee023(16 commits、15 files、+1067/−82)。

v0.21.10:astra-defaults 評測基礎設施(#3655/#3765/#3772)

  • RunRecord collector:base URL+repo cloning+fixture context。
  • Hermetic、bounded 的 Codex v0.162+ JSON-line parsing(CI #3768)。
  • npm registry-visibility 檢查延長時窗並附診斷(#3771)。

v0.21.11:model_provider 不再保留(#3781,修 #3779)

問題

Native agent TOMLs 會鏡射 root config.toml 的預設 model_provider——在 root 換 provider 後,agent TOMLs 殘留 stale 設定,需 omx setup --force 清理。

解法

  • 只在鏡射 root 預設時省略該欄位——換 provider 不留 stale 設定、不需 --force。
  • 顯式的 per-agent override 保留——你明確寫在 agent TOML 的 provider 不會被清掉。

凍結範圍 v0.21.10..7e0b5f23(3 commits、2 files、+68/−5)。

既有使用者影響

無破壞性變更;在 config.toml 切換預設 provider 後,native agent TOMLs 不再殘留舊 provider(顯式 override 不受影響)。

學習重點

「鏡射來的值不要落地」是組態繼承的通則:凡是可以從上游推導的欄位,落地一份就多一份 stale 風險;只有顯式 override 才值得寫進檔案。判斷標準很簡單——刪掉這個欄位後行為是否不變?不變就不該寫。