前言¶
DSH(DeepSeek Harness)採用 Cordis 插件架構。當團隊需要在不同項目間複用技能時,通常會遇到隔離困難或技能管理混亂的問題。dsh-plugin-workspace-skill 解決了這兩點:一是提供 Skill 編寫指導,二是實現工作區級技能隔離。
核心能力¶
該插件提供兩個核心能力:
- skill-create 技能:指導 Agent 在當前工作區創建、編寫、審查和驗證可複用 Skill。
- 工作區級 Skill 隔離:將
<workspace>/.dsh/skills/目錄作爲僅當前工作區可見的技能來源。
安裝與啓用¶
官方安裝命令¶
使用 DSH 的官方插件管理流程安裝:
dsh plugin --profile web add dsh-plugin-workspace-skill
也可以直接從 GitHub 安裝:
dsh plugin --profile web add github:Sparrived/dsh-plugin-workspace-skill
手動配置¶
如果不使用 bundle 機制,可以直接在宿主的 cordis.yml 或自定義 agent preset 的組合裏添加:
- id: workspace-skill
name: dsh-plugin-workspace-skill
工作區隔離機制¶
插件通過一個 ctx.skills provider 實現。每次技能發現時,流程如下:
- 定位工作區:用調用方的
cwd在workspaceRegistry中找出包含它的最深註冊工作區。 - 掃描技能目錄:掃描該工作區根目錄下的
.dsh/skills/。- 支持目錄包佈局:
.dsh/skills/<skill-name>/SKILL.md(可攜帶references/、scripts/等資源)。 - 支持單文件佈局:
.dsh/skills/<skill-name>.md。
- 支持目錄包佈局:
- 註冊候選:解析 YAML frontmatter 並以
rank: 700註冊。
優先級規則:工作區技能 > 用戶級與內置來源。同名時工作區版本勝出,項目可以安全地覆蓋全局技能。當 cwd 不屬於任何註冊工作區時,此 provider 不產生任何候選。
Skill 編寫規範¶
目錄結構¶
在工作區的 .dsh/skills/ 目錄下創建技能:
<workspace>/
└── .dsh/
└── skills/
└── <skill-name>/
├── SKILL.md
├── references/
└── scripts/
YAML Frontmatter¶
在 SKILL.md 頂部編寫 YAML frontmatter:
---
name: <skill-name>
description: ...
whenToUse: ...
disable-model-invocation: false
user-invocable: false
---
總結¶
該插件爲 DSH 提供了工作區級別的技能管理能力,配合 skill-create 技能,可以規範化本地 Skill 的開發流程。