跳到主內容

Theme / v5.1.61

Oh My OpenAgent

AI 代理編排系統

基礎觀念

v5.1.55~v5.1.59:senpi runtime 更新與憑證信任收緊

整理 v5.1.55 至 v5.1.59 五個 release 的更新脈絡:senpi runtime 三次更新(2026.10.31-2、2026.11.2-1、2026.11.2-3)、TLS/憑證信任收緊與 launcher trust stage、delegated task 模型鏈行為改變、reasoning 預設全面調高至 high。

概述

本站記錄的 v5.1.54(2026-11-01 查核)之後,上游在三天內連發五個 release:v5.1.55、v5.1.56、v5.1.57(皆 2026-11-01)、v5.1.58(2026-11-02)、v5.1.59(2026-11-03)。這五版的兩條主軸是:

  1. senpi runtime 三次更新:engine runtime 連續推進到 2026.10.31-2、2026.11.2-1、2026.11.2-3,Claude 訂閱登入路徑重整(改走 Claude Code CLI、修復又穩定)、瀏覽器程序清理與 session 啟動速度。
  2. TLS/憑證信任收緊 (trust tightening):engines 不再讀 SSL_CERT_FILE/SSL_CERT_DIR、Linux 只信任散布套件產生的憑證 bundle、CA importer 分階段導入 launcher trust stage 與 omo trust ensure。

第一條主軸:senpi runtime 更新

v5.1.57:senpi 2026.10.31-2——Claude 訂閱登入改走 Claude Code CLI

