OpenCode 2.2 開放桌面外掛實驗功能:把專案面板放進代理工作區
OpenCode 2.2 開放桌面外掛的實驗功能,讓開發者建立、安裝與分享介面擴充。外掛可以增加面板、指令與設定頁,適合把既有工作資訊帶到代理旁邊。
請代理寫完程式後,還得切到另一個工具看進度、再回來貼上背景,工作很容易碎成一串來回切換。桌面代理若能容納團隊自己的面板,這些交接就有機會留在同一個工作區。
OpenCode 2.2 開放桌面外掛的實驗功能,讓開發者建立、安裝與分享介面擴充。外掛可以增加面板、指令與設定頁,適合把既有工作資訊帶到代理旁邊。
這裡的外掛,是一段會被應用程式載入的擴充程式。它與單純告訴模型「請用這種方式回答」的提示詞不同,也需要處理程式版本與執行環境。
官方仍把這組介面標成實驗階段,代表寫好的外掛可能隨版本變動而調整。已經有內部開發能力的團隊,可以先用小面板驗證需求,不適合直接承諾穩定的全公司流程。
對一般使用者,這次更新值得觀察的是工具能否減少重複交接。對開發者,則要先看懂外掛在哪裡執行,才知道它能接觸哪些資源。
因此,判斷這次擴充是否適合你,可以先從一個很小的問題開始:你每天最常切出去看的資訊是什麼。
OpenCode 桌面外掛把哪些資訊帶進工作區
桌面外掛讓團隊把自己的工作資訊放進 OpenCode,而不必只靠聊天訊息顯示。對已經有專案狀態、內部文件或檢查清單的團隊,這多了一個把背景放在代理旁邊的方式。
OpenCode 2.2 官方版本紀錄 列出建立、安裝與分享 Desktop plugins,並標示為實驗功能。它和這次桌面介面調整一起出現,但並不表示已有成熟的外掛商店。
依官方 GUI 外掛文件,外掛可以增加面板、指令、設定頁與原生整合。GUI 指的是有視窗、按鈕與面板的圖形介面,使用者不必只在終端機看文字。
你可以把面板想成固定在工作區裡的一小塊專用介面。例如,顯示目前專案的交付清單,讓人與代理都能圍繞同一個任務看進度。
不過,「能增加面板」與「已經接好你的專案服務」之間,仍有開發工作。資料從哪裡來、如何更新、誰能讀取,都需要由外掛作者實作。
先分清外掛與提示詞
提示詞是你向模型描述的要求,外掛則是應用程式會載入的程式碼。前者適合規範回覆與工作方法,後者可以增加介面與程式行為。
因此,想讓代理以固定格式回報進度,未必需要寫外掛。只有當你需要長期顯示資訊、加入操作入口,或連接既有流程時,介面擴充才比較有價值。
對一般使用者,判斷外掛是否值得安裝,可以從用途與來源開始。你應該能說清楚它少掉哪個重複動作,以及安裝後會多出哪些可見功能。
對內部開發團隊,則可以先觀察每天最常切出去查看的資訊。從一個固定面板開始,比把整個公司系統一次搬進代理工作區更容易判斷成效。

