前言¶
在 DeepSeek Harness (DSH) 中,通過代碼硬編碼註冊命令較爲繁瑣。dsh-commands 插件提供了一種基於文件系統的解決方案,通過掃描 Markdown 文件自動註冊斜槓命令,簡化了命令管理的流程。
插件概述¶
- 名稱:
dsh-commands - 所有者:EtbyStudio
- 核心價值:將 Markdown 文件直接映射爲可執行的斜槓命令,支持 YAML frontmatter 描述和熱重載。
安裝與啓用¶
該插件需要 DSH 版本 0.2.0-rc.2。安裝命令如下:
dsh plugin add @etby-studio/dsh-commands
安裝完成後,插件會在啓動時掃描配置目錄下的 Markdown 文件,將其註冊爲命令。
配置與文件格式¶
插件會在 <dshHome>/commands 目錄下掃描 Markdown 文件。文件的結構決定了命令的行爲:
- 命令名:文件名(去掉
.md後綴)即爲命令名。命名規則爲小寫 ASCII 字母、數字、下劃線或連字符。 - 描述:必須在 YAML frontmatter 中包含
description字段,用於在命令發現 UI 中顯示。 - 正文:文件主體內容作爲指令,在命令執行時提交給模型。
示例文件內容:
---
description: Execute the plan
---
## Steps
1. Review the plan
2. Create a task list
執行與熱重載¶
- 執行機制:插件不會隱式提交到模型。當觸發命令(如
/name)時,它會讀取當前文件正文,並根據參數配置將指令和參數附加到用戶消息中。 - 參數支持:
- 類型化參數會追加在正文後的空行處(例如:
/name <description>)。 - 如果正文中包含
$ARGUMENTS佔位符,參數將替換該佔位符。
- 類型化參數會追加在正文後的空行處(例如:
- 熱重載:插件使用 Chokidar 監聽目錄變化。添加、修改或刪除命令文件會自動更新註冊表,無需重啓 DSH。
注意事項¶
- 優先級:文件命令優先級較低。如果已有插件通過程序化方式註冊了同名命令,文件命令會被跳過併發出警告。
- 文件有效性:包含以下情況的文件會被跳過並記錄警告:缺少 frontmatter、描述爲空、命令名無效或正文爲空。
- 觀察者配置:支持配置觀察者行爲,包括輪詢模式、穩定性閾值(
watchStabilityThresholdMs)以及符號鏈接跟隨(watchFollowSymlinks)。