AISpot

OpenCode 2.2.0 發布:桌面端支援外掛,新增 GPT-6.1 Terra

OpenCode releases版本更新開發工具產品與方案開源訂閱動態

OpenCode 發布 2.2.0 版,桌面端可建立、安裝和共享外掛(實驗性),桌面應用介面也做了重新設計。Sign in with ChatGPT 新增 GPT-6.1 Terra 與 GPT-6.1 Terra Fast 兩個模型,外掛側新增實驗性影像與決策生成 API。破壞性變更包括:@opencode/ai 包根匯出改為 Promise API,Effect API 移至 @opencode/ai/effect;OpenCode GitHub Action 不再發布;

桌面外掛體系、按需追加會話指令而不破壞提示快取、GPT-6.1 Terra 上線,都屬實質性變化;OpenCode 使用者與外掛作者需留意 @opencode/ai 的匯出路徑調整。

原標題:v2.2.0
閱讀原文

評分74 / 70(平均 72,門檻 60)
狀態精選

全文翻譯

亮點 建立、安裝和分享桌面端外掛(實驗性)(#55246,#59469,#59489) 煥新桌面應用體驗(#56898,#58865,#55838,#57962) 為外掛和 SDK 新增實驗性的影像與決策生成 API,支援影像生成或決策模型(think typesafe、clef 等)工作流。(#59190,#59380,#58758) 外掛現在可以通過 ctx.session.instructions.entry.put/list/remove 附加和更新帶鍵的會話指令。每次變更會在下一步作為一個小更新新增,而不是編輯系統提示詞並破壞提示詞快取。這些條目在壓縮和回滾後依然保留,並且不會觸發額外的模型輪次。(#56550) 通過選擇性啟用,在桌面端恢復了 Todo 工具(#59092) 為每個提供商/模型新增可配置的提示詞快取 TTL(#59157) 破壞性變更 @opencode/ai 根入口現在是 Promise API @opencode/ai 現在的行為與 @opencode/sdk 和 @opencode/client 一致:包根入口匯出 Promise API,Effect API 移至 @opencode/ai/effect。@opencode/ai/promise 已移除,萬用字元子路徑匯出被替換為明確的提供商與協議入口點列表。(#58847,#59183) - import { AI } from "@opencode/ai/promise" - import { LLM } from "@opencode/ai" + import { AI } from "@opencode/ai" + import { LLM } from "@opencode/ai/effect" OpenCode GitHub Action 已移除 OpenCode GitHub Action 不再發布。請從你的工作流中移除它。(#59032) TUI 外掛需要 OpenTUI 0.7 @opencode/plugin 現在需要 @opentui/core 和 @opentui/solid 0.7.0,高於此前的 0.6.8 或更高版本。依賴 OpenTUI 0.6 的外掛在升級之前將無法安裝。在 OpenTUI 0.7 中,自訂可渲染物件在構造時從其類讀取鉤子:在建構函式中賦值 renderBefore、renderAfter 和 onLifecyclePass,而不是作為類欄位;通過反射新增鉤子後呼叫 refreshHooks();並將 defineNativeIntegration() 替換為靜態 nativeIntegration 宣告。參見 OpenTUI 0.7.0 發布說明。(#59295) 核心 改進 新增實驗性的影像與決策生成 API 端點。(#59190) 為目錄提供商新增影像與決策入口點。(#59380) 改進整合重建效能。(#59402) 允許自訂模型配置設定模型型別。(#59388) 允許模型列表 API 請求按型別過濾。(#59355) 使外部目錄權限檢查使用專案的檔案系統。(#59089) - 當程式碼搜尋發現超長行時降低記憶體使用。( #59205 ) - 允許外掛按型別過濾事件訂閱。( #58864 ) - 新增可配置的提示快取 TTL。( #59157 ) - 將影像縮放從主程序移出並釋放空閒影像記憶體。( #58820 ) - 減少步驟期間重複載入會話歷史。( #59091 ) - 為會話媒體新增實驗性 API,並支援選擇性加入的媒體 URI。( #59103 ) - 將機器主機名新增到 /api/info 。( #59090 ) - 在 experimental.media_blob 後面為會話媒體新增實驗性的內容定址 blob 儲存。( #58656 , #58741 ) - 從最新的已完成壓縮開始會話歷史。( #59020 ) - 減少對未持久化的持久事件負載進行編碼的工作。( #58923 ) - 從 serverInfo 暴露 MCP 伺服器標題。( #58950 ) - 將 OpenCode Console 工作區配置作為配置層應用。( #57703 ) - 在 AI pkg 中用 Decision API 替換實驗性評估,包括 OpenAI Decisions、System One 和 Cloudflare Run 模型。( #58758 , #58382 , #58379 , #58381 ) - 將工具模式轉換一次以加快工具執行。( #58798 , #58848 ) - 在識別倉庫變更的同時加快 Git 專案發現。( #58616 ) - 在阻礙你時顯示 OpenCode Console 預算限制和 Go 使用情況。( #58694 , #58714 ) - 記錄提供商報告的會話成本。( #58562 ) - 在 macOS 上更可靠地查詢 Git。( #58602 ) - 每個提示步驟僅解析一次模型詳情。( #58601 ) - 允許外掛為後續模型請求管理會話指令條目。( #56550 ) - 將 GPT-6.1 Terra 和 GPT-6.1 Terra Fast 新增到 Sign in with ChatGPT。( #59359 ) Bug 修復 - 在每個會話步驟和工具呼叫之前等待外掛完成重新載入。感謝 @kernel-oops 和 @Tarquinen 。( #51133 ) - 根據提供商報告的 token 數設定會話壓縮大小,以保留可用上下文。( #59441 ) - 跳過不可用的 models.dev API 端點,而不是讓模型目錄更新失敗。( #59475 ) - 當伺服器無法編碼回應時,返回帶有參考 ID 的伺服器錯誤。( #59459 ) - 避免在會話的模型請求執行期間預熱該會話。( #59325 ) - 在遷移期間保留舊版 MCP codemode 設定。感謝 @tneemo 。( #59126 ) - 為 eu 和 us 多區域使用正確的 Vertex AI 端點。( #59335 ) - 接受包含 http:// 或 https:// 的 Databricks 主機。( #59334 ) - 當補丁編輯將檔案移動到自身時保持檔案不變。( #59197 ) 在自訂命令輸入中保留字面量 $0 和 $ARGUMENTS 文字。(#59198) 關閉期間併發關閉專案位置。(#59326) 將等效目錄路徑(包括末尾斜槓)視為同一位置。(#59327) 向 Kimi 傳送有效的工具 schema,用於元組、預設值和類關鍵字引數。(#59207) 當執行權限被拒絕時,直接暴露 Code Mode MCP 工具。(#59315) 跨位置和程序協調 OAuth 憑據重新整理。(#54023) 無需裸遠端名稱即可正確列出和搜尋遠端 Git 分支。(#58597) 正確檢測 AVIF、HEIC/HEIF、QuickTime 和 M4A 附件。(#58480, #58886, #58887) 減少長時間執行的工具呼叫和未更改的掛鉤模型請求所保留的記憶體。(#58448, #58449) 載入會話差異而無需讀取每條訊息,從而提升大型會話的效能。(#57686) 當會話事件使用等效目錄路徑時,保持活動位置存活。(#56259) 僅當相容性技能自身的來源發生變化時才重新載入它們。(#59086) 當配置未更改時,避免發布冗餘的目錄更新。(#56267) 在輪詢會話表單時,避免啟動空閒或已刪除的專案位置。(#59083) 在返回代理和提供商列表之前等待外掛,防止目錄不完整。(#59082) 在其專案目錄被刪除後管理會話和指令條目。(#58997) 僅在首次使用時啟動模糊檔案搜尋,減少專案啟動工作。(#58959) 當關閉掛起時在 10 秒後退出,並報告待處理工作。(#58817) 在未更改時無需重新下載即可保持模型目錄最新。(#58813) 傳送 xAI Responses top_k 設定,並停止傳送不支援的懲罰引數。(#58868) 為 Groq 遵循共享的並行工具呼叫和服務層級設定。(#58871) 重試被限流的請求,而不是將其誤報為上下文溢位。(#58866) 保留在 OpenAI Chat 結束原因之後到達的流式文字和推理內容。(#58851) 無論錯誤型別出現在何處,都一致地對 AWS REST JSON 錯誤進行分類。(#58770) 驗證大型 base64 附件而不會變慢或掛起。(#58811) 將 Bedrock 限流錯誤作為速率限制進行重試,而不是當作上下文溢位。感謝 @Irish-Joseph 。(#58759) 當伺服器返回格式錯誤的 MCP 工具時,保持正常工作的 MCP 工具可用。(#58350) 跨目錄匹配絕對指令檔案 glob。感謝 @heimoshuiyu 。(#58749) 使用已配置的提供商區域作為 Bedrock 端點 URL。( #58538 ) 處理未知的 OpenAI Chat 結束原因,避免回應失敗。( #58608 ) 當端點轉換未產生任何更改時,避免不必要的 Azure 模型更新。( #58600 ) 對不透明的瀏覽器截圖優先使用 JPEG,以減小附件大小。( #56990 ) 當相容主機省略格式時,從位元組中檢測生成的影像型別。( #58475 ) 在會話執行長時間工具或等待輸入時保持專案服務存活,並設有 24 小時無活動上限。( #57274 ) 防止無關的配置更改和相容性技能更新突發導致技能被反覆重新載入。( #56260 ) TUI 改進 在動畫會話標籤脈衝可見時降低 CPU 使用率。( #59235 ) 在整合選擇器中將 OpenCode Console 列在 OpenCode Go 之前。( #59107 ) 為 OpenCode Console 使用限制新增 /usage 、模型選擇器、提示、側邊欄、警告和錯誤詳情。( #58731 ) 當併發程序更新 CLI 服務檔案時,使 CLI 服務註冊更可靠。( #59105 ) Bug 修復 將 opencode run --format json 伺服器連線錯誤作為 JSON 返回。感謝 @andreivince 。( #59366 ) 在將貼上的提示文字複製回來時保留該文字。( #59209 ) 當其檔案被短暫鎖定時,在 Windows 上可靠地更新後臺服務。( #59105 ) 將後臺服務狀態目錄排除在工具 shell 之外,並識別阻塞其埠的程序。( #58815 ) 在切換分支後重新整理 Git 分支詳情。( #58982 ) 當外掛槽或路由渲染純文字時保持 TUI 執行。感謝 @anmol0b 和 @Tarquinen 。( #58144 ) 在受支援的 CLI 命令中的任意位置接受 --server 和 --standalone。( #58505 ) 釋放已關閉和後臺會話的記錄以防止記憶體增長。( #58434 , #57025 ) 通過 HTTP 代理連線遠端訪問隧道。( #58464 ) 將開發建置與發布建置保持在獨立的伺服器、資料庫和埠上。( #58331 ) 桌面端 改進 從 設定 › 擴充套件 › 外掛 管理桌面外掛。( #59489 ) 新增持久的桌面縮放設定。( #59277 ) 在顯式啟用時,於桌面除錯建置中在 SIGUSR2 上捕獲堆快照。( #58317 ) 在瀏覽器標籤頁中顯示開啟的會話標題。( #59131 ) 在編輯器上方顯示 todowrite 任務。( #59092 ) 在返回會話標籤頁時僅載入一次會話歷史。( #59166 ) 使用數字鍵回答問題,並將多選選項顯示為核取方塊。( #58595 ) - 在位置選擇器中新增一個始終可用的“新增專案”操作。(#57962) - 允許你從任意訊息回退或分叉。(#58865) - 允許你編輯行內評論並複製 shell 輸出。(#58970, #58974) - 在訊息中以快得多的速度渲染 Mermaid 圖表,並使其尺寸適合列寬。(#57483, #57004) - 為桌面除錯建置新增需主動啟用的記憶體日誌記錄和遠端除錯。(#58315) - 在實驗性 Sources 設定之後顯示某一輪的 Web 來源。(#58307) - 從已完成的 shell 通知跳轉到其 shell 輸出。(#58663) - 當語音通話面板懸浮時,保持撰寫器可用。(#58587) - 預設使用 Soft Radar 活動載入指示器,並提供實驗性變體。(#58010, #57903) - 新增實驗性的新模型選擇器。(#58413) - 在 Desktop 測試版中新增實驗性 Console 語音通話。(#58249) - 新增時間線寬度設定。(#58308) - 通過粘性分割槽改進命令、會話和模型搜尋列表。(#58222) - 為最近關閉的會話新增搜尋。(#55721) - 在側邊標籤頁中開啟擴充套件配置和技能。(#58023) - 懸停時開啟會話擴充套件列表,並遵循鍵盤導航。(#58021) - 新增帶縮放控制元件的影片預覽。(#57924) - 新增生成的專案頭像和實驗性頭像樣式切換器。(#57871, #57930) - 將最近關閉的側邊標籤頁新增到新建標籤頁檢視。(#57863) - 新增可搜尋的提示詞歷史選擇器。(#57716) - 從命令面板中查詢設定。(#57651) - 將排隊和受引導的訊息分組,並將連續的使用者訊息歸組到一條後設資料行下。(#57561, #57552) - 改進檔案樹和資料夾選擇器的效能。(#57573, #57557) - 在新結果載入時保持分支搜尋結果可見。(#57531) - 將會話詳情選單新增到會話頭部。(#57528) - 在子代理的撰寫器區域中顯示其模型、狀態和已用時間。(#57473) - 允許你從標籤頁選單刪除會話,並使用 Ctrl+R 重新命名當前會話。(#57453, #57423) - 恢復會話摘要和專案選單操作。(#57781) - 允許你將後臺活動膠囊放置在左側、居中、右側,或將其隱藏。(#57962) - 在會話頭部和位置選單中顯示專案與工作樹詳情。(#57962) - 將文字渲染控制元件新增到除錯欄。(#57326) - 顯示後臺工作的已用時間。(#57218) - 改進流式 Markdown 渲染的可靠性和效能。(#57016) - 拆分側邊窗格,並新增帶標籤頁的可拖動底部窗格。(#56960) 在連線、會話和設定檢視中新增一致的 MCP 登入和錯誤狀態連結。(#57962) 一次開啟多個檔案標籤頁,並在標籤頁中開啟側邊面板內容。(#57182,#57094) 當你引導會話時,將正在執行的工作移到後臺。(#57142) 讓時間線在撰寫器下方滾動,同時保持其內容可見。(#57141) 將設定簡化為帶有每伺服器切換器的扁平列表。(#57962) 將選定的時間線或終端文字引用到撰寫器中。(#55664,#58420) 從標題欄搜尋線上伺服器上的會話。(#57962) 新增減少動態效果的外觀設定。(#57103) 在新會話位置選擇器中顯示所有伺服器上的專案。(#57962) 從帶收藏和最近模型的可搜尋對話方塊中選擇模型。(#55838) 將新會話位置選擇器附加到撰寫器下方。(#56952) 直接從訊息和撰寫器縮圖開啟影像預覽。(#56896) 在簡化位置選擇器中從當前分支啟動新的工作樹。(#57962) 從撰寫器活動膠囊管理正在執行的子代理和 shell。(#57962) 同步每個伺服器上的專案,並在主頁優先顯示你使用的專案。(#57962) 在設定中選擇 Focus 或 Pro 介面佈局。(#56898) 將終端作為側邊面板標籤頁開啟。(#57962) 從一個新會話位置對話方塊中選擇專案和工作樹。(#57962) 預設將子代理顯示為單獨的時間線行。(#57962) 為垂直標籤頁新增側邊欄切換。(#55646) 為側邊面板標籤頁新增 ⌘1–9 和 ⇧⌘[ / ⇧⌘] 快捷鍵。(#57301) 當會話位置不可用時,讓你選擇新目錄或工作樹。(#56087) 用緊湊的可搜尋列表重新整理管理模型、MCP 和 fork 對話方塊。(#56029,#56028) 在大約一秒內安裝未來的 Windows 桌面更新。(#55933) 在 Execute 行中顯示單獨的 Code Mode 工具呼叫。(#55649) 新增 Commentary 時間線類別和顯示設定。(#55248) 支援在訊息中使用 @ 連結到其他會話。(#57480) 最佳化會話標題欄、標題欄、撰寫器、檔案樹、瀏覽器窗格、時間線和設定中的間距、對齊、邊框和排版。(#58195,#57776,#57570,#57782,#57336,#57363,#58100,#58979) Bug 修復 防止重複的標籤頁快捷鍵,並從快捷鍵中移除已解除安裝外掛的命令。(#59499) 防止待辦事項在待辦面板中縮小。(#59430) 在切換問題時,保持問題停靠欄的答案和控制元件位置正確。(#59383) 在搜尋時保持 @ 選單開啟。(#59425) 在 macOS 上,Cmd+Q 後完成退出。感謝 @anmol0b。(#59144) 從設定中為當前會話位置切換 MCP 伺服器。(#59132) 當較早的移動被錯過時,傳遞轉向訊息。(#58984) 在搜尋時保持會話和命令面板搜尋結果穩定。(#58908,#57479) 將“搜尋專案”限制在專案列表中。(#58978) 允許自訂關閉標籤頁快捷鍵關閉終端和瀏覽器標籤頁。(#58945) 防止即時狀態行在編輯器上方跳動或留下空隙。(#58691,#58697) 在開啟的對話方塊後面保持瀏覽器標籤頁不動。(#58958) 當側邊欄或面板移動時,保持側面板內容和瀏覽器頁面可見。(#58202,#58185) 可靠地渲染會話差異。 在適當的時候,將鍵盤焦點保持在終端、側面板、對話方塊和編輯器中。(#57980,#57297,#56273) 保留空的瀏覽器和側面板標籤頁,而不是自動關閉它們。(#58440) 通過釋放已關閉的記錄、丟棄的工具結果影像、保留的 UI 批次和已中止的時間線工作,減少桌面記憶體使用。(#57025,#58434,#58427,#58560,#58447,#58439,#58432) 恢復水平滾動和粘性更改徽章

由 AI 翻譯,以原文為準。

原文
Highlights Create, install and share Desktop plugins (experimental) ( #55246 , #59469 , #59489 ) Refreshed the desktop app experience ( #56898 , #58865 , #55838 , #57962 ) Add experimental image and decision generation APIs to plugins and sdk, allowing image generation or decision model (think typesafe, clef, etc) workflows. ( #59190 , #59380 , #58758 ) Plugins can now attach and update keyed session instructions with ctx.session.instructions.entry.put/list/remove. Instead of editing the system prompt and busting the prompt cache, each change is added as a small update at the next step. The entries also survive compaction and reverts, and they don't start an extra model turn. ( #56550 ) Restored the Todo tool in desktop via opt-in ( #59092 ) Add configurable prompt cache TTLs per provider/model ( #59157 ) Breaking changes @opencode/ai root is now the Promise API @opencode/ai now works like @opencode/sdk and @opencode/client : the package root exports the Promise API, and the Effect API moved to @opencode/ai/effect . @opencode/ai/promise is removed, and the wildcard subpath export is replaced with an explicit list of provider and protocol entry points. ( #58847 , #59183 ) - import { AI } from "@opencode/ai/promise" - import { LLM } from "@opencode/ai" + import { AI } from "@opencode/ai" + import { LLM } from "@opencode/ai/effect" The OpenCode GitHub Action is removed The OpenCode GitHub Action is no longer published. Remove it from your workflows. ( #59032 ) TUI plugins require OpenTUI 0.7 @opencode/plugin now requires @opentui/core and @opentui/solid 0.7.0, up from 0.6.8 or later. Plugins that depend on OpenTUI 0.6 fail to install until they upgrade. In OpenTUI 0.7, custom renderables read their hooks from their class at construction: assign renderBefore , renderAfter , and onLifecyclePass in the constructor instead of as class fields, call refreshHooks() after adding a hook by reflection, and replace defineNativeIntegration() with a static nativeIntegration declaration. See the OpenTUI 0.7.0 release notes . ( #59295 ) Core Improvements Add experimental image and decision generation API endpoints. ( #59190 ) Add image and decision entrypoints for catalog providers. ( #59380 ) Improve integration rebuild performance. ( #59402 ) Let custom model configuration set a model type. ( #59388 ) Let model-list API requests filter by type. ( #59355 ) Make external-directory permission checks use the project's filesystem. ( #59089 ) Reduce memory use when code search finds very large lines. ( #59205 ) Let plugins filter event subscriptions by type. ( #58864 ) Add configurable prompt-cache TTLs. ( #59157 ) Move image resizing off the main process and release idle image memory. ( #58820 ) Reduce repeated session-history loading during a step. ( #59091 ) Add an experimental API for session media and opt-in media URI support. ( #59103 ) Add the machine hostname to /api/info . ( #59090 ) Add experimental content-addressed blob storage for session media behind experimental.media_blob . ( #58656 , #58741 ) Start session history from the latest completed compaction. ( #59020 ) Reduce work encoding durable event payloads that are not persisted. ( #58923 ) Expose MCP server titles from serverInfo . ( #58950 ) Apply OpenCode Console workspace configuration as a configuration layer. ( #57703 ) Replace experimental evaluations with Decision APIs in the AI pkg, including OpenAI Decisions, System One, and Cloudflare Run models. ( #58758 , #58382 , #58379 , #58381 ) Convert tool schemas once to speed up tool execution. ( #58798 , #58848 ) Make Git project discovery faster while recognizing repository changes. ( #58616 ) Show OpenCode Console budget limits and Go usage where they block you. ( #58694 , #58714 ) Record provider-reported session costs. ( #58562 ) Find Git more reliably on macOS. ( #58602 ) Resolve model details once per prompt step. ( #58601 ) Let plugins manage session instruction entries for subsequent model requests. ( #56550 ) Add GPT-6.1 Terra and GPT-6.1 Terra Fast to Sign in with ChatGPT. ( #59359 ) Bug fixes Wait for plugins to finish reloading before each session step and tool call. Thanks @kernel-oops and @Tarquinen . ( #51133 ) Size session compaction from the provider's reported token count to preserve usable context. ( #59441 ) Skip unavailable models.dev API entrypoints instead of failing model catalog updates. ( #59475 ) Return a server error with a reference ID when the server cannot encode a response. ( #59459 ) Avoid warming a session while its model request is running. ( #59325 ) Preserve legacy MCP codemode settings during migration. Thanks @tneemo . ( #59126 ) Use the correct Vertex AI endpoints for the eu and us multi-regions. ( #59335 ) Accept Databricks hosts that include http:// or https:// . ( #59334 ) Keep files intact when patch edits move a file onto itself. ( #59197 ) Preserve literal $0 and $ARGUMENTS text in custom command input. ( #59198 ) Close project locations concurrently during shutdown. ( #59326 ) Treat equivalent directory paths, including trailing slashes, as one location. ( #59327 ) Send valid tool schemas to Kimi for tuple, default, and keyword-like arguments. ( #59207 ) Expose Code Mode MCP tools directly when the execute permission is denied. ( #59315 ) Coordinate OAuth credential refreshes across locations and processes. ( #54023 ) List and search remote Git branches correctly without bare remote names. ( #58597 ) Detect AVIF, HEIC/HEIF, QuickTime, and M4A attachments correctly. ( #58480 , #58886 , #58887 ) Reduce memory retained by long-running tool calls and unchanged hooked model requests. ( #58448 , #58449 ) Load session diffs without reading every message, improving performance for large sessions. ( #57686 ) Keep active locations alive when session events use an equivalent directory path. ( #56259 ) Reload compatibility skills only when their own sources change. ( #59086 ) Avoid publishing redundant catalog updates when configuration is unchanged. ( #56267 ) Avoid booting idle or deleted project locations while polling session forms. ( #59083 ) Wait for plugins before returning agent and provider lists, preventing incomplete catalogs. ( #59082 ) Manage sessions and instruction entries after their project directory is deleted. ( #58997 ) Start fuzzy file search only on first use, reducing project startup work. ( #58959 ) Exit after 10 seconds when shutdown hangs and report pending work. ( #58817 ) Keep the models catalog fresh without redownloading it when unchanged. ( #58813 ) Send xAI Responses top_k settings and stop sending unsupported penalties. ( #58868 ) Honor shared parallel tool-call and service-tier settings for Groq. ( #58871 ) Retry throttled requests instead of misreporting them as context overflows. ( #58866 ) Preserve streamed text and reasoning that arrive after an OpenAI Chat finish reason. ( #58851 ) Classify AWS REST JSON errors consistently regardless of where the error type appears. ( #58770 ) Validate large base64 attachments without slowdowns or hangs. ( #58811 ) Retry Bedrock throttling errors as rate limits instead of context overflows. Thanks @Irish-Joseph . ( #58759 ) Keep working MCP tools available when a server returns malformed ones. ( #58350 ) Match absolute instruction-file globs across directories. Thanks @heimoshuiyu . ( #58749 ) Use configured provider regions in Bedrock endpoint URLs. ( #58538 ) Handle unknown OpenAI Chat finish reasons without failing the response. ( #58608 ) Avoid unnecessary Azure model updates when endpoint transforms make no change. ( #58600 ) Prefer JPEG for opaque browser screenshots, reducing attachment size. ( #56990 ) Detect generated image types from their bytes when compatible hosts omit the format. ( #58475 ) Keep project services alive while sessions run long tools or wait for input, with a 24-hour inactivity cap. ( #57274 ) Prevent unrelated configuration changes and compatibility-skill update bursts from repeatedly reloading skills. ( #56260 ) TUI Improvements Reduce CPU use while animated session-tab pulses are visible. ( #59235 ) List OpenCode Console before OpenCode Go in the integration picker. ( #59107 ) Add /usage , model-picker, prompt, sidebar, warning, and error details for OpenCode Console usage limits. ( #58731 ) Make CLI service registration more reliable when concurrent processes update its files. ( #59105 ) Bug fixes Return opencode run --format json server connection errors as JSON. Thanks @andreivince . ( #59366 ) Preserve pasted prompt text when copying it back out. ( #59209 ) Reliably update the background service on Windows when its files are briefly locked. ( #59105 ) Keep the background service state directory out of tool shells and identify processes blocking its port. ( #58815 ) Refresh Git branch details after switching branches. ( #58982 ) Keep the TUI running when a plugin slot or route renders bare text. Thanks @anmol0b and @Tarquinen . ( #58144 ) Accept --server and --standalone anywhere in supported CLI commands. ( #58505 ) Release closed and background session transcripts to prevent memory growth. ( #58434 , #57025 ) Connect remote access tunnels through HTTP proxies. ( #58464 ) Keep development builds on a separate server, database, and port from released builds. ( #58331 ) Desktop Improvements Manage desktop plugins from Settings › Extensions › Plugins. ( #59489 ) Add a persistent desktop zoom setting. ( #59277 ) Capture heap snapshots in desktop debug builds on SIGUSR2 when explicitly enabled. ( #58317 ) Show the open session title in the browser tab. ( #59131 ) Show todowrite tasks above the composer. ( #59092 ) Load session history once when returning to a session tab. ( #59166 ) Answer questions with number keys and show multi-select choices as checkboxes. ( #58595 ) Add an always-available Add project action to the location picker. ( #57962 ) Let you rewind or fork from any message. ( #58865 ) Let you edit line comments and copy shell output. ( #58970 , #58974 ) Render Mermaid diagrams in messages much faster, sized to fit the column. ( #57483 , #57004 ) Add opt-in memory logging and remote debugging for desktop debug builds. ( #58315 ) Show web sources for a turn behind the experimental Sources setting. ( #58307 ) Jump from a completed shell notification to its shell output. ( #58663 ) Keep the composer usable while the voice-call panel floats. ( #58587 ) Use the Soft Radar activity spinner by default and provide experimental variations. ( #58010 , #57903 ) Add an experimental new model picker. ( #58413 ) Add experimental Console voice calls in Desktop beta. ( #58249 ) Add a timeline width setting. ( #58308 ) Improve command, session, and model search lists with sticky sections. ( #58222 ) Add search to recently closed sessions. ( #55721 ) Open extension configuration and skills in side tabs. ( #58023 ) Open session extension lists on hover and follow keyboard navigation. ( #58021 ) Add video previews with zoom controls. ( #57924 ) Add generated project avatars and an experimental avatar-style switcher. ( #57871 , #57930 ) Add recently closed side tabs to the new-tab view. ( #57863 ) Add a searchable prompt history picker. ( #57716 ) Find settings from the command palette. ( #57651 ) Group queued and steered messages, and group consecutive user messages under one metadata line. ( #57561 , #57552 ) Improve file-tree and folder-picker performance. ( #57573 , #57557 ) Keep branch search results visible while new results load. ( #57531 ) Add a session-details menu to the session header. ( #57528 ) Show a subagent's model, status, and elapsed time in its composer area. ( #57473 ) Let you delete sessions from tab menus and rename the current session with Ctrl+R. ( #57453 , #57423 ) Restore session summary and project menu actions. ( #57781 ) Let you place the background-activity capsule at the left, center, right, or hide it. ( #57962 ) Show project and worktree details in the session header and location menu. ( #57962 ) Add text-rendering controls to the debug bar. ( #57326 ) Show elapsed time for background work. ( #57218 ) Improve streamed Markdown rendering reliability and performance. ( #57016 ) Split the side pane and add a draggable bottom pane with tabs. ( #56960 ) Add consistent MCP sign-in and error-status links across connection, session, and Settings views. ( #57962 ) Open multiple file tabs at once and open side-panel content in tabs. ( #57182 , #57094 ) Move running work to the background when you steer a session. ( #57142 ) Let the timeline scroll beneath the composer while keeping its content visible. ( #57141 ) Simplify Settings into a flat list with a per-server switcher. ( #57962 ) Quote selected timeline or terminal text into the composer. ( #55664 , #58420 ) Search sessions across online servers from the title bar. ( #57962 ) Add a Reduce motion appearance setting. ( #57103 ) Show projects from all servers in the new-session location picker. ( #57962 ) Pick models from a searchable dialog with favorites and recent models. ( #55838 ) Attach the new-session location picker below the composer. ( #56952 ) Open image previews directly from message and composer thumbnails. ( #56896 ) Start new worktrees from the current branch in the simplified location picker. ( #57962 ) Manage running subagents and shells from the composer activity capsule. ( #57962 ) Sync projects from each server and prioritize projects you use on Home. ( #57962 ) Choose between Focus and Pro interface layouts in Settings. ( #56898 ) Open terminals as side-panel tabs. ( #57962 ) Choose a project and worktree from one new-session location dialog. ( #57962 ) Show subagents as separate timeline rows by default. ( #57962 ) Add a sidebar toggle for vertical tabs. ( #55646 ) Add ⌘1–9 and ⇧⌘[ / ⇧⌘] shortcuts for side-panel tabs. ( #57301 ) Let you choose a new directory or worktree when a session location is unavailable. ( #56087 ) Refresh the Manage models, MCP, and fork dialogs with compact searchable lists. ( #56029 , #56028 ) Install future Windows desktop updates in about a second. ( #55933 ) Show individual Code Mode tool calls in Execute rows. ( #55649 ) Add a Commentary timeline category and display setting. ( #55248 ) Support @ links to other sessions in messages. ( #57480 ) Polish spacing, alignment, borders, and typography across the session header, titlebar, composer, file tree, browser pane, timeline, and Settings. ( #58195 , #57776 , #57570 , #57782 , #57336 , #57363 , #58100 , #58979 ) Bug fixes Prevent duplicate tab shortcuts and remove uninstalled plugin commands from Shortcuts. ( #59499 ) Keep todo items from shrinking in the todo panel. ( #59430 ) Keep question-dock answers and controls positioned correctly when changing questions. ( #59383 ) Keep the @ menu open while it searches. ( #59425 ) Finish quitting after Cmd+Q on macOS. Thanks @anmol0b . ( #59144 ) Toggle MCP servers for the current session location from Settings. ( #59132 ) Deliver steering messages when an earlier move was missed. ( #58984 ) Keep session and command-palette search results stable while searching. ( #58908 , #57479 ) Restrict Search projects to the project list. ( #58978 ) Let custom Close tab shortcuts close terminal and browser tabs. ( #58945 ) Prevent live status rows from jumping or leaving gaps above the composer. ( #58691 , #58697 ) Keep browser tabs still behind open dialogs. ( #58958 ) Keep side-panel content and browser pages visible while the sidebar or panel moves. ( #58202 , #58185 ) Render session diffs reliably. Keep keyboard focus in terminals, side panels, dialogs, and the composer when appropriate. ( #57980 , #57297 , #56273 ) Preserve empty browser and side-panel tabs instead of closing them automatically. ( #58440 ) Reduce desktop memory use by releasing closed transcripts, discarded tool-result images, retained UI batches, and aborted timeline work. ( #57025 , #58434 , #58427 , #58560 , #58447 , #58439 , #58432 ) Restore horizontal scrolling and sticky change badges in the file tree. ( #58117 ) Show live Thinking for reasoning-only turns. ( #58299 ) Stop loading older history after completing the initially visible turn and prioritize the first transcript page. ( #57700 , #57741 ) Keep Home project and session lists reliable during refreshes. Keep deleted sessions from reappearing on Home. ( #55349 ) Find sessions immediately in @ mentions, including multi-word titles. ( #57683 ) Keep queued messages editable while changes sync with the server. ( #57569 ) Open image and video URLs in the browser pane. ( #57562 ) Mark submitted generated forms as complete and send each response only once. ( #57537 ) Improve file-view performance with reused views, virtualized medium files, and cached diffs. ( #57551 ) Group untracked folders into one expandable review row. ( #57527 ) Let you paste into the composer from the session view. ( #57545 ) Recover failed beta background servers and preserve their required CLI versions. ( #57321 ) Restore branch selection when starting a new worktree session. ( #57962 ) Keep the running server available while beta updates install. ( #57309 ) Make links in user messages, shell output, and Code Mode output clickable. ( #57211 , #57303 ) Make Check for Updates always report its result. ( #57296 ) Reopen the last closed side-panel tab with ⇧⌘T and open a browser tab with ⌘T. ( #57269 , #57156 ) Keep OpenCode keyboard shortcuts working in the browser pane. ( #56697 , #55240 ) Preview image attachments supplied by file path. ( #57249 ) Apply configured code and UI fonts consistently. ( #57242 ) Keep activity and busy indicators steady while switching sessions. ( #57196 ) Reserve ⇧⌘W for closing the window so ⌘W does not. ( #57150 ) Make image preview transitions resize smoothly without clipping or blocking clicks. ( #56997 , #57324 ) Keep in-session search reliable alongside titlebar session search. ( #57962 ) Return focus to the prompt after keyboard model selection. Open searchable pickers at the top with search focused. ( #57962 ) Keep tables visible beneath sticky headers. ( #57050 ) Fit provider connection steps without shifting a dialog's top edge. ( #57006 ) Give unavailable-server panels clear error styling. ( #57003 ) Make mouse-wheel and keyboard scrolling respond immediately on Linux. ( #57962 ) Keep long Execute tool code contained and show successful Code Mode output. ( #56915 ) Focus the most useful control when dialogs open, including Cancel in delete confirmations. ( #57453 ) Install Windows beta, stable, and nightly builds into separate directories. ( #56904 ) Keep session tabs recoverable when their server becomes unreachable. ( #56248 ) Keep the composer model's provider and session-model resolution consistent with the TUI. ( #56225 ) Reread open files without resetting their scroll position. ( #55899 ) Hide agent names when agents are disabled. ( #57525 ) Polish sidebar, panel, composer, activity, question-dock, loading, and motion behavior across light and dark themes. ( #57449 , #58013 , #58577 , #57944 , #58052 , #58494 , #58073 , #58114 ) Polish hover states, cursors, tooltips, focus rings, scrollbars, and transitions across desktop controls. ( #57653 , #57787 , #57304 , #58971 , #57221 , #57192 , #58575 , #58580 ) SDK Improvements Add GUI plugin APIs for toasts, dialogs, notifications, tabs, composer controls, and custom UI. ( #59469 ) Bug fixes Fix generated Promise client input types for TypeScript consumers. ( #58875 ) Let SDK clients discard inline tool-result file payloads to reduce memory use. ( #59101 ) Avoid unnecessary catalog refreshes for locations an SDK client has not loaded. ( #55237 , #59099 ) Restore running sessions created while an SDK client was disconnected. ( #53012 ) Release omitted tool-image payloads from memory instead of retaining their base64 data. ( #58560 )

相關報導

OpenCode releasesAI 評分53

OpenCode 1.19.0 發布,更新改為手動安裝,可升級至 OpenCode 2

OpenCode 發布 v1.19.0,使用者可通過 opencode upgrade --major 升級到 OpenCode 2;TUI 內改用 /update 來安裝更新或完成升級,更新不再自動安裝。本次還允許使用 OpenAI ultrafast 服務層級,並在檢查 PTY 是否存在前先校驗 PTY 連線來源與票據。另有社群貢獻者提交 Exo 用量統計歸屬修復及 Zen 文件條目增刪。

OpenCode releasesAI 評分47

OpenCode v1.19.1 停止會話分享功能

OpenCode 發布 v1.19.1,最重要的改動是停止會話分享:已有分享連結與會話分享命令不再可用,從分享 URL 匯入會話也不再支援,該項列在 Core 的 Bugfixes 下。發布者為 opencode-agent,日期為 2026 年 10 月 15 日,相對上一版本沒有新增提交(0 commits),除會話分享外未提及新模型或其他功能變化。該版本被標記為不可變發布(Immutable),僅標題與說明可修改。

Hacker News front page● 精選AI 評分83

OpenCode 2.0 發布:MCP 預設啟用 Code Mode,新增後臺子代理

OpenCode 2.0 是一次大規模重構,核心新功能是 Code Mode:用 @opencode/codemode 包內建的極簡 JavaScript 直譯器,把 MCP 伺服器與 OpenAPI 端點轉成代理可呼叫的函式,2.0 中所有 MCP 伺服器預設啟用 Code Mode,一次指令碼就能串起多個工具呼叫,減少往返。服務端也改為在本地自動以單一後臺程序執行,TUI、Web 與桌面端共用同一程序,並推出 @opencode/client 客戶端包與從頭重寫的 API。

OpenCode releasesAI 評分43

OpenCode v1.18.35 發布:修復 xAI 工具結果圖片傳遞

OpenCode 發布 v1.18.35,核心改進是新增 canonical redirects,並提供 JSON 與 Markdown 兩種格式的 agent 可讀統計資料。本次修復讓 xAI 的工具呼叫結果可以攜帶受支援的圖片,不支援的圖片格式會被跳過,做法是把 @ai-sdk/xai 升級到 3.0.139。文件方面,Zen 文件新增 Fledge Alpha Free,生態外掛列表加入 opencode-supabase,該版本同時致謝 3 位社群貢獻者。

OpenCode releasesAI 評分43

OpenCode v1.19.3 發布:推理選項可生成推理變體

OpenCode 發布 v1.19.3,核心改進是支援通過模型推理選項生成推理變體,取代目錄中的變體,同時保留使用者已配置的變體覆蓋。該版本由 opencode-agent 於 2026 年 10 月 16 日發布,並被標記為 Latest,發布說明的 Core 部分僅列出這一項改動。除此之外沒有其他功能、修復或破壞性變更的說明,需要該能力的使用者升級到 v1.19.3 後在推理選項裡配置即可。