dsh-openspec:將 OpenSpec 工作流接入 DeepSeek Harness

前言

OpenSpec 提供了一套規範驅動開發(SDD)的工作流:從探索(explore)到提議(propose),再到實現(apply)和歸檔(archive)。在 DeepSeek Harness(DSH)中,Agent 技能通常需要掛載到特定目錄(如 .agents/skills)才能被識別,且裸命令需要能被解析。

dsh-openspec 解決了這兩個問題:它將 OpenSpec 接入 DSH,內置了六個 Agent Skill,並直接從插件自身的依賴中解析 openspec CLI。無需全局安裝,也不需要在每個項目中手動拷貝 .agents/skills。

安裝與啓用

通過官方命令安裝插件:

dsh plugin add /path/to/dsh-openspec

安裝後,插件會以內置(bundled)提供方的形式掛載六個 skill,並在 profile 加載時嘗試安裝 CLI 啓動器(shim)。重啓 profile 即可生效。

內置能力

插件內置了六個與 OpenSpec 工作流對應的 Skill:

  1. openspec-explore:思考夥伴,用於在變更前後探索想法、排查問題、澄清需求。
  2. openspec-propose:一步創建變更及其全部規劃產物(proposal、spec delta、design、tasks)。
  3. openspec-apply-change:實現某個變更的任務清單。
  4. openspec-update-change:修訂已有變更的規劃產物(絕不修改代碼)。
  5. openspec-sync-specs:把變更的 delta spec 合入主 spec,但不歸檔。
  6. openspec-archive-change:完成並歸檔一個變更。

使用流程

使用前,需要在項目目錄初始化 OpenSpec:

openspec init --tools agents

初始化後,Agent 可以通過自然語言直接觸發上述 Skill:

  • 探索需求:輸入“幫我想想怎麼加暗色模式”,觸發 openspec-explore。
  • 創建變更:輸入“提一個 add-dark-mode 變更”,觸發 openspec-propose。
  • 開始實現:輸入“開始實現這個變更”,觸發 openspec-apply-change。
  • 歸檔變更:輸入“歸檔它”,觸發 openspec-archive-change。

命令行接口

插件提供了幾個輔助命令,主要用於診斷和 CLI 接線:

  • /openspec doctor:診斷 Skill 數量、CLI 版本與入口,以及 shell 實際解析到的二進制路徑。
  • /openspec shim:將 openspec 啓動器安裝到 PATH。
  • /openspec uninstall-shim:移除由本插件寫入的啓動器。
  • /openspec init <絕對路徑>:在指定絕對路徑下執行 openspec init --tools agents。

設計細節與注意

  • 內置掛載:插件使用 bundledSkillDir 掛載 Skill,這意味着它不依賴項目根目錄的 Git 探測。在 git 倉庫之外的工作區,Skill 依然可見。
  • 目錄衝突:插件不佔用 .agents/skills 目錄,避免了與 Codex、Zed Agent 等工具的目錄衝突。
  • 規範歸屬:插件只負責分發能力,openspec/ 目錄保留在項目本地,不會被插件接管。
  • 優先級:在 git 倉庫內,如果項目目錄存在 .agents/skills,其優先級高於內置副本。

總結

dsh-openspec 是一個開源插件(MIT 許可證),旨在簡化 OpenSpec 在 DSH 中的集成。它通過內置 Skill 和依賴解析,消除了手動配置 Skill 目錄和全局安裝 CLI 的繁瑣步驟,適合希望在 DSH 中使用規範驅動開發流程的開發者。

  • GitHub: https://github.com/tamashi486/dsh-openspec
  • Catalog: https://www.skillhub.cn/plugins/tamashi486/dsh-openspec
羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