前言¶
DeepSeek Harness(DSH)裏,主 Agent 可以按需拉起子 Agent,完成調查、評審、並行分析等任務。這類調度往往是一次性的:流程寫在當輪對話裏,難以保存、難以復跑,也缺少統一的運行記錄與暫停、續跑能力。
上游項目 omdsh-dev/dsh_workflow 在較早的 DSH 版本上提供了 Workflow 層:斜槓命令給人用,工具給模型用,共用同一套引擎與安全策略。宿主升級到 0.2.1-rc.3 後,插件賴以工作的 API 與構建方式都變了。維護者 PatTianFang 在 GitHub 發佈 PatTianFang/dsh_workflow_fang,把同一套用戶可見能力遷到當前 DSH,不刪功能、不改交互、不放寬安全邊界,只重寫宿主接縫與工程化方式。
下面介紹這個插件的定位、能力與安裝用法。事實以倉庫 README 與 package 信息爲準;本倉庫是上游的適配改造版(port),不是 DSH 官方插件,也不是上游官方倉庫。
這是什麼¶
| 項目 | 內容 |
|---|---|
| 插件目錄 | skillhub.cn/plugins/PatTianFang/dsh_workflow_fang |
| 源碼 | github.com/PatTianFang/dsh_workflow_fang |
| npm 包名 | @dsh-external/workflow(版本 0.2.0) |
| 許可證 | MIT |
| 目標宿主 | DSH 0.2.1-rc.3 |
| 上游基線 | omdsh-dev/dsh_workflow v0.1.2 |
一句話:把 DSH 的一次性多 Agent 調度,升級爲可生成、可保存、可治理、可觀察、可恢復的工作流層。斜槓命令 /workflow 與三個模型工具(workflow_list、run_workflow、workflow_manage)共用同一引擎、同一份 run 記錄、同一套安全策略(QuickJS 沙箱、只讀掩碼、審批分級等仍保留)。
核心功能¶
內置與模式¶
執行 /workflow list 可看到:
- 2 個 built-in:
parallel-investigation、scoped-review - 6 個 pattern:
classify-and-act、fan-out-and-synthesize、adversarial-verification、generate-and-filter、tournament、loop-until-done - 項目級
.dsh/workflows與個人級$DSH_HOME/workflows中保存的自定義流程
人機兩套入口¶
人可在會話裏用 /workflow 子命令:列出、創建、按名運行、代碼評審、查看 run、暫停/停止、保存與重跑、續跑緩存等。模型側通過上述三個工具完成等價操作;內聯 workflow 需滿足 run(wf, args) 與 manifest 契約(README 中有最小示例)。
運行產物與可恢復性¶
運行默認落在當前項目的 .dsh/workflow-runs/<run-id>/(含 run.json、events.jsonl、snapshot、results/、artifacts/),並寫入原生 tool-workflow/* Session 事件,便於在 DSH Web 中觀察進度。支持 resume-run 命中緩存續跑、save 將某次 run 存爲可複用 workflow。
相對上游的改造範圍(使用者視角)¶
用戶可見功能按上游 1:1 保留;改造集中在 DSH 0.2.1-rc.3 的宿主 API(如子 Agent 啓動、只讀約束、會話事件、後臺 job 等)與 npm 構建。兩處邊界變化來自宿主能力變化,且更嚴格:只讀子 Agent 在 provider 不發佈本地子 Agent 時會直接報錯;結構化修復子 Agent 改爲 deny 全部可見工具,效果與上游「無工具調查、只改文本」一致。
倉庫 README 標明上游 179 個測試已遷移並通過,並增加安裝後端到端驗證。
安裝與啓用¶
環境要求:Node.js >=22.19,DSH 版本與倉庫內 compatibility.json 一致(當前爲 0.2.1-rc.3)。
從 GitHub 安裝(產物已隨倉庫提交,用戶側不需要編譯):
dsh plugin --profile desktop add "github:PatTianFang/dsh_workflow_fang#main"
也可從本地目錄或 npm pack 生成的 tarball 安裝;DeepSeek Harness Desktop 的插件管理器也可指向包目錄。
安裝後,profile 合成樹中應出現:
- id: dsh-external-workflow
name: '@dsh-external/workflow'
任選一種方式確認生效:
dsh --profile desktop --dump-config
會話中執行 /workflow list,或確認模型側出現 workflow_list、run_workflow、workflow_manage 三個工具。
典型用法¶
列出與運行現成流程¶
/workflow list
參數化並行調查示例:
/workflow parallel-investigation {"question":"爲什麼這個測試會間歇失敗?"}
讓主 Agent 爲任務生成流程¶
/workflow create 爲這個倉庫設計一個並行安全評審流程,重點看權限與路徑處理
命令會立即結束,將原始 query 作爲真正的 user message 交給當前主 Agent;主 Agent 調查倉庫後,通過 source + manifest 調用 run_workflow 生成並啓動流程。生成腳本在 QuickJS 沙箱執行,啓動前有冒煙校驗與一次性授權。此路徑不接受 --wait(生成由當前 Agent turn 接管)。
代碼評審¶
/workflow review
/workflow review base --risk high \
--requirement "不得破壞公開 API" \
--test-evidence "npm test 通過" \
--wait -- 重點看錯誤處理
會捕獲 Git diff、生成 content-addressed 評審包,再跑 scoped-review(雙 primary、逐 finding verifier、audit artifact)。
查看與控制運行¶
/workflow runs
/workflow show
/workflow stop
/workflow save <runId> my-flow
/workflow my-flow {"k":"v"}
/workflow rerun <runId|名字>
/workflow resume-run <runId>
更多子命令見 /workflow help;完整配置字段見倉庫 docs/CONFIGURATION.md。默認可用;需在 profile 的 cordis.patch.yml 覆寫時,常見項包括 approvalMode、maxAgents、maxConcurrency、maxRetainedRuns 等(README 配置節有示例)。
適用場景與注意¶
適合需要在 DSH 0.2.1-rc.3 上使用可複用、可審計多 Agent 工作流的開發者:並行調查、分類決策、對抗驗證、循環直到完成、Git 改動 scoped 評審等。分類上屬於社區「工作流」類插件;SkillHub 目錄頁與 GitHub 爲獨立社區入口,與 DeepSeek / 幻方無官方從屬關係。
安裝前建議閱讀倉庫源碼與 MIT 許可證,並理解 DSH 插件以當前 dsh 進程權限運行,workflow 會啓動子 Agent、讀寫項目下 .dsh/ 目錄。本包是 PatTianFang 對上游的需求化改造版,問題反饋可走 GitHub Issues。
結尾¶
dsh_workflow_fang 把上游 DSH Workflow 完整遷到 0.2.1-rc.3,在不大改使用方式的前提下提供可保存、可治理、可恢復的多 Agent 流程。目錄頁:https://www.skillhub.cn/plugins/PatTianFang/dsh_workflow_fang;源碼與文檔:https://github.com/PatTianFang/dsh_workflow_fang。