dsh-preset-studio:在 DSH 裏用表單維護 Agent 預設

前言

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\)。

典型用法

  1. 打開 設置 → Agent 預設,在「自定義」裏點 🛠 預設編輯器。
  2. 新建預設,填寫 ID、名稱、描述、排序;在「插件組合」中點「+ 添加插件」,按卡片填寫行 ID、包名、分組、config 等。
  3. 需要說明文檔時,在「模式說明與使用」卡片填寫 Markdown,保存。
  4. 關閉對話框回到 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
羽毛球分组比赛记分
小程序二维码

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

小夜