前言¶
在 DeepSeek Harness 裏讓 Agent 做多步任務時,常見做法是口頭約定步驟、靠會話記憶推進。一旦中斷、需要人工拍板,或要覈對「文件是否真的寫出來了」,狀態往往散落在對話裏,難以對賬和接手。DSH Orchestrator(dsh-orchestrator)面向這類問題:把人確認過的意圖組織成可觀察、可驗證、可恢復的管線,並通過 DSH 插件與本地看板交付。倉庫當前標註爲開發預覽;核心與插件適配已有可運行代碼,具體驗證範圍見倉庫內 STATUS.md 與驗證文檔。
這是什麼¶
DSH Orchestrator 由社區維護者 8778fkv694-hub 發佈,在 SkillHub 目錄中歸類爲工作流。一句話定位來自項目簡介:Evidence-driven pipelines for DeepSeek Harness——強調已確認意圖、人工門、持久化恢復與可覈驗交付。
插件註冊的是 Harness 工具(orch_*),不是 slash command;意圖確認、人工門與對賬仍在 Harness 會話內由人完成。看板提供只讀觀察與調度入口,不替代人類確認,也不代執行任務或調模型。
與同一維護者的 pre-flight(起飛) 可銜接:起飛側建立 AGENT、Intent、Spec 與 Plan,管線引用相關路徑並固定內容摘要。本倉爲原創實現,不要求安裝數字員工。
設計方法(簡要)¶
README 中歸納的方法包括:
- 人的話是原始輸入;AI 引導梳理並複述,經人確認才建立正式 Intent。
- 定義說明方法,運行固定版本;AI 需判斷時用宿主 Agent,確定工作可由可信腳本驅動,關鍵取捨由人決定。
- 任務派發先持久化操作編號;中斷後先讀回狀態,不自動重複未知副作用。
- 模型回報完成後,獨立檢查聲明的文件產物;運行結束與交付合格分別判斷。
狀態寫入配置項目下的 .orchestrator/。同一運行限定所屬會話;路徑禁止越界及符號鏈接,文件證據上限 4MB。當前沒有 DAG、跨機器併發、分佈式事務等能力;真實故障留下的鎖需人工在確認無寫者後處理。
核心功能¶
Harness 工具流¶
典型流程(來自 README):
orch_create → orch_next → 確認新工作單未執行後 orch_claim → 按工作單使用已獲授權的宿主工具 → orch_complete → orch_next。
- 遇到人工門調用
orch_gate;狀態查看用orch_status。 - 恢復已有工作單須先覈對未知效果,不直接接單重跑。
- 暫停/繼續:
orch_pause、orch_resume;恢復讀回:orch_recover。 - 未知效果先檢查執行端與文件,再由
orch_reconcile請求人確認已覈驗或已停止。 orch_cancel遇到在途動作只記取消請求,不能證明外部進程已經停止。
orch_create 會展示 AI 複述、步驟及驗收條件,通過宿主提問讓你確認;拒絕、無答案或超時均不建立正式運行。
本地管線看板(只讀 + 調度入口)¶
看板讀取工作區 .orchestrator/ 下的運行快照,提供總覽、運行記錄、輸出物內嵌預覽與運行詳情抽屜;狀態文件變化後通過 SSE 與文件監聽推送(≤1 秒量級,斷線自動重連)。
調度按鈕(啓動 / 繼續 / 暫停 / 取消)只寫內核調度狀態並顯示 operation ID,不執行任務動作、不調模型、不啓動外部命令。需要人決定的內容仍走 Harness 提問卡;看板給「複製 runId / 繼續提示」等指引。
啓動示例:
orch view /絕對路徑/工作區
orch view /絕對路徑/工作區 --port 8899 --read-only
npm run view -- /絕對路徑/工作區
默認只綁定本機迴環地址;訪問令牌每進程生成,出現在啓動輸出的 URL 中。--read-only 關閉動作端點。
零配置演示¶
不安裝到 Harness 也可本地體驗看板與合成數據:
npm run quickstart
會在本機創建/重置 .demo-workspace/(合成演示數據,不調用模型、不讀憑據、不改主 profile),然後啓動看板並打印帶 token 的本機 URL。換端口示例:npm run quickstart -- --port 8892。
要求 Node 22+;倉庫聲明無運行時 npm 依賴(見 package.json 的 engines)。
診斷與參數化模板¶
只讀診斷(不建立運行):
node src/cli.js doctor <工作區>
機器可讀輸出加 --json。宿主插件加載與會話工作區無法僅憑本地文件確認時會標爲 unknown。
參數化模板實例化示例:
node src/cli.js instantiate examples/parameterized-template.json > /tmp/review-pipeline.json
只輸出定義,不執行任務、不默認爲已確認。
可選側欄入口(entry/)¶
倉庫帶可選 DSH profile bundle:在 Harness Web UI 左側欄「插件」下方增加常駐「管線」入口,用於多看板管理(工作區目錄或外鏈、打開看板、進入會話預填提示詞等)。安裝與配置見倉庫 entry/README.md;不修改 DSH 程序或本倉 orchestrator 插件本體。
Skill 配方(會話內更穩的用語)¶
插件不改變權限,也不允許模型代點人工門。倉庫建議將 skill 複製到工作區:
mkdir -p <工作區>/.agents/skills
cp -R skills/dsh-orchestrator <工作區>/.agents/skills/
之後可在會話中用自然語言描述目標,由 Agent 調用 orch_*;skill 中含建管線、取工作單、人工門、暫停/繼續/取消/對賬、看板與失敗紀律的標準配方。
安裝與啓用¶
需要 Node 22+ 及支持插件 bundle 的 DeepSeek Harness。README 寫明已覈驗運行時接口:0.2.1-rc.3;其他版本需自行重新驗證。
下載倉庫並進入目錄後,按 README 順序執行:
npm test
npm run demo
npm pack
將生成的包安裝到新建驗收 profile(勿覆蓋正在使用的 profile):
dsh plugin --profile orch-acceptance add /絕對路徑/dsh-orchestrator-0.1.0-alpha.1.tgz
在該 profile 的 cordis.patch.yml 中覆蓋插件配置,填入專用測試項目的真實絕對路徑:
- id: evidence-orchestrator
config:
workspace: /絕對路徑/測試項目
questionTimeoutMs: 90000
先覈對該 profile 的宿主界面、模型、提問服務和端口配置,再啓動。默認工作目錄爲空時,配置好後工具才能讀寫管線狀態。
卸載隔離 profile 內插件:
dsh plugin --profile orch-acceptance remove dsh-orchestrator
卸載會註銷工具並中止插件等待;不負責停止由宿主工具啓動的外部任務。請先覈對執行端。
當前包版本爲 0.1.0-alpha.1(見 package.json)。代碼採用 MIT 許可;非 DeepSeek 官方插件,與 DeepSeek 無隸屬關係。
典型用法¶
在 Harness 裏創建並推進一條管線¶
讓 Agent 讀取倉庫 examples/pipeline.json,用你自己的目標改寫候選定義,並調用 orch_create。確認通過後按上文工具流推進;遇到人工門在會話內響應 orch_gate。
會話內一句話式目標(配合 skill)¶
README 給出的說法示例:
- 「按新聞簡報管線跑一份今天的簡報,四項偏好問我。」
- 「看一下剛纔那條運行到哪了;需要我決定就彈卡片。」
- 「把這個運行暫停/繼續;外部動作不確定時先對賬。」
真實項目看板¶
orch view <你的工作區>
或 node src/viewer.js <工作區>。
適用場景與注意¶
適合誰:需要在 DSH 裏把多步 Agent 工作收成有 Intent、有證據、有人工門、可暫停恢復和對賬的管線;同時希望用本地看板觀察運行、產物哈希與調度狀態,而不是隻靠聊天記錄。
務必注意:
- 插件以當前 dsh 進程權限運行;安裝前應自行檢查源碼與 MIT 許可證,並在隔離 profile 中驗收。
- 看板是本地可信操作面,不是安全邊界;令牌勿外傳;未做局域網多用戶與賬號權限。
harness.userQuestions表示答覆經過宿主提問通道,不能單憑它證明具體是誰點擊;受託代操作需額外身份與審計機制。- CLI 與核心是可信本地編程接口,不能用 CLI 的確認參數代替宿主真人確認。
- 目錄頁星標等爲社區展示信息;以 GitHub 倉庫與 README 爲準。
結尾¶
DSH Orchestrator 把「人確認過的意圖」落到可持久化的管線狀態上,用 orch_* 工具在 Harness 內推進,用 orch view 在本機觀察與調度,並在未知副作用場景下通過對賬與恢復讀回降低盲目重跑的風險。開發預覽階段的功能與驗證邊界以倉庫 STATUS.md 爲準。
- 目錄頁:https://www.skillhub.cn/plugins/8778fkv694-hub/dsh-orchestrator
- GitHub:https://github.com/8778fkv694-hub/dsh-orchestrator