前言¶
DeepSeek Harness(DSH)裏,Agent 預設決定一次會話加載哪些插件、以什麼順序組合。手寫 YAML 或改 bundle patch 能精確控制,但改字段、試插件組合、對照聲明文檔時,純文本編輯成本高,也容易和界面上的「Agent 預設」列表脫節。
預設編輯器(Preset Studio) 是社區插件 @local/dsh-preset-studio(倉庫 Yume-Hatsuyuki/dsh-preset-studio),維護者爲 Yume-Hatsuyuki,目錄分類爲工作流。它在 設置 → Agent 預設 → 自定義 裏提供「🛠 預設編輯器」,用表單維護自定義預設並寫回 JSON,Host 半邊再註冊進 agentPresets;Client 半邊把編輯器掛進內置 Agent 預設頁,而不是單獨佔一條設置菜單。
下面介紹它做什麼、怎麼裝、怎麼用,以及使用時需要注意的限制。
這是什麼¶
一句話:DeepSeek Harness 的 Agent 預設擴展,支持在設置頁裏可視化、手動配置自定義 Agent 預設。
它是 Cordis bundle:@local/dsh-preset-studio。Host 負責持久化與預設註冊;Client 在內置 agent-presets 設置區塊上疊加按鈕和對話框,宿主只暴露兩條 HTTP 路由,不感知具體 UI 實現。
核心功能¶
兩欄預設編輯器¶
在「自定義」分組中,「🛠 預設編輯器」位於「+ 讓 Agent 幫我創建預設模式」上方,是兩個創建/編輯入口中的第一項。點開後左側是「我的預設」列表,右側空狀態有「+ 新建預設」;也可從左側「新建」或「新建第一個預設」進入。
與預設聲明一致的字段¶
表單字段與 Agent 預設聲明一一對應,包括:
- 預設 ID(
id)、顯示名稱(name)、描述(description)、排序(order) - 「插件組合」(
plugins):每行一張卡片,含行 ID、包名、分組、停用、isolate、config - 包名輸入框帶可滾動候選浮層,避免被對話框裁切
- 「模式說明與使用」對應
guide.explanation/guide.usage(Markdown);保存後,自定義預設卡片會出現與內置預設相同的「模式說明 / 如何使用」按鈕
保存與生效¶
保存後 Host 立即重新註冊,內置預設卡片會刷新。新建會話可在 Agent 預設列表中選到新預設;已打開的會話不受影響。原先的「設置 → 預設編輯器」獨立菜單已移除,入口統一在 Agent 預設頁。
界面與主題¶
編輯器使用 DSH 設計 token:卡片邊框、懸停態、選中項左側強調線、輸入聚焦環,以及帶邊框的主/次/危險按鈕。無預設時顯示居中引導卡和主按鈕。
數據與 API¶
自定義預設寫入:
~/.dsh/agent-preset-studio.json- 若設置了
$DSH_HOME,則爲$DSH_HOME/agent-preset-studio.json
該文件僅由本插件 Host 寫入,不做原地 YAML 編輯。對外接口(僅同源):
GET /preset-studio/state→{ ok, value: { presets, shipped, failed } }POST /preset-studio/save(content-type: application/json)→ 同上
安裝與啓用¶
插件以當前 DSH 進程權限運行;安裝前請自行查看倉庫源碼與許可證(package.json 中 private: true,版本 1.0.0,依賴 @deepseek-ai/schemastery ~3.18.5)。社區目錄頁:skillhub.cn/plugins/Yume-Hatsuyuki/dsh-preset-studio。目錄爲獨立社區站點,與 DeepSeek / 幻方無官方從屬關係。
官方 README 給出的安裝步驟如下(需先將倉庫放到本地路徑,再 add 該目錄):
# 克隆項目到本地
git clone https://github.com/Yume-Hatsuyuki/dsh-preset-studio
# 添加到桌面客戶端
dsh plugin --profile desktop add .\dsh-preset-studio\
# 添加到 WEBUI(可選)
dsh plugin --profile web add .\dsh-preset-studio\
Linux/macOS 下請將 add 後的路徑改爲本機克隆目錄的實際路徑(README 示例爲 Windows 風格 .\dsh-preset-studio\)。
典型用法¶
- 打開 設置 → Agent 預設,在「自定義」裏點 🛠 預設編輯器。
- 新建預設,填寫 ID、名稱、描述、排序;在「插件組合」中點「+ 添加插件」,按卡片填寫行 ID、包名、分組、
config等。 - 需要說明文檔時,在「模式說明與使用」卡片填寫 Markdown,保存。
- 關閉對話框回到 Agent 預設頁,確認自定義卡片已出現;新建 Agent 會話時從列表選擇該預設。
字段與聲明對照表(摘自 README):
| 界面 | 聲明字段 | 說明 |
|---|---|---|
| 預設 ID | id |
小寫字母、數字、連字符 |
| 顯示名稱 | name |
可選 |
| 描述 | description |
可選 |
| 排序 | order |
可選 |
| 插件組合 | plugins |
子插件數組,順序即加載順序 |
| 行 ID / 包名 | id / name |
name 必填;分組行填 cordis:group |
| 分組 | group: true |
該行 config 爲子條目數組 |
| 停用 | disabled: true |
保留在模板裏但不加載 |
| isolate | isolate |
例如 {"compaction": true} |
| config | config |
該插件的配置對象 |
| 模式說明 / 如何使用 | guide.explanation / guide.usage |
可選 Markdown |
適用場景與注意¶
適合誰:經常切換插件組合、希望與 DSH 內置 Agent 預設頁同一入口維護模板,又不想直接改 YAML 的 DSH 用戶。
已知限制(以 README 爲準):
- 不支持
!!js表達式:數據以 JSON 保存,disabled只能是布爾值;需按平臺開關時,請改用 profile patch 裏的 YAML 聲明。 - 保存成功不等於插件可加載:包名錯誤可能要到用該預設開會話時才報錯;設置頁「Agent 預設」會顯示診斷信息。
- 不能覆蓋內置預設 ID(
standard/ptc/minimal/cordis),請使用新 ID。 - 修改隻影響之後新建的 Agent。
- Client 集成依賴內置頁條目 id
agent-presets、「自定義」分組標題等;官方若調整結構,編輯器入口或幫助按鈕可能不再出現,但不影響內置預設頁本身。
結尾¶
dsh-preset-studio 把自定義 Agent 預設從「改文件 + 猜字段」收成設置頁裏的表單流程,並與內置預設卡片、模式說明按鈕對齊。若你已在用 DSH 的工作流類插件組合,可在目錄頁查看簡介,在 GitHub 閱讀完整 README 與預覽圖後再安裝。
- 目錄頁:https://www.skillhub.cn/plugins/Yume-Hatsuyuki/dsh-preset-studio
- GitHub:https://github.com/Yume-Hatsuyuki/dsh-preset-studio