dsh-mattpocock-skills:Matt Pocock Skills 的 DeepSeek Harness 適配

前言

Matt Pocock 的 agent skills 是智能體開發中的常用參考集。將這套 35 個技能(上游版本 1.2.3)集成到 DeepSeek Harness (DSH) 中,需要解決一個核心問題:上游技能是爲 Claude Code 設計的,其命令機制與 DSH 不同。

DSH 中 /name 是用戶命令,模型無法直接執行;DSH 中某些限制(如 disable-model-invocation)會導致模型加載失敗。該插件通過一個適配層,將上游技能轉換爲 DSH 可識別的格式,並提供了一套運行指南。

核心功能

該插件將上游技能打包爲自包含的 DSH 插件,主要包含以下組件:

  • 技能本體:35 個上游技能,逐字節保留在 skills/ 目錄中。
  • 適配層:58 條手寫規則用於語義轉換,29 條機械斜槓規範化用於語法修正。適配層在加載時校驗,確保邏輯一致性。
  • 只讀 Provider:通過 ctx.skills 註冊,作爲單一插件行管理技能,避免技能文件散落在用戶目錄。
  • 運行指南:提供一個模型可調用的 dsh-workflow 技能,說明技能在 DSH 中的調用邏輯、權限歸屬及流程交接。

安裝與啓用

從 GitHub 克隆倉庫後,使用 link: 方式安裝以支持實時更新。安裝後需將插件加入 dsh.profile.bundles 並重啓宿主。

git clone https://github.com/NmouZh/dsh-mattpocock-skills.git ~/dsh-mattpocock-skills
cd /root/.dsh/profiles/web
pnpm add "dsh-mattpocock-skills@link:$HOME/dsh-mattpocock-skills"

修改 package.json,在 dsh.profile.bundles 中添加該插件名稱,並重啓 DSH 宿主。

配置與使用

在 profile 的 cordis.patch.yml 中按 id: mattpocock-skills 進行配置。

基礎配置

- id: mattpocock-skills
  config:
    enabled: true
    rank: 450
  • enabled:控制整個插件是否生效。
  • rank:同名技能去重優先級,數值越小越優先。

提升模型權限

默認情況下,20 個技能僅限用戶發起。若需讓模型加載這些技能(例如 implement),需在 promote 列表中聲明:

- id: mattpocock-skills
  config:
    promote: [implement, to-spec]

注意:提升技能會將其描述詞加入模型每次請求的技能目錄,佔用提示詞預算。

適配層說明

上游技能與 DSH 的差異通過 overlay/patches.json 處理:

  • 命令映射:將模型可執行的“加載技能”轉換爲 DSH 的 skill 工具調用。
  • 錯誤處理:將 disable-model-invocation: true 的技能標記爲不可調用,避免模型報錯。
  • 指令修正:移除 DSH 不支持的命令(如 /clear),替換爲會話新建;修正 git-guardrails 的 hooks 位置。

維護與升級

維護適配層涉及兩套腳本:

  • vendor/gen-slash-rules.mjs:根據手寫規則自動生成機械斜槓規範化規則。
  • vendor/overlay-report.mjs:校驗適配規則是否命中預期次數及錨點是否存在。

升級上游技能後,運行 vendor/vendor-skills.mjs --check 檢查文件完整性及適配層是否仍能應用。

診斷與自檢

插件提供診斷接口和日誌摘要:

node /root/dsh-mattpocock-skills/dsh-mattpocock-skills/test/bundle.test.js
node vendor/vendor-skills.mjs --check

宿主日誌會輸出註冊摘要,例如:
mattpocock-skills: 36 skill(s) from …/skills (packaged) + 1 from the DSH overlay; 16 model-invocable, 20 user-invocable only, 16 adapted by 49 rule(s)

適用場景與注意

該插件適合希望在 DSH 中使用 Matt Pocock 標準技能集的開發者。使用前需滿足 Node.js 環境要求(^22.19.0 || >=24.0.0)。

  • 權限注意:插件以當前 DSH 進程權限運行,安裝前應檢查源碼與許可證。
  • 配置生效:修改 dsh.profile.bundles 必須重啓宿主;修改 cordis.patch.yml 支持熱重載。

總結

該插件解決了上游技能與 DSH 機制不兼容的問題,通過精細的適配層和明確的權限劃分,讓模型開發者能安全地複用成熟的技能集。完整文檔與源碼可訪問 GitHub。

羽毛球分组比赛记分
小程序二维码

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

小夜