前言¶
DSH(DeepSeek Harness)默認的通用 Agent 往往是「全量裝備」:每輪請求都會帶上大量工具 schema、技能描述和運行時上下文。任務簡單時,真正留給對話的窗口被無關能力擠佔;任務敏感時,模型同時看見寫文件、執行命令、聯網等能力,越權與誤用的面也更大。臨時改一段提示詞可以應急,但很難審計、複用或按工種共享。
下面介紹社區插件 dsh-my-agent-preset(維護者 Zkbnfcnb,當前版本 2.7.2,MIT 許可證)。它把人設、技能白名單、工具範圍和運行時上下文快照打成一套「預設」,在 DSH 設置裏集中管理,新建會話時選用即可。分類上歸在 SkillHub 的「趣味換裝」,核心用途是能力層的收斂與角色換裝,而不是替代沙箱或審批策略。
這是什麼¶
dsh-my-agent-preset 在 DSH 側註冊爲 bundle 插件:通過 cordis.patch.yml 掛載 Host 能力,並在 Web 客戶端注入「設置 → 自定義預設模式」管理頁(package.json 中 meta.title 爲「自定義預設模式」)。
一句話定位:在 DSH Settings 裏管理自定義 Agent 預設——人設提示詞、運行時上下文勾選(含可選的必需項強制屏蔽)、按預設注入的技能與工具範圍。預設啓用後,新建會話時選擇對應卡片即可生效;停用後從註冊表移除,但配置仍保留在本地數據文件中。
社區目錄頁:SkillHub - dsh-my-agent-preset。源碼與完整說明:GitHub - Zkbnfcnb/dsh-my-agent-preset。
核心功能¶
預設由什麼組成¶
一個預設把五類配置綁在一起:
| 組成 | 作用 |
|---|---|
| 人設 / 提示詞 | 定義角色與任務邊界 |
| 技能 | 白名單注入;未勾選的不進上下文且調用會被拒 |
| 工具 | 全部 / 僅白名單 / 排除名單,並在可見性、調用守衛、提示詞組裝三層生效 |
| 運行時上下文 | 對 assembly.contexts 逐項勾選;官方必需項默認保留 |
| 元信息 | 名稱、描述、啓用狀態、順序、穩定 id(如 custom-xxxxxxxx) |
管理界面以卡片網格展示上述信息,支持新增、編輯、刪除(兩段式確認)、啓停、複製副本、導出 id/name/description 的 JSON 清單(不含提示詞與名單明細)。
人設的三種注入方式¶
- 追加:用你的文字替換人設前綴,保留 DSH 其它系統提示(含工具指導)。
- 完全替換:僅使用你的文字,移除其餘提示詞(官方工具指導也會消失,需自行寫清工具用法)。
- 自定義屏蔽(默認官方):你的人設爲主,按段規則屏蔽 DSH 官方段,可擴展前綴、精確段名或保留名單;第三方插件與外部 MCP 注入的提示詞默認保留。
默認開啓 附帶工作區:在提示詞末尾追加當前會話 cwd,避免模型猜錯路徑。
技能與工具¶
技能列表來自 DSH skills.list(),按來源分組勾選。空白名單表示沒有任何技能,不是「全部技能」。勾選後會保留 skill 工具;未選技能會從模型上下文中裁掉,以節省 token。
工具三種模式:全部(默認)、僅白名單、排除名單。注意 README 中的行爲:選了「僅白名單」卻一個都不勾,保存後會歸一爲「全部」。
編輯器底部的 運行時自檢 會列出繼承工具面、可用與被拒絕數量、名單拼寫錯誤、缺失技能等,排錯時優先看這裏。
數據存放¶
默認路徑:$DSH_HOME/my-agent-preset/presets.json;未設置 DSH_HOME 時爲 ~/.dsh/my-agent-preset/presets.json。可通過 bundle 配置中的 dataFile 覆蓋。舊路徑 agent-preset-studio/presets.json 不再讀取,遷移需手工移動文件。寫入採用臨時文件加 rename,降低寫一半損壞的風險。
安裝與啓用¶
本插件以 DSH bundle 形式加載,不依賴自編的安裝命令字符串。官方 README 給出的本機驗證方式是:將插件目錄鏈接到當前 profile 的 node_modules,然後重啓 DSH。
ln -s /path/to/dsh-my-agent-preset \
~/.dsh/profiles/web/node_modules/dsh-my-agent-preset
將 /path/to/dsh-my-agent-preset 換成你本機插件源碼或發佈包所在目錄。重啓後打開 設置 → 自定義預設模式;若未出現,在 DSH 日誌中檢索 my-agent-preset 相關報錯。
SkillHub 等社區目錄與 DeepSeek / 幻方無官方從屬關係;在目錄頁可通過自然語言讓 DSH 讀取並安裝 Zkbnfcnb/dsh-my-agent-preset,具體步驟以你環境中的 DSH 插件安裝流程爲準。安裝前建議瀏覽源碼與許可證,並認清插件與 DSH 進程同權限運行。
典型用法¶
從零配一個只讀分析預設¶
經過上面的安裝步驟後,按 README「快速開始」流程操作:
- 打開 設置 → 自定義預設模式,點「+ 新建預設模式」。
- 填寫名稱與描述。
- 寫人設;不確定時先用「追加」。
- 勾選任務需要的技能(需要專業技能時再勾,否則保持空白)。
- 工具範圍選「僅白名單」,只勾選
read、grep等只讀工具。 - 按需勾選運行時上下文;不確定可先全選。
- 保存並啓用,新建會話時選擇該預設。
- 在「運行時自檢」確認工具面與技能符合預期。
presets.json 中與只讀場景接近的字段示例如下(摘自 README,id 需以你界面爲準):
{
"id": "custom-1a2b3c4d",
"name": "只讀分析模式",
"description": "只閱讀與總結,不修改任何文件",
"instructions": "你是一名只讀分析助手……",
"instructionMode": "append",
"includeWorkspace": true,
"contexts": ["sandbox:policy", "approval:policy", "harness:source"],
"skills": ["pdf"],
"tools": { "mode": "allow", "names": ["read", "grep"] },
"enabled": true,
"order": 0
}
與會話橋接插件組合(可選)¶
若已安裝 dsh-session-bridge,創建子會話時可通過 agentPreset 指定預設的穩定 id,讓編排會話只保留橋接工具,執行會話只加載工種技能。session_bridge_create 示例如下(agentPreset 需換成你卡片上的 id,且預設須爲啓用狀態):
await session_bridge_create({
title: '文檔:產品白皮書初稿',
cwd: '/root/work/docs',
agentPreset: 'custom-1a2b3c4d',
prompt: [
'任務:根據 outline.md 寫白皮書初稿。',
'要求:3000 字左右;先列三級提綱再寫;只輸出文檔,不做其他事。',
].join('\n'),
waitForReply: true,
})
不傳 agentPreset 時,子會話會繼承調用方預設——編排預設若未改,子會話也只會調度、不會幹活,這是 README 強調的常見問題。
適用場景與注意¶
適合誰:需要在同一臺 DSH 上切換「寫文檔 / 做幻燈片 / 只讀審查 / 調度多會話」等不同 Agent 形態的用戶;希望用白名單收窄工具與技能、減少 token 重複開銷的團隊。
能力邊界:預設只決定模型能看見什麼、能調用什麼;執行後是否允許,仍由 DSH 沙箱與審批策略決定。高級選項裏的「強制屏蔽」運行時必需項依賴實現細節,DSH 升級後可能失效,屏蔽當前工作區會讓模型失去位置感,頁面會給出警告。
權限與安全:插件與 DSH 同進程權限。給預設開放 write、bash 即具備相應能力;審閱類場景應堅持最小工具集。安裝與升級前請閱讀 GitHub 倉庫 源碼與 已知限制 小節。
結尾¶
dsh-my-agent-preset 把 Agent 從「每次臨時拼提示詞」改成「預設即配置」:人設、上下文快照、技能與工具可按任務複用、複製與導出元數據。若你正在 SkillHub 或 GitHub 上挑選 DSH 擴展,不妨從目錄頁瞭解簡介,再按 README 的鏈接方式安裝,在設置裏建第一張預設卡片驗證工具自檢是否符合預期。
- 目錄頁:https://www.skillhub.cn/plugins/Zkbnfcnb/dsh-my-agent-preset
- GitHub:https://github.com/Zkbnfcnb/dsh-my-agent-preset