DSH 預設管理器:會話內切換 Agent 預設與子代理策略

前言

在 DeepSeek Harness(DSH)桌面端裏,Agent 的行爲往往由「預設」決定:掛載哪些插件、注入哪些工具引導、子代理默認走哪套清單。內置預設通常固定,想在同一會話裏換一套工作方式,或讓子代理只能在若干預設裏選,單靠改 profile 或重啓並不順手。社區插件 dsh-preset-manager(維護者 L-Shy-P,分類:工作流)面向 DSH 0.2.1 的 desktop profile(~/.dsh/profiles/desktop),把預設切換、按預設開關工具引導、子代理預設策略和預設包導入導出收到一處,並附帶開箱可用的 「標準模式·加強版」 預設。

這是什麼

dsh-preset-manager 是 DSH 桌面端的 Agent 預設管理插件:頂欄切換預設、按預設注入工具引導、管理子代理可用預設,並支持預設包的導入與導出。倉庫在 GitHub 上爲 L-Shy-P/dsh-preset-manager,社區目錄頁爲 SkillHub 插件頁。插件以 MIT 許可證發佈,當前包版本爲 1.0.0。

核心功能

頂欄切換與會話內生效

會話標題旁顯示「預設 + 當前預設名」,懸停展開預設面板,點擊即可切換。切換會保留全部對話歷史,從下一輪請求起生效。切換時插件會提示:可能降低前綴緩存命中率。

設置 → 預設管理

與內置配置面板同款的表單,主要包括:

  • 總開關,以及逐預設的「工具/引導」開關;
  • 每個預設的「子代理可用」開關;
  • 「默認預設:與父代理相同」開關;關閉後可單獨指定子代理默認預設;
  • 預設包的導出與導入。

模型工具與子代理策略

僅對開啓了引導的預設,會掛載模型工具:list_agent_presets、set_my_preset、set_subagent_preset。

子代理預設策略會:限制子代理可選的預設;在調用方省略 agent_preset 時注入默認預設;拒絕不在允許列表裏的選擇(孫代理及更深層級同樣生效)。

斜槓命令

  • /preset [id]:切換或列出預設;
  • /preset-export <id>:導出預設包;
  • /preset-import <base64>:導入預設包;需要強行導入時可使用 /preset-import --force <base64>。

自帶預設:標準模式·加強版

預設 id 爲 better-standard,order 爲 2。插件清單與內置「標準模式」一致(工具指導、計劃策略、AGENTS.md 摘要、技能目錄、運行時上下文均保留),差異有兩點:

  1. persona 換成三段自定義專家提示詞;
  2. 委派工具允許通過 agent_preset 爲子代理選擇預設。

該預設只使用 DSH 自帶插件,無需額外安裝。通過插件市場安裝時會隨 bundle patch 寫入;手動安裝時由 install.mjs 追加。

安裝與啓用

下面介紹三種資料中寫明的安裝方式。安裝或升級後需完全退出 DSH 再重新啓動。插件在 DSH 進程權限下運行,安裝前建議自行查看倉庫源碼與 LICENSE。

方式一:插件市場(推薦)

在 DSH「插件 → 發現 → 索引源(Index sources)」中添加索引:

https://cdn.jsdelivr.net/gh/L-Shy-P/dsh-preset-manager@main/index.json

若 jsDelivr 不可用,可改用 GitHub 原始地址:

https://raw.githubusercontent.com/L-Shy-P/dsh-preset-manager/main/index.json

之後在發現頁搜索「預設管理器」或 dsh-preset-manager,安裝並重啓 DSH。索引版本固定到倉庫 commit,安裝的是本倉庫本身,不是 npm 包。

方式二:離線壓縮包

解壓 dsh-preset-manager-1.0.0.zip 後,推薦:解壓到固定位置 → 完全退出 DSH → Windows 雙擊 安裝(雙擊這裏).cmd(macOS/Linux 使用 node install.mjs)→ 重開 DSH。

安裝器會把插件複製進 <profile>/local/dsh-preset-manager,並用 DSH 自帶插件命令註冊;也可將包內 dsh-preset-manager-1.0.0.tgz 或 package/ 目錄交給 DSH「安裝第三方插件」。用界面安裝 tgz 或 package 目錄時,源路徑不能刪除或移動;用安裝腳本則複製進 profile 後可刪除解壓目錄。

方式三:手動安裝(install.mjs)

要求 Node.js 18+,且已啓動過一次 DSH 桌面端以生成 profile 目錄。在倉庫目錄執行:

node install.mjs

然後完全退出並重新啓動 DeepSeek Harness。可選參數:

node install.mjs --dry-run          # 只打印計劃,不寫文件
node install.mjs --uninstall        # 卸載
node install.mjs --profile <name>   # 指定 profile(默認 desktop)

腳本會把插件包複製到 <profile>/local/dsh-preset-manager,註冊進 dependencies 與 dsh.profile.bundles,寫入前備份 package.json;自帶預設由 cordis.patch.yml 插入,不依賴聯網。

典型用法

  1. 切換預設:頂欄「預設 + 名稱」選擇目標,或發送 /preset <id>。
  2. 配置工具與引導:設置 → 預設管理。總開關關閉後,所有預設都不掛載預設管理工具,逐預設設置會保留。
  3. 子代理預設:在「子代理預設」區域勾選允許子代理使用的預設;關閉「默認預設:與父代理相同」後選擇默認預設。
  4. 導入/導出預設包:設置 → 預設管理 → 預設包。導出爲 JSON;導入時選擇 JSON 文件,宿主把預設聲明寫入 profile patch 並做可用性檢測,無需安裝新插件。

預設本質是一份插件清單。導入的預設只能使用當前部署已安裝的插件;缺失依賴會導致導入被拒絕並列出缺失項。導入前檢查、導入後等待掛載;若掛載失敗會自動回滾 profile patch。導入預設等同於往 profile 寫入並掛載插件聲明,只應使用可信來源;可用性檢測不驗證安全性或兼容性。

適用場景與注意

適合需要在同一會話裏切換 Agent 工作模式、統一管控子代理預設範圍、或在團隊間分享預設包(JSON)的 DSH 桌面用戶。已知限制包括:配置寫入依賴 DSH 0.2.1 的 settings/config-editor 行爲,大版本升級後可先執行 node install.mjs --check;預設切換僅在 Agent 空閒時進行;極簡模式使用 complete persona 會丟棄其他系統提示詞段,預設管理引導不會出現在極簡模式下(預期行爲)。

卸載時需退出 DSH,編輯 <profile>/cordis.patch.yml 刪除 id 爲 preset-manager 與 preset-better-standard 的條目及相關配置覆蓋,刪除 <profile>/node_modules/dsh-preset-manager 後重啓。若通過 install.mjs 安裝且未保存過設置,也可從備份 cordis.patch.yml.bak-preset-manager-* 恢復。

DSH 生態以「一切皆插件」爲思路;SkillHub 等社區目錄爲獨立站點,與 DeepSeek / 幻方無官方從屬關係,本插件通過自定義索引源或上述安裝方式接入即可。

結尾

dsh-preset-manager 把預設切換、工具引導、子代理策略和預設包流轉做成桌面端可操作的流程,並附帶 better-standard 作爲可對照的加強版標準模式。進一步瞭解可訪問 SkillHub 目錄頁 與 GitHub 倉庫。

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

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

小夜