dsh-skill-creator: DeepSeek Harness 技能生成插件

在 DeepSeek Harness(DSH)中開發技能通常需要手動編寫 SKILL.md 文件,處理 frontmatter、定義工作流和校驗格式。dsh-skill-creator 插件在 DSH 會話內提供了一個工作流工具鏈,從對話、文檔或流程描述直接生成 SKILL.md,並支持校驗、打包和描述優化。

該插件由 988hj7tczd-oss 維護,採用 MIT 許可證,完全離線可用,零外部依賴。

安裝與啓用

這是一個 DSH bundle,通過本地路徑加載。

# 在項目目錄同級執行(dsh CLI)
dsh plugin --profile <name> add ./dsh-skill-creator

安裝後,插件會自動嘗試將輸出目錄掛載到運行時的技能註冊表中(rank=300),生成的技能無需修改配置即可被 skill 工具識別和加載。

核心工具

插件提供了四個模型工具,覆蓋技能從構思到分發的全生命週期。

1. skill_new — 捕獲意圖並生成草稿

通過 goal 參數傳入工作流描述,工具會自動抽取步驟、工具、輸入輸出格式,並識別缺口。

  • 參數:
    • goal (必填): 工作流描述。
    • fromSession (可選): 嘗試從當前會話歷史中抽取上下文。
    • confirm (可選): 默認 false。爲 false 時進行“幹跑”,返回意圖抽取結果和澄清問題,不寫盤;爲 true 時生成 SKILL.md 並寫入磁盤。
    • outputDir (可選): 輸出根目錄,默認爲 $DSH_HOME/skills。

流程:
1. 執行幹跑(confirm=false),獲取意圖草稿和澄清問題。
2. 用戶確認或補充信息後,執行生成(confirm=true),寫入 SKILL.md。

2. skill_validate — 校驗技能目錄

檢查技能目錄結構是否符合 DSH 規範。

  • 參數: path (必填)。
  • 校驗項:
    • SKILL.md 文件存在且可讀。
    • frontmatter 格式正確(YAML mapping)。
    • name 和 description 非空。
    • name 符合 kebab-case 規範 (^[a-z0-9]+(?:-[a-z0-9]+)*$)。
    • 正文非空。
  • 返回: 返回校驗結果摘要與詳細檢查項。

3. skill_package — 打包技能爲 .skill 文件

將校驗通過的技能目錄打包爲 ZIP 文件,便於分發。

  • 參數:
    • path (必填): 技能目錄路徑。
    • outDir (可選): 輸出目錄,默認爲技能目錄的父目錄。
  • 排除規則:
    • __pycache__/
    • node_modules/ (任意深度)
    • *.pyc (任意深度)
    • .DS_Store (任意深度)
    • 根目錄下的 evals/
  • 行爲: 打包前自動執行 skill_validate,校驗失敗則拒絕打包。

4. skill_improve_description — 改寫描述以提高觸發率

優化 description 字段,確保覆蓋更多觸發場景,同時保留原始觸發詞。

  • 參數:
    • path (必填): 技能路徑。
    • usage (必填): 觸發場景樣例。
    • commit (可選): 默認 false。爲 false 時返回改寫提案和理由;爲 true 時將改寫後的描述寫回 SKILL.md。

技術說明與限制

  • 依賴前置: 本項目在開發形態下依賴相鄰的 dsh-src 檢出(同一父目錄下),用於類型檢查和構建。發佈到 npm 的版本會盡量替換依賴。
  • YAML 子集: frontmatter.ts 僅解析最小 YAML 子集(不支持錨點、多文檔等複雜語法)。權威校驗以 Python 腳本爲準。
  • 掛載優先級: 運行時 provider 的 rank 爲 300(custom 層),同名技能優先級低於項目根目錄(rank 100/200)。
  • 離線可用: 所有核心邏輯(包括 ZIP 打包和校驗)均爲零外部依賴實現。
  • 寫盤機制: .skill 生成和目錄創建依賴 Node.js 的文件系統服務。請確保配置的 outputDir 路徑具有寫權限。

生態與許可

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

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

小夜