DSH Workflow:把一次性多 Agent 調度升級爲可治理的 Workflow 層

前言

DeepSeek Harness(DSH)已經具備模型路由、子 Agent、工具權限、審批、Session 日誌和後臺 jobs 等執行原語。實際開發中,團隊往往仍要在每輪會話裏重新描述如何拆任務、並行執行、驗證結果並彙總——策略難以複用,中斷後通常只能從頭重來,並行結果也散落在對話裏。

omdsh-dev/dsh_workflow(包名 @dsh-external/workflow)針對的正是這一層缺口:在 DSH 原生 workflow 工具之上,增加命名、發現、生成、複用、暫停/恢復、重跑/續跑、持久證據、成本記錄和治理等流程產品能力。它不替換 DSH 已有的一次性並行調度,而是把多 Agent 編排沉澱爲可審計、可分享、可演進的工程資產。

這是什麼

@dsh-external/workflow 是一個官方 bundle 形態、零核心 patch 的 DSH 插件,由 omdsh-dev 維護,在 SkillHub 社區目錄中歸類爲「工作流」。插件完整參考 KodaX 的 workflow 設計能力,並針對 DSH 的 Cordis、ctx.subagents、Session、後臺 jobs、審批、命令和工具機制做獨立實現。

許可證爲 MIT。README 標註兼容 DSH 0.0.1-rc.2,插件當前版本 0.1.2,測試套件 179 項通過。

核心功能

執行模型

下面介紹插件與 KodaX workflow 對標的執行能力。

  • 版本化 dsh.workflow v1 capsule,包含 manifest、source、intent、inputs、requires、provenance。
  • 統一 async function run(wf, args) 入口,提供完整 WorkflowApi:phasespawnAgentrunAgentwaitsnapshot/outputsend/stopparallelpipelinesynthesize、單層嵌套 workflow、artifact、log、budget。
  • 六個標準 pattern:classify-and-act、fan-out-and-synthesize、adversarial-verification、generate-and-filter、tournament、loop-until-done。
  • 兩個內置 workflow:parallel-investigation(可按 rubric/agent/concurrency 參數化)和 scoped-review(含 packet/schema/read-contract/雙 primary/逐 finding verifier/audit artifact)。

發現與複用

workflow 搜索順序是確定性的:

  1. 插件內置 workflow 與 pattern(不可被磁盤文件遮蔽);
  2. 項目目錄 .dsh/workflows
  3. 個人目錄 $DSH_HOME/workflows

項目同名條目覆蓋個人條目;同一目錄中 .workflow.json 優先於 .ts/.mjs/.js

生命週期與持久化

每個 run 有 running → paused/completed/failed/denied/stopped 狀態和穩定 id,默認寫入項目目錄:

.dsh/workflow-runs/<run-id>/
├── run.json                    # 狀態、結果摘要、成本
├── events.jsonl                # append-only 事件圖
├── workflow.workflow.json      # 不可變執行快照
├── results/                    # 確定性 effect cache
└── artifacts/                  # workflow 命名證據

支持按 run id 重跑(使用不可變 capsule snapshot)、按 saved name 重跑(使用當前保存版本),以及 resume-run(相同調用序號與 task input 命中緩存,其餘任務繼續執行)。

安全與治理

  • 生成型腳本運行在 QuickJS WebAssembly 獨立堆中,只能通過凍結的 WorkflowApi 發起 effect,靜態 policy 拒絕 import/require、process、文件、shell、網絡等非確定性 API。
  • manifest + preflight + 運行時硬限制管控 provider/模型/併發/預算。
  • approvalMode 支持 never | generated-and-local | always 三級審批。

安裝與啓用

要求 Node.js >=22.19,以及與插件 compatibility.json 一致的 DSH 快照。

先做插件安裝,再驗證 profile 合成樹:

# 構建產物已提交,git 源安裝不需要在用戶側編譯
dsh plugin --profile web add "github:dsh-external/dsh_workflow#main"

# 驗證 bundle 已進入 profile 合成樹
dsh --profile web --dump-config

預期配置中出現:

- id: dsh-external-workflow
  name: '@dsh-external/workflow'

重啓對應 DSH profile 後生效。安裝前建議閱讀 GitHub 倉庫 源碼與 MIT 許可證,確認以當前 DSH 進程權限運行是否符合團隊安全要求。

典型用法

重啓 profile 後,在會話中可直接使用斜槓命令:

/workflow list
/workflow parallel-investigation {"question":"爲什麼這個測試會間歇失敗?"}
/workflow create 爲這個倉庫設計一個並行安全評審流程
/workflow review --risk high --requirement "不得破壞公開 API" --test-evidence "pnpm test 通過" --wait
/workflow runs

workflow 啓動默認立即返回 { runId, status, jobId? },不會佔住當前 turn。需要同步等待終態時,對命名 workflow、rerun、review 傳入 --wait

模型也可調用三個工具:

  • workflow_list:發現 built-in、pattern、項目和個人 workflow。
  • run_workflow:運行命名 workflow、從自然語言 scout-then-author,或執行受限 inline workflow。
  • workflow_manage:查看、暫停、恢復、停止、重跑、續跑、保存、改名、修訂、刪除和清理。

常用管理命令:

/workflow help
/workflow show [--full] [runId]
/workflow pause|resume|stop [runId]
/workflow rerun|resume-run <runId|savedName> [JSON args] [--wait]
/workflow save <runId> <name> [project|personal]
/workflow prune [--dry-run] [--keep N] [--older-than 7d|24h]

常見配置片段如下,完整字段見倉庫 docs/CONFIGURATION.md

- id: dsh-external-workflow
  name: '@dsh-external/workflow'
  config:
    approvalMode: generated-and-local
    maxAgents: 64
    maxConcurrency: 8
    maxRetainedRuns: 500

適用場景與注意

適合誰

  • 需要把多 Agent 並行調查、代碼評審、任務拆解等流程固化爲可複用資產的個人開發者或團隊。
  • 已在 DSH 上使用子 Agent 和後臺 jobs,希望補齊命名、持久化、續跑和成本記錄的團隊。
  • 需要對標 KodaX workflow 行爲、在 DSH 生態內獨立實現同等能力的集成方。

使用注意

  • 插件以當前 DSH 進程權限運行;trusted-local workflow 具有 Node 宿主權限,不要把不可信第三方源碼標爲 trusted-local。
  • 它不替換 DSH 原生前臺 workflow 工具——原生工具適合「這一次把若干工作並行跑完」,本插件負責更高一層的流程產品能力。
  • create 和自由文本形式的 /workflow <自然語言請求> 由當前 Agent turn 接管 authoring,不接受 --wait
  • 當前 DSH 通用 subagent seam 不直接支持 existing-agent target、per-agent effort 和 worktree;相應請求需部署註冊 adapter,未註冊時會明確失敗。

結語

經過上面的步驟,omdsh-dev/dsh_workflow 把 DSH 已有 Harness 能力串成完整閉環:從一次性多 Agent 調度,升級爲可生成、可保存、可治理、可觀察、可恢復的 Workflow 層。

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

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

小夜