senpi 2026.10.31-2 對 Claude 訂閱登入做了大幅重整(#11983):

  • 登入路徑改變:Claude subscription sign-in 改經 Claude Code CLI;舊 sign-in 的帳號會被要求再登入一次(“accounts from the old sign-in are asked once to sign in again”),但保留名稱、pin 與順序。
  • 用量限制解鎖:/gpt-account unblock <id> 可在 provider 端重置後清除 usage-limit block。
  • OAuth token 導正:給 plain anthropic provider 的 Claude OAuth token 改為「拒絕並指向 /login anthropic-subscription」(“is now refused with a pointer at /login anthropic-subscription”),不再被當成 Claude Code 送出——因此 omo 安裝時不再改寫 engine 的 Claude Code 版本。
  • skill 載入上限取消:prompt 引用的每個 skill 都載入,不再停在五個(“every skill a prompt invokes now loads instead of stopping at five”)。
  • 其他:extension 的 settle handler 緩慢時,完成的 turn 不再卡在 “Working”;startup 會在 skills root 的 ignore file 藏住 skill 資料夾時提出警告。

v5.1.58:senpi 2026.11.2-1——登入修復與瀏覽器 graceful quit

v5.1.58 的 release notes 首句即為:“Claude subscription sign-in works again.”(#12126)——v5.1.57 改走 Claude Code CLI 後出現的登入問題在此修復。

同版也處理瀏覽器程序清理(#12068):

  • ultimate-browsing template 的 graceful quit:在 macOS/Linux 上,executor 為每個 Playwright template 開自己的 session;timeout 或取消(Ctrl-C)時對 template 的 process group 送 SIGTERM,最多等 5 秒再 SIGKILL,讓 Chrome 能乾淨退出並移除 macOS code-sign clone 與 temp profile,不再成為孤兒程序。
  • omowright 引擎 pin 版本:bundled omowright browser engine 固定在「pipe-launched browsers 也獲得 graceful quit」的 release。
  • dev-browser skill 釋放 port:builtin dev-browser skill 的 macOS/Linux standalone command 在 server.sh 前先跑 release step;當 9222 沒有回應時,對占用 9223 的程序送 SIGTERM(等最多 5 秒,倖存者才 SIGKILL),讓 start-server.ts 接手時 port 已淨空、不再走到 kill -9(#12071)。

v5.1.59:senpi 2026.11.2-3——session 啟動與程序保護

senpi 2026.11.2-3 修正兩件事(#12200):新 session 的第一則訊息不再停頓數秒;會命中受保護 process 的 agent kill/pkill/killall 指令改為拒絕。

隨堂測驗

v5.1.58 首句「Claude subscription sign-in works again」修的是哪一版的問題?

💡 想先看個提示?

看 senpi 版號時間線:2026.10.31-2 → 2026.11.2-1。

第二條主軸:TLS/憑證信任收緊

v5.1.56:engines 不再讀環境變數憑證,Linux 只信任散布套件 bundle

v5.1.56 的憑證信任變更直接影響自訂根憑證的使用方式(#11956):

  • 環境變數憑證失效:desktop app 或自行啟動的 OmO server 所啟動的 engines,不再讀 SSL_CERT_FILE 或 SSL_CERT_DIR。自訂根憑證需裝進 OS 憑證庫,或加到 desktop app 的 Settings → Extra CA certificates;自行啟動的 server 仍認 NODE_EXTRA_CA_CERTS。
  • Linux 收緊:只信任散布套件 (distribution) 產生的憑證 bundle;直接放進 /etc/ssl/certs 或 /etc/ssl/cert.pem 而未跑 update-ca-certificates 或 update-ca-trust 的根不再被信任。
  • 失敗訊息:如果 OmO 無法讀取 OS 憑證,失敗的請求會說明原因與處理方式(“the failed request says why and what to do”)。
  • 尚未完成的部分:v5.1.56 條目同時註明「Distrusted intermediate certificates under an allowed root are not yet blocked; tracked upstream.」——未受信任的中繼憑證在允許的根之下尚未被阻擋,上游持續追蹤。

v5.1.56 起:CA importer 的 launcher trust stage

同版(#11956,issue #10762 的一部分)加入 engine CA importer 的 launcher trust stage(發射器信任階段):

  • 驗證並採用繼承的 generation(generation 指憑證庫的版本代),或取得私有 generation 並以獨立的 hop bound 執行一次。
  • 匯入失敗時只保留 explicit extras,隱式預設輸入保持關閉;子環境變數恢復原值。
  • release notes 明確說明這是分階段推出的第一段:“This is the launcher increment of the staged rollout, not the transport-error, background-refresh, trust CLI or desktop integration.”——後續還有 transport-error、background-refresh、trust CLI 與 desktop integration。

v5.1.59:omo trust ensure——trust stage 的 CLI 落地

v5.1.59 在信任主線上補上 CLI(#11969,issue #10762 的一部分):新增 omo trust ensure --json [--wait] [--lease-pid <pid>],由 launcher trust stage 回應;它在 launch budget 內匯入、寫入私有 generation 並租用 (lease) 它,retention sweep 不會移除執行中 process 仍在使用的 generation。

兩條主軸之外的行為改變

delegated task 不再 fallback 到 parent session 的 model(v5.1.58)

delegated task(委派任務)的模型選用規則改變(#12010,修 #12006/#11781):

  • delegated task 只在其 category 或 agent 指定的 model chain(模型鏈)上執行,不再因任何失敗退回 parent session 的 model。
  • 用量限制、登入缺失或被拒、content-policy 拒絕、指定模型全面過載等失敗,一律以 failure_kind: "model_chain_exhausted" 結束任務,錯誤訊息列出每個嘗試過的 model 與原因(含 provider 回報的 reset time)。
  • 適用於每個 category 與 workflow nodes;categories.<name>.provider_lock 留在 omo.json 中會被忽略。

reasoning 預設全面調高至 high(v5.1.59)

所有原本停在 medium 或 xhigh 的 builtin reasoning 預設改為 high(#12094,修 #12085):daily-normal lane 的 claude-opus-5-5 從 medium 改為 high;daily-heavy 與 Fable 5.5 launch rungs 從 xhigh 改為 high;geeky-normal、deep-low/unspecified/quick category chains、OpenCode category catalogs、builtin agent fallback chains 與 model-fallback default 一併調整。Model ids、provider 順序與 low/max/off 級別不變。

v5.1.55 的測試規則機械化與 omo remote

v5.1.55 在兩條主軸之外亦有兩組重要新增:

  • 兩支 Bun scripts 讓測試規則機械化:programming skill 內建 check-test-junk.ts——以 regex 標記測試檔中看得見的 junk classes(source greps、prose pins、fixed sleeps、.only/.skip、self-comparisons、lower-bound cardinalities),附 per-line opt-out;以及 mutation-proof.ts——break 一個 production owner、跑指定測試、逐位元組還原並印出 red/green,讓 “test your test” 成為一條指令(#11972)。remove-ai-slops 的分類 9 以同一張表標記 R/F/C/D、刪除前按類別規則證明,並在報告附 Tests Ledger(#11968、#12017)。
  • omo remote 家族與模型分配:omo remote status | devices | sessions | enable | disable 透過 OmO device service 以表格或 --json 檢視帳號裝置與其上的 sessions(底層為 typed SDK @oh-my-opencode/device-service-core,#11857);omo remote attach <device>/<session> 可在 attach TUI 觀察同帳號另一台裝置的 session,暫為 observe-only——輸入會以 “remote input not enabled yet” 拒絕(#11858);omo remote 先檢查 OmO 登入狀態(#11864)。另:categories 與 agents 可設 models_distribution: "round_robin" 將新 task children 分散到設定的 model chains,預設 sequential 保持原順序(#11905)。

動手升級檢查清單

升級 :動手檢查清單

逐項勾選,確認你已完成升級必要的步驟(進度會保存在此瀏覽器)

0 / 6

小結

v5.1.55~v5.1.59 是一個「連續修復 + 分階段推出」的縮影:runtime(senpi)三天內三次更新、登入路徑重整後旋即修復、瀏覽器與 port 清理講究 graceful quit、憑證信任從環境變數走向 OS 憑證庫與分階段 trust stage。對使用者的實際影響集中在三處:自訂憑證安裝方式、delegated task 的模型失敗語義,以及 reasoning 預設調高後的成本結構。