dsh-multitask:DeepSeek Harness 多任務“減震器”模式

前言

DeepSeek Harness (DSH) 採用插件化架構,允許開發者擴展其核心能力。在處理複雜任務時,主對話容易因爲頻繁讀取文件、執行命令或搜索網頁而被過程數據淹沒,導致上下文膨脹或注意力分散。dsh-multitask 插件旨在解決這一問題,它引入一種“減震器”模式,將主對話轉變爲協調者,將具體的執行工作下放給子代理。

核心功能

該插件通過嚴格的上下文隔離,區分了主對話(協調者)和子代理(執行者)的職責。

1. 協調者(主對話)職責

主對話在啓動後僅保留受限的工具集:
* 只讀檢查:read、grep、glob、file_info
* 任務委派:subagent、subagent_fork、subagent_ptc、subagent_minimal
* 代理控制:send_message、interrupt_agent、list_agents
* 結果檢索:job_list、job_output、job_kill
* 工作流編排:workflow
* 交互與自我管理:ask_user_question、todo_write、create_goal 等

協調者的核心工作是理解需求、生成任務簡報、驗證結果並彙總報告。它無法直接寫入文件或運行命令,從而避免上下文被過程數據污染。

2. 子代理(執行者)職責

子代理擁有完整的工具集,負責處理所有流程數據,包括文件內容、命令輸出、構建日誌、搜索結果等。它們只返回最終結論,不將中間數據返回給主對話。

3. 四種子代理類型

協調者根據任務需求,可以選擇四種不同的子代理:

類型 工具面 適用場景
subagent 完整工具 通用默認類型,用於寫代碼、跑測試、編輯文件
subagent_fork 完整工具 + 對話歷史 需要基於現有對話上下文進行審查或繼續
subagent_ptc PTC 壓縮(僅 run_code) 程序化批量處理(如過濾、聚合大數據),防止中間值進入上下文
subagent_minimal 只讀工具 調查、快速問答、事實覈查

安裝與啓用

從發佈包安裝

安裝時必須指定 --profile 選項,該選項對應 DSH 的配置文件名稱(如 desktop 或 web)。

dsh plugin --profile <profile> add dsh-multitask

安裝完成後,DSH 會自動將插件加入配置的 dsh.profile.bundles 列表,並在啓動時加載。

從源碼安裝

若需直接運行源碼進行調試:

  1. 在 cordis.patch.yml 中添加以下配置,使用絕對路徑:
- insert:
    - id: multitask
      name: 'file:///absolute/path/to/dsh-multitask/lib/index.js?v=6'
  1. 路徑中的空格和 % 需進行 URL 編碼(如 PowerShell 中可使用 New-Object System.Uri 生成)。
  2. 注意:?v=N 是緩存鍵,僅在 file:// 模式下有效。

注意:從源碼安裝時,若使用桌面應用,需完全退出應用後再操作,否則會因文件鎖定導致安裝失敗。

典型用法

  1. 創建會話:在創建新會話時,在模式選擇器中選中 “Multitask 減震器模式”。
  2. 提交需求:直接提出你的需求。
  3. 任務分發:協調者會將需求拆解爲獨立的任務簡報。
  4. 並行執行:簡報會並行分發給子代理執行,協調者繼續監控或處理其他邏輯,直到所有子代理完成。

配置說明

安裝後,DSH 的設置頁面會出現相應的配置項。

Multitask 頁面

  • 模型選擇:multitask.subagentModels[] - 爲四種子代理類型指定默認模型,可選擇“統一使用協調者模型”或“分別指定”。
  • 並行限制:subagent.maxActiveSubagents - 限制同時運行的最大子代理數量。

General 頁面

  • 遞歸深度:subagent.maxDepth - 設置子代理遞歸調用的最大深度(全局生效)。
  • 並行限制:subagent.maxActiveSubagents - 與 Multitask 頁面共用同一配置項。

注意事項

  1. 模式選擇時機:該模式必須在會話開始前選擇。一旦會話開始,工具集和提示詞即凍結,無法中途切換。
  2. 層級限制:委託是單向的一層深度(協調者 → 子代理),子代理無法進一步委託其他子代理。
  3. 工具白名單:協調者的工具集基於白名單,任何未列出的工具(如 write、edit、pwsh、web_search)默認不可見。

總結

dsh-multitask 通過將規劃與執行分離,利用子代理處理噪音數據,爲主對話保留了高價值信息。這對於需要同時處理多個文件、構建項目或進行復雜搜索的開發場景尤爲實用。該插件零依賴,不修改 DSH 源碼,可安全集成到現有的插件生態中。

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

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

小夜