Worksets (測試版)
在同一個編輯器視窗中開啟 store 和使用它的 repos,讓您的 agent 能同時看到兩者。
有了 store 之後,您的 agent 所需的上下文會分散在各個資料夾中。specs 和 changes 存放在 store 裡,而程式碼則存放在各自的 repo 中。在某個 repo 中啟動的 agent 只能讀取和 grep 該 repo,無法存取其他內容,因此它只能看到片面資訊。
Worksets 是 OpenSpec 為解決這個問題而提供的工具。workset 是一份已儲存、具名的資料夾清單,讓您可以一次開啟這些資料夾。本頁假設 store 已經在您的機器上設定並註冊。Stores (測試版) 涵蓋了這部分內容。
運作方式
- 它是什麼:一份具名的資料夾清單,僅儲存在您的機器上。不會寫入任何內容到成員資料夾中,也不會有任何提交。
- 開啟時的作用:OpenSpec 會根據清單產生一個
.code-workspace檔案,並在其中啟動您的編輯器。所有成員資料夾都會位於同一個視窗中。 - 您獲得的功能:您編輯器的搜尋功能,以及在該視窗中執行的任何 agent,都可以讀取每個成員資料夾。agent 可以在同一個工作階段中 grep store 的 specs 和 repo 的程式碼。
- 它不會改變的部分:命令使用哪個
openspec/資料夾。這仍然遵循 成品建立位置。
設定方式
儲存 workset(每部機器一次)。將 repo 和 store 列為成員,以及用來開啟它們的工具:
bash# 儲存一份您會一起開啟的具名資料夾清單 openspec workset create platform \ --member ~/src/web-app \ --member ~/openspec/team-plans \ --tool codeyaml已將 workset 'platform'(2 個成員)儲存到您的機器。 隨時可使用以下命令開啟:openspec workset open platform開啟它,每次開始工作時:
bash# 在同一個 VS Code 視窗中開啟所有成員 openspec workset open platform
openspec workset list 會顯示您儲存的內容,而 openspec workset remove <name> 會刪除 workset 而不觸及成員資料夾:
yaml
platform (opens in VS Code)
web-app /Users/you/src/web-app
team-plans /Users/you/openspec/team-plans使用方式:一個變更,兩個資料夾
假設 add-login 變更位於 team-plans store 中,而其程式碼位於 web-app 中。開啟 platform workset 並要求您的 agent 實作該變更。在那同一個工作階段中,它可以:
- 讀取
team-plans/openspec/changes/add-login/及其旁邊的 specs - 編輯
web-app/中的程式碼 - 從
web-app內部執行openspec命令
如果沒有 workset,agent 只能看到它啟動時所在的資料夾。
內建工具
- VS Code (
--tool code) 和 Cursor (--tool cursor):已內建。每個都能開啟一個包含所有成員資料夾的視窗。 - 終端機中的 Claude Code 和 Codex:在流程重新設計期間,暫時停用作為 workset 開啟器。
--tool claude或--tool codex會停止並顯示錯誤訊息,引導您使用 VS Code 或 Cursor。 - 其他編輯器:在 CLI 設定 (config.json) 中的
openers鍵下新增。