概述
v5.1.45~v5.1.48 於 2026-10-24~2026-10-25 發布。本課聚焦長 session 資料讀取,以及初始化、Git 查找、memory recovery 與 turn-end 等可靠性改善。效能數字是各版 release notes 記載的量測,不代表本站或讀者環境的實測結果。
v5.1.45:Session API 分頁與長對話效能
session_read、session_search 與 session_info 改為透過 OpenCode 的 message API 分頁讀取,而非載入整個 session。release notes 以 23,000 則訊息的 session 量測:session_read 使用 limit: 2, from_end: true 時,讀取時間由 39.6 秒降至 42 ms,峰值記憶體由 1,848 MB 降至 68 MB(#10741;相關 issue:#10738)。
搜尋耗盡 60 秒 timeout 時,現在會在搜尋返回後停止讀取;release notes 指出,舊行為會在背景再讀取 228 MB。這組量測說明分頁讀取對特定長 session 的影響,不應解讀為所有環境都會達到相同數字。
v5.1.46:Committed mode 使用自身的 PR handoff
OmO Native 的 init-deep committed mode 不再指向 OmO Native 未提供的 skill,而是透過自身的 pull-request handoff 完成流程。若無法開啟 PR,流程會回報如何手動完成(#11228;修正 #9686)。
同版也改善 reflection 執行的復原:host 在 run 中途結束時,若 launcher 與 publish claimant 都已消失且結果有記錄,後續請求會結算該 run,讓排隊請求繼續執行(#10388、#10528)。此外,一筆不合規的 memory entry 不再讓整個 reflection run 失敗;有效項目會保留,遭拒項目會逐項附原因回報(#10528)。
v5.1.47:Git pathspec 模式下的字面路徑查找
Memory path-state recovery 與 commit hooks 在全域 glob 或不區分大小寫的 pathspec 模式啟用時,仍能進行 literal Git lookups(#11167;修正 #11130)。同版也將使用者 Stop 對 workflow run 的作用改為暫停:DAG nodes、workpool workers 與 task children 停在原處,對暫停中的 run 傳送訊息或執行 Resume 後,會從停止處繼續(#10808;修正 #6752)。
v5.1.48:限制卡住的 turn-end 等待
OmO Native 遇到卡住的 turn-end subscriber 時,等待兩秒後停止等待。Memory recovery 仍可重試,而被取消的等待不會被當成失敗的 reflection run;stall diagnostics 會指出 component 與 hook,而不只顯示 omo.js(#11254)。
v5.1.48 也更新 senpi engine 至 2026.10.25-2。release notes 記載,在有 748 個 skills 的案例中,啟動時間由 83.2 秒降至 1.4 秒;這是該案例的量測。長 session 出現 context-budget reminder 時,該次 request 寫入 44k cache tokens,而舊行為寫入 758k;engineTurns.maxPerUserInput 可重新啟用預設關閉的 per-request turn limit,6 小時 turn runtime cap 仍適用(#11240)。
v5.1.51:啟動加速與同步 task 快速失敗
v5.1.51(2026-10-28 發布)併入了未發布的 v5.1.49 與 v5.1.50——v5.1.49 的 Linux binaries 超過 182 MiB 體積預算(linux-x64 200.0 MB),該 release 在任何東西發布前就停止,體積預算隨後移到 200 MiB。
- Session startup 與 task RPC attachment 不再等 task-host liveness probes(#11335):recovery 改為每 host 獨立運作、shutdown 後不再 claim 或 revive children,並保留較新的 ownership claims。
- DAG recovery 與 workpool reconciliation 共用啟動 gate(#11525):兩者等待同一個 session-start reconcile 而不佔住 admission——暫停 DAG 中可復活的 child 不再被誤判 orphaned,orphaned worker 的 queued workpool item 改為重新投遞而非標記 delivery_uncertain。
- 同步 task 快速失敗(#11524,修 #11520):對已刪除的 session 續跑同步 task 立即回錯並要求開新 task,不再等滿 30 分鐘 sync poll timeout;完成的 sync task session 改守
background_task.taskCleanupDelayMs而非固定 10 分鐘。 - Provider 登入失效改走 fallback(#11440):engine 以
provider_credentials_missing/provider_credentials_expired拒絕 child 首個 prompt 時,task 跳過該 provider、走 fallback chain 的下一個 provider,最後落到 parent session 的 model;每一跳記錄task_model_fallbackevent。ChatGPT subscription 的 sign-in refresh 只在啟動時短暫失敗(connection refused、timeout、408/429/5xx)時,model profile 不再被換到下一個 metered provider(#11442,修 #11432)。
複查重點
- Session API 使用分頁讀取;長 session 的量測值需連同測試條件解讀。
init-deepcommitted mode 有自己的 PR handoff,無法開 PR 時會提供手動完成方式。- Git 全域 pathspec 設定不應再破壞 memory recovery 與 commit hooks 的字面路徑查找。
- 卡住的 turn-end subscriber 等待兩秒後停止等待;被取消的等待不代表 reflection run 失敗。
- v5.1.51 起 session startup 與 task RPC attachment 不再等 liveness probes;同步 task 對已刪除 session 快速失敗,provider 登入失效改走 fallback chain。
v5.1.45 的長 session 量測中,`session_read` 使用 `limit: 2, from_end: true` 後有何改變?
💡 想先看個提示?
確認前後的秒數與 MB 數字。
動手升級檢查清單
升級 v5.1.51:動手檢查清單
逐項勾選,確認你已完成升級必要的步驟(進度會保存在此瀏覽器)
延伸閱讀
- 官方 v5.1.45 release notes
- 官方 v5.1.46 release notes
- 官方 v5.1.47 release notes
- 官方 v5.1.48 release notes
- 官方 v5.1.51 release notes
- 前一課:
v5142-5144-model-memory-engine——模型路由、記憶與 engine 更新。