dsh-plugin-workspace-skill

前言

DSH(DeepSeek Harness)採用 Cordis 插件架構。當團隊需要在不同項目間複用技能時,通常會遇到隔離困難或技能管理混亂的問題。dsh-plugin-workspace-skill 解決了這兩點:一是提供 Skill 編寫指導,二是實現工作區級技能隔離。

核心能力

該插件提供兩個核心能力:

  1. skill-create 技能:指導 Agent 在當前工作區創建、編寫、審查和驗證可複用 Skill。
  2. 工作區級 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 實現。每次技能發現時,流程如下:

  1. 定位工作區:用調用方的 cwd 在 workspaceRegistry 中找出包含它的最深註冊工作區。
  2. 掃描技能目錄:掃描該工作區根目錄下的 .dsh/skills/。
    • 支持目錄包佈局:.dsh/skills/<skill-name>/SKILL.md(可攜帶 references/、scripts/ 等資源)。
    • 支持單文件佈局:.dsh/skills/<skill-name>.md。
  3. 註冊候選:解析 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 的開發流程。

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

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

小夜