前言¶
在 DeepSeek Harness(DSH)的使用中,子代理通常會自動繼承父會話的 agent preset 配置。這種繼承機制雖然方便,但在處理需要特定 RL(強化學習)軌跡的模型時,如果沒有專門的引導配置,子代理在首次請求時可能無法以最佳狀態啓動。DSH 的 complete-persona 機制使得通過 hook 覆蓋子代理配置變得不可靠。該插件旨在通過安裝一個 agent preset,解決子代理啓動狀態不一致的問題。
是什麼¶
dsh-anchored-subagent 是一個社區維護的 DSH 插件,由 GY-Bai 開發。它通過一套“暗號”機制,確保主代理和所有子代理在會話開始時都使用 Minimal condition(bash + str_replace_editor + Minimal persona)啓動,隨後解鎖完整的工具目錄。該插件基於 DeepSeek RL 訓練軌跡設計,旨在讓模型在首次請求時進入最強的行爲軌跡。
核心功能¶
- 啓動引導:安裝 agent preset,使主代理和子代理以 Minimal condition(
bash+str_replace_editor+ Minimal persona)啓動。 - 工具解鎖:在首次請求後解鎖完整工具目錄。
- 自動繼承:子代理自動繼承父級的 agent preset,無需額外配置。
- Persona 處理:處理自定義子代理 persona(啓動時剝離,升級後恢復)。
安裝與啓用¶
使用官方安裝命令添加插件,安裝後需重啓 DSH。
dsh plugin add github:GY-Bai/dsh-anchored-subagent
重啓 DSH 後,在會話中選擇 dsh-anchored-subagent agent preset(或設爲默認)。
插件會將 preset 複製到本地目錄:
~/.dsh/.agent-presets/dsh-anchored-subagent/
典型用法¶
該插件的工作流程分爲兩個階段:
- Bootstrap 階段:在首次模型請求(主代理或子代理)時,僅提供
bash和str_replace_editor工具,以及完整的 Minimal persona。此時模型會以 RL 訓練時的標準軌跡(如We need...)開始思考。 - Promoted 階段:在第一次持久的工具調用(
tool/call)或助手消息(assistant/message)後,插件自動將完整工具目錄恢復給代理,使其可以使用所有工具。
對於子代理,如果配置了自定義 persona,該插件會在引導階段將其剝離,確保子代理以純淨的 Minimal persona 啓動;待子代理完成首次持久請求後,原始 persona 會重新恢復。
配置¶
編輯配置文件 ~/.dsh/.agent-presets/dsh-anchored-subagent/agent.cordis.yml。關鍵配置項如下:
| 配置項 | 默認值 | 說明 |
|---|---|---|
promoteOn |
either |
提升觸發條件,可選 either、tool-call 或 assistant-message。either 表示任意一種情況均可觸發。 |
bootstrapMaxTokens |
null |
可選的首次請求輸出限制(Token 數)。 |
suppressedContextSources |
["agent-instructions","skill-catalog"] |
控制引導階段自動剝離注入的上下文源。設置爲空數組 [] 可禁用剝離。 |
適用場景與注意¶
該插件適用於需要在子代理啓動時強制使用 Minimal condition 的場景,以獲得最佳的 RL 軌跡響應。
需要注意以下幾點:
* 需重啓 DSH 以應用更改。
* 這是一個社區插件,未獲得 DeepSeek 官方背書,基於 MIT 許可證開源。
* 插件利用了 DeepSeek RL 訓練軌跡中的“暗號”機制。
* 支持通過 suppressedContextSources 控制上下文注入。
總結¶
dsh-anchored-subagent 通過在啓動階段強制使用 Minimal condition,確保 DeepSeek 模型能夠進入其最強的 RL 軌跡,隨後再解鎖完整能力。這對於需要穩定子代理行爲的複雜工作流非常有用。