先做一個專案狀態面板,避免一次接太多服務
第一個外掛應該只有一個明確用途,讓團隊能直接比較使用前後的工作差異。專案狀態面板很適合作為概念驗證,因為輸入、顯示與驗收都能縮小範圍。
例如,先讓面板顯示一份本機的交付清單,包含工作名稱、狀態與成果位置。這個階段先處理讀取與顯示,不急著加入自動更新外部工單的動作。
這是依官方擴充能力設計的編輯示例,並非官方已提供的成品。真正要做成外掛,仍需依 SDK 實作資料讀取、畫面與錯誤處理。
SDK 是提供給開發者使用的工具組,讓外掛以應用程式支援的方式加入功能。使用 SDK 的好處,是不用猜測應用程式內部應該怎麼接。
把驗收寫成畫面上看得見的結果
面板的完成標準可以很具體:開啟專案時看得到正確清單,資料變更後顯示可理解的狀態,資料不存在時能告訴使用者原因。
這些條件比「介面很順」容易檢查。若空白畫面沒有說明,使用者就分不清是沒有待辦、資料讀取失敗,還是外掛根本沒有載入。
資料來源也要能追溯。面板顯示某個任務已完成時,最好讓使用者知道這個狀態來自哪份資料,而不是只能相信一個綠色標籤。
如果之後要加入按鈕,先選擇可回復、容易檢查的動作。例如開啟成果或展開說明,能讓團隊先確認導覽方式,再評估是否需要更大範圍的寫入能力。
一次只增加一項能力,也比較容易找出問題。畫面、資料連線與外部寫入同時加入,發生錯誤時很難知道是哪一層造成。
功能範圍確定後,開發者需要再往下看:同一個外掛檔案,實際上可能在不同程序裡執行。
視窗與主程序各自負責什麼
官方把 GUI 外掛的執行分成視窗與主程序,這會直接影響程式能使用的功能。看懂這個分工,比先複製一長段範例更有幫助。
setup 在每個桌面視窗執行,負責加入面板、指令與設定頁等介面內容。main 則在桌面應用程式的主程序執行一次,處理原生選單與 Node、Electron 等整合。
Node 是讓 JavaScript 在瀏覽器之外執行的環境,Electron 則是建立桌面應用程式的一套技術。在這個情境裡,它們對應到桌面程式可以使用的系統能力。
兩個執行位置不同,代表放錯地方的程式不會自然得到相同資源。官方文件特別提醒,視窗裡的 Node 與 Electron 模組是占位內容,主程序裡的部分視窗模組也一樣。
先讓最小官方範例跑通
官方範例透過 Plugin.define 宣告外掛,並用 ctx.add 加入指令。要開始開發,可以先依文件建立最小範例,確認載入成功,再增加自己的資料與畫面。
外掛套件透過 ./gui-experimental 匯出圖形介面部分。名稱本身就帶著 experimental,提醒開發者這組介面仍可能隨版本調整。
官方要求這個部分建置成一個預先打包的 CommonJS 檔案,並提供 Vite 設定協助產生。打包就是把程式與需要的內容整理成應用程式能載入的成果。
這裡的細節適合由熟悉 JavaScript 的開發者處理。一般使用者不必理解每個匯出名稱,但應知道一個能安裝的外掛,需要作者準備完整套件。
團隊若要接續維護,則應保留原始碼、建置方式與使用版本。只拿到一個能執行的檔案,發生相容性問題時,接手的人會缺少調整依據。
當最小範例與資料面板都能工作,才適合開始討論分享與長期維護。
安裝分享之前,先確認版本與移除方式
實驗外掛最需要留下的是相容條件,而不是只提供一個安裝連結。作者應說明使用哪個 OpenCode 版本、需要哪些套件,以及這個外掛究竟增加什麼行為。
官方外掛說明 指出,同一個 npm 套件可以包含伺服器、終端機與圖形介面部分。使用者按一般外掛方式安裝,不需要另做一個 GUI 安裝步驟。
npm 是 JavaScript 常用的套件管理系統。對安裝者來說,套件名稱與來源都是識別外掛的重要資訊,不能只看展示畫面就確定下載對象。
2.2 的升級也有相容性變更
這次版本紀錄同時列出幾項破壞性變更,也就是舊程式需要配合調整的更新。例如,@opencode/ai 的匯出方式改變,部分終端機外掛需要升級 OpenTUI。
官方也表示 OpenCode GitHub Action 不再發布,要求使用者從流程移除。這些是特定整合的變化,不應延伸成「所有外掛不能用」或「整個自動化能力消失」。
若你已經有自己的擴充程式,升級時應先逐項核對相關部分。桌面 GUI 外掛的新能力,不會自動替既有終端機或伺服器外掛處理相容性。
對準備分享的新外掛,應同時提供停用與移除方式。測試者能回到原本環境,才比較容易放心試用,也方便作者區分外掛問題與主程式問題。
延伸閱讀:OpenCode 通報 Console 安全事件:影響 1.4% Console 使用者,外部模型帳號該先查什麼?
這篇背景有助於理解服務帳號與外部模型連線的差別。選擇外掛時,同樣應先看它會連到哪些服務,再決定是否適合放進團隊環境。
延伸閱讀:GLM 5.3 Flash 在 OpenCode 免費開放:怎麼選模型,免費範圍要看什麼?
模型選擇與介面擴充是不同決定。先知道自己要用哪個模型完成任務,再判斷是否需要面板輔助,會比較容易控制試用範圍與成本。
分享時也交出一次完整操作路徑
一個可分享的外掛,應讓第一次使用的人知道從哪裡開啟、預期看到什麼,以及出錯時怎麼回報。這些說明可以很短,但必須對得上實際畫面。
以專案狀態面板為例,可以先附一份沒有真實客戶資料的示範檔。測試者不必一開始就連上正式服務,也能確認面板是否正確載入與呈現資料。
接著請一位沒參與開發的人照說明操作。他若找不到入口,表示安裝成功與使用成功之間還缺了一步,作者需要補上可見的導覽。
測試也應包含沒有資料的情況。面板若只能在作者電腦的特定資料夾工作,分享給別人後就容易出現空白,這時需要的是清楚設定,而不只是更多功能。
若外掛會顯示外部服務內容,還要說明登入位置與資料來源。使用者應能知道自己正在看的資訊屬於哪個帳號,避免把測試專案與正式專案混在一起。
後續更新則可以保留簡單變更紀錄,說明哪些欄位、入口或相容條件改了。測試者拿到新版後,才知道需要重新檢查哪一段,而不必每次重做全部流程。
這些交付內容也能幫作者決定是否繼續投入。若團隊真正需要的是快速開啟一份文件,一個小指令就可能足夠,不必為了展示能力而建立複雜面板。
從最小用途開始,讓別人能照著操作並回報,才比較容易把實驗功能用成持續有人維護的工具。
FAQ:OpenCode 桌面外掛適合誰
一般使用者現在就要寫外掛嗎?
若只是需要固定提示詞或工作步驟,可以先使用現有功能。當團隊反覆需要同一塊資訊面板或操作入口,再投入開發會比較有明確目標。
桌面外掛已經是穩定功能嗎?
官方明確標示為實驗功能,圖形介面的應用程式介面,也就是讓外掛與主程式溝通的 API,可能隨版本改變。適合先做小範圍試用,並留下版本與原始碼,不宜直接依賴沒有維護計畫的套件。
裝上外掛,代理就會自動理解面板內容嗎?
增加介面與把資料交給模型,是需要分別實作的能力。官方提供的是擴充工具,不能因為面板顯示了資料,就假設代理已經讀取或能使用全部內容。
要怎麼判斷第一個外掛是否值得保留?
先選一個原本每天要切換查看的資訊,記錄用了面板後是否減少來回動作,以及資料是否仍能核對。能改善這個具體任務,再考慮增加功能。
想試這次更新,可以先列出最常切出去看的資訊,選其中一項做成最小面板。讓同事照說明開啟、查看與停用一次,會比只看展示影片更容易判斷交付是否完整。