前言¶
在智能體開發流程中,規範往往與代碼倉庫分離,導致需求追蹤和變更管理較爲鬆散。DeepSeek Harness (DSH) 生態允許開發者通過插件擴展側邊欄功能。dsh-spec-panel 是一款基於 dsh-better-sidebar 的配套插件,它圍繞 OpenSpec 標準目錄結構,在側邊欄提供了一個 Spec 工作臺,讓“先寫規範 → 再實現 → 再驗證”的流程在文件系統中落地。
核心定位¶
這是一個側邊欄 Spec 工作臺,旨在通過 OpenSpec 標準目錄結構,提供需求瀏覽、變更管理和任務清單勾選功能。插件不維護額外狀態,而是直接讀寫工作區內的真實文件。
前置條件¶
- 需要安裝 DeepSeek Harness web (
dsh web)。 - 需要安裝
dsh-better-sidebar插件且版本不低於 0.16.0。 - 開發需要 Node.js ≥ 20 和 pnpm ≥ 10。
安裝¶
通過命令行安裝:
dsh plugin --profile web add dsh-spec-panel
安裝完成後,需要重啓 dsh web 服務。
核心功能¶
插件提供了以下模塊:
- 事實源 (specs/):列出 openspec/specs/<domain>/spec.md,點擊即可渲染需求和場景。
- 變更工作臺 (changes/):展示每個變更的提案、設計、任務和增量四個工件,顯示完成度和狀態徽標。
- 狀態推斷:不引入額外狀態文件,根據工件存在情況(如 tasks.md 完成度)推斷變更狀態(提案中、實施中、已完成)。歸檔目錄恆爲“已歸檔”。
- 任務清單:在側邊欄直接勾選 tasks.md 中的複選框,改動會實時寫回磁盤。
- 模板新建:首次使用時輸入變更名(kebab-case,如 add-dark-mode),自動生成包含 proposal、design、tasks、specs 的模板目錄。
- 已歸檔 (archive/):展示歷史變更記錄。
- 編輯器聯動:支持在側邊欄內置編輯器中直接打開任意工件(絕對路徑)。
使用方法¶
- 打開一個工作區,面板會讀取其下的
openspec/目錄。 - 在側邊欄菜單中選擇 Spec。
- 首次使用時,點擊“+”號輸入變更名,系統會自動生成模板。
- 在“任務”標籤頁勾選或取消任務,修改會實時同步到磁盤上的
tasks.md文件。 - 點擊“↗”圖標,在編輯器中打開對應的工件文件進行完善。
目錄結構¶
插件兼容 OpenSpec 標準佈局,文件操作限定在 <會話cwd>/openspec 範圍內:
<workspace>/openspec/
├── specs/<domain>/spec.md # 事實源(系統當前行爲)
├── changes/<change-name>/
│ ├── proposal.md # 爲什麼 / 改什麼
│ ├── design.md # 怎麼做
│ ├── tasks.md # 實施清單(勾選)
│ └── specs/<domain>/spec.md # 增量 spec(ADDED/CHANGED/REMOVED)
└── changes/archive/ # 已歸檔變更
注意事項¶
- 插件以當前 DSH 進程的權限運行,文件操作嚴格限定在
<會話cwd>/openspec範圍內,路徑越界會被拒絕。 - 目錄頁與 GitHub 倉庫爲社區維護,不隸屬於 DeepSeek 或幻方官方。