DeepSeek Harness 任務 DAG 編排插件介紹

前言

DeepSeek Harness 的核心理念是“一切皆插件”。在構建複雜的智能體工作流時,手動管理任務之間的依賴關係(DAG)往往既繁瑣又容易出錯。該插件旨在解決這一問題,它引入了一種聲明式的任務編排方式,讓模型通過工具調用直接定義任務拓撲,並自動驗證和執行。

插件定位

該插件由社區開發者 apheli0os 維護,是一個面向 DeepSeek Harness 的聲明式任務 DAG 編排工具。它基於 MIT 許可證開源,並非 DeepSeek 官方組件。

核心功能

  1. 註冊模型工具:插件向模型註冊了一個名爲 orchestrate_tasks 的工具,供模型在調用時使用。
  2. 圖驗證:在執行任何任務之前,插件會先驗證任務圖是有界有向無環圖 (DAG),防止死循環或無效依賴。
  3. 確定性執行:任務通過宿主提供的 ctx.workflowEngine 執行,採用確定性拓撲分層策略。
  4. 數據安全傳遞:僅傳遞 JSON 格式的數據,不進行 JavaScript 源碼插值,避免潛在的安全風險。

安裝與啓用

安裝命令如下:

dsh plugin --profile web add dsh-tool-orchestrate

請將 web 替換爲你實際使用的配置文件名稱。該插件聲明瞭一個 DSH bundle manifest,安裝後會自動添加其 tool-orchestrate Cordis 行。

在安裝前,請確保宿主部署已提供以下組件:
- ctx.tools
- ctx.systemPrompt
- ctx.workflowEngine(通常由 @deepseek-ai/dsh-workflow-worker-thread 提供)
- workflow engine 選擇的 subagent provider

對於自定義的組合,可能需要手動添加配置:

- id: tool-orchestrate
  name: 'dsh-tool-orchestrate'

典型用法

模型調用 orchestrate_tasks 工具,傳入 meta 和 tasks 參數。tasks 是一個非空數組,每個任務對象包含以下字段:

  • id: 小寫 kebab-case 格式的字符串。
  • title: 任務標題。
  • prompt: 任務提示詞。
  • 可選配置:dependsOn(依賴的任務 ID 數組)、provider、model、outputSchema。

執行完成後,返回的結果會保持原始任務數組的順序,包含每個任務的文本或結構化值。如果子任務失敗,父任務狀態將變爲 { status: 'failed', error: 'subagent_failed' };如果因依賴失敗而被跳過,狀態爲 skipped。

適用場景與注意

適用場景:
- 需要構建多步驟、有明確依賴關係的複雜工作流。
- 希望通過聲明式配置而非編寫 JavaScript 代碼來編排任務。

注意事項:
- 這是一個獨立社區插件,非官方 DeepSeek 包。
- 需要宿主環境已配置好 ctx.workflowEngine。
- 不支持從 GitHub 倉庫直接安裝,必須通過 npm 安裝。
- 該插件不擁有或存儲 API Key,使用宿主部署的憑證。
- 嚴禁將 API Key 放入 prompts、cordis.yml、源代碼或 GitHub Actions 日誌中。

總結

該插件通過聲明式配置和確定性執行,簡化了 DeepSeek Harness 工作流的開發流程。更多細節請參考插件目錄或GitHub 倉庫。

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

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

小夜