前言¶
DeepSeek Harness 的插件生態強調靈活性與擴展性。在單次對話流中處理多領域任務、維護多個不同人設的上下文或編排複雜的流水線流程,通常需要頻繁切換 Agent 或手動拆解任務。dsh-agent-dispatch 插件提供了一套機制,允許用戶定義獨立的 Agent 子代理,支持自動路由與優先級切換,並通過小隊模板實現依賴驅動的編排。
核心功能¶
該插件主要解決以下幾個問題:
- 自定義 Agent 與小隊編排:用戶可完全自定義 Agent 的系統提示詞、觸發域與人設,並通過小隊模板定義多步驟的執行流程。
- 自動路由與模型優先級切換:爲每個 Agent 配置模型路由表,當首選模型失敗時自動切換至下一個可用模型。
- 懸浮活動球 UI:提供常駐右下角的懸浮球,用於快速喚出運行狀態、歷史記錄及 Agent 列表,實現一鍵委派。
- 上下文複用與續聊:支持對已存在的 Agent 子會話進行追問,複用上下文而不重複新建。
安裝¶
安裝該插件需要 DeepSeek Harness 的環境。通過命令行註冊源碼即可啓用:
dsh plugin --profile <你的 profile 名> add github:kiligzzz/dsh-agent-dispatch
安裝後,數據目錄與配置文件將統一存放在宿主配置目錄下:
$DSH_HOME/data/dsh-agent-dispatch/
├── agents.json # Agent 定義列表
├── squads.json # 小隊模板列表
└── dispatches.jsonl # 決策日誌(上限 2000 行,自動輪轉)
配置與定義¶
插件安裝後默認爲空,需用戶自行配置。
定義 Agent¶
在 agents.json 中定義 Agent。核心字段包括 id、triggers(觸發域)、routes(模型路由)以及 systemPrompt(人設)。
{
"version": 1,
"agents": [
{
"id": "log-tracer",
"name": "線上排查員",
"emoji": "🛠️",
"triggers": "報錯日誌;訂單異常;接口報錯;線上問題排查",
"systemPrompt": "……(完整 Agent 系統提示詞 / persona)",
"routes": [
{ "provider": "deepseek-official", "model": "deepseek-v4", "effort": "high" },
{ "provider": "kimi-coding", "model": "k3-256k", "effort": "high" }
],
"enabled": true
}
]
}
- routes:模型優先級表,首個失敗自動換下一個。
- effort:控制算力投入,支持
minimal/low/medium/high/xhigh/max。 - triggers:當用戶消息命中這些關鍵詞時,主 Agent 會自動觸發委派。
定義小隊¶
在 squads.json 中定義小隊模板。steps 數組定義執行步驟,dependsOn 控制依賴關係。
{
"version": 1,
"squads": [
{
"id": "my-squad",
"name": "我的小隊",
"steps": [
{ "agentId": "log-tracer", "phase": "日誌", "dependsOn": [], "instruction": "{input}" },
{ "agentId": "sql-analyst", "phase": "數據", "dependsOn": [], "instruction": "查表覈對:\n{input}" },
{ "agentId": "code-reviewer", "phase": "審查", "dependsOn": [0, 1], "instruction": "基於日誌+數據:\n{input}\n\n【日誌結論】\n{prev:0}\n\n【數據結論】\n{prev:1}" }
]
}
]
}
dependsOn:空數組表示首批並行,否則等待前置步驟完成。instruction:支持{input}(原始目標)和{prev:N}(引用前置步驟結果)。
使用方式¶
插件提供 5 個核心工具,通過主 Agent 調用:
- agent_dispatch(agentId, task):將任務委派給指定 Agent,返回
childId。 - agent_followup(childId, message):對已有 Agent 進行追問,複用上下文。
- agent_list():列出 Agent 目錄,用於路由判斷前的查詢。
- agent_squad(squad_id, goal):按小隊模板展開目標。
- agent_import_skill(skillDir?):將
~/.dsh/skills/<name>/SKILL.md一鍵導入爲 Agent。
觸發機制¶
用戶可以通過以下三種方式觸發委派:
- 對話自動路由:任務命中 Agent 的
triggers,主 Agent 自動調用agent_dispatch。 /觸發器菜單:輸入/喚起候選菜單,選中後插入$id前綴。- 懸浮活動球:點擊右下角懸浮球,直接從彈窗中選擇 Agent 或小隊卡片進行委派。
顯式指定¶
在用戶消息中顯式指定 Agent ID,使用 $<id> 前綴(例如 $log-tracer 查下 orders)。主 Agent 識別後直接委派,不進行路由判斷或追問。
數據與日誌¶
所有委派操作都會寫入 dispatches.jsonl 文件。系統會通過 mergeDispatchHistory 合配 dispatch(開始)與 result(結束)行。爲了防止日誌膨脹,文件限制爲 2000 行,超出後自動重寫保留尾部。
注意事項¶
- 無內置內容:插件安裝後爲空,必須手動創建 Agent 或小隊。
- 零依賴:不依賴
@deepseek-ai/dsh-tools,規避官方雙實例 Bug。 - 單用建議:建議僅使用一套委派體系(如本插件),避免與
dsh-agent-teams等其他隊長式插件同時使用,以免產生冗餘子代理。
參考鏈接¶
- 插件目錄:https://www.skillhub.cn/plugins/kiligzzz/dsh-agent-dispatch
- GitHub 倉庫:https://github.com/kiligzzz/dsh-agent-dispatch