編排臺(dsh-orchestra):把長任務拆成可驗收的隔離子對話

前言

把一整個長任務丟進同一個 DSH 對話,通常會撞上三類問題:子任務順手改到別的文件,越做越大;說「做完了」但沒有證據,也沒有人逐條對驗收標準;多個子任務之間互相「聽說」,責任和證據都追不回來。編排臺(插件名 dsh-orchestra,倉庫 chen-rong1alkdwjlak/dsh-)就是把這三件事做成結構:一個總對話負責拆解目標,派生出互相隔離的普通子對話去執行,所有任務受一套分級禁忌知識庫約束。維護者是 chen-rong1alkdwjlak,社區目錄裏歸在「工作流」分類。

這是什麼

一句話定位:一個 ComfyUI 式的連線工作臺,裝在 DeepSeek Harness 裏,通過側欄「編排臺」入口使用。它綁定你當前的 DSH 網頁對話作爲總對話(不另開一套聊天),每個任務新建一個普通 DSH 會話作爲子對話,子對話只看得見自己的任務書,彼此沒有消息通道。

它要解決的不是「模型不夠強」,而是長任務在單一對話裏的邊界、驗收和上下文隔離問題。

核心功能

1、總對話拆解:點頂欄「拆解任務」,總對話輸出 JSON 計劃,插件把它變成任務節點並按依賴自動排布;解析失敗會明確報錯,不會靜默生成節點。
2、隔離子對話:每個任務派發時新建一個普通 DSH 會話,任務書(目標 / 邊界 / 輸入 / 交付物 / 驗收標準 + 適用禁忌 + 前置結果摘要)作爲第一條消息發進去。
3、驗收節點:子對話跑完後停在「待驗收」,可人工通過或駁回打回,也可讓總對話按驗收標準先複覈,給出 PASS/FAIL 與證據缺口。
4、分級禁忌知識庫:四級,一級最高且不可關閉。
5、依賴連線:任務 A 連到任務 B 表示 B 要等 A 通過才能派發,B 的任務書會附上 A 的結果摘要,標註「由總對話轉交」。

禁忌的四級生效範圍如下。

等級 名稱 生效範圍
1 一級禁忌 最硬。總對話、每個子對話、本機每個嚴格對話的系統提示都會帶上;不可關閉、內置條目不可刪除
2 二級禁忌 當前編排板的所有任務
3 三級約束 按任務勾選,或從「禁忌節點」連線附加
4 參考資料 只在任務顯式引用時附帶,不算禁令

內置一級禁忌是:不捏造、不擅自破壞、不泄露祕密、不繞過驗收,文本可以改但不可刪除。任務書裏會再次完整列出適用的 1/2/3 級條目,即使系統提示被其他插件改寫,任務書仍然帶着禁令。數據存在 <DSH_HOME>/orchestra/orchestra.json,會話正文不復制到那裏,仍只存在 DSH 會話日誌裏。

安裝與啓用

這個插件沒有提供 github:owner/repo 形式的一鍵安裝命令,README 給的是 desktop profile 的手動步驟。先克隆倉庫到任意目錄(下面用 <repo> 代指該目錄):

git clone https://github.com/chen-rong1alkdwjlak/dsh-.git <repo>

1、在 <DSH_HOME>\profiles\desktop\package.json 的 dependencies 里加一條,路徑換成你自己的 <repo>:

"dsh-orchestra": "link:C:/path/to/dsh-"

2、在同一個文件的 dsh.profile.bundles 末尾追加 "dsh-orchestra"。

3、在 <DSH_HOME>\profiles\desktop\node_modules\ 下建一個目錄聯接:

New-Item -ItemType Junction -Path "$env:USERPROFILE\.dsh\profiles\desktop\node_modules\dsh-orchestra" -Target "C:\path\to\dsh-"

4、重啓一次 DeepSeek Harness,側欄就會出現「編排臺」。

也可以用 CLI,它會走 pnpm,但仍需手動確認 bundles 列表:

& "<DeepSeek Harness 安裝目錄>\resources\runtime\cli\bin\dsh.cmd" plugin --profile desktop add link:C:/path/to/dsh-

插件要求 DSH >= 0.2.1-rc.2(因爲用到了 ctx.sessionController.create/prompt/inspect 與 session/event),Node 引擎要求 >=22.19.0,許可證是 MIT。

五分鐘上手

1、打開側欄「編排臺」,新建編排板,填名稱、總目標、工作目錄。
2、選中「總對話」節點,點「用當前對話作總對話」。默認是固定綁定,切換網頁對話不會把它帶走;只有勾選「跟隨當前 DSH 對話」纔會自動改綁。
3、點頂欄「拆解任務」,總對話輸出 JSON 計劃,插件變成任務節點並按依賴排布。
4、逐個點任務節點檢查「邊界」和「驗收標準」,這一步不要跳過。
5、點「派發」:新建隔離子對話,把任務書作爲第一條消息發進去,節點變成「子對話運行中」。
6、子對話跑完,節點變「待驗收」,右側能看到結果、產物和逐條自檢。
7、需要的話點「讓總對話先複覈」,它會按驗收標準給 PASS/FAIL 和證據缺口,這只是建議。
8、你點「通過」,或寫清駁回要求點「駁回並打回」,同一個子對話繼續重做。

驗收協議是子對話必須按下面的 XML 輸出,節點才推進到「待驗收」:

<orchestra-result>
{"status":"done|blocked|failed","summary":"...","artifacts":["..."],"checks":[{"criterion":"...","pass":true,"evidence":"..."}]}
</orchestra-result>

解析失敗時,整段回答會當作摘要保留,節點仍停在「待驗收」,不會自動通過。

總對話默認是一條 DSH 會話,走 DSH 的模型路由,通常會消耗 API token。想改用 chat.deepseek.com 網頁版的免費額度:先 dsh plugin --profile desktop add dsh-deepseek-web-login,重啓後在「設置 → DeepSeek 網頁登錄」裏登錄,然後在編排臺選中總對話,右側「總對話模型」點「網頁版 · 快速」或「思考」。這隻改這一條總對話會話,不改 DSH 的默認模型,子對話仍按 DSH 默認模型創建。

給總對話用的工具

只有哪些被綁定爲總對話的會話裏,模型纔可以直接調用這些工具:

工具 作用
orchestra_board 看當前板的全部任務、狀態、驗收標準、依賴
orchestra_dispatch 派發一個任務(前置未通過時默認拒絕,force 可強推)
orchestra_accept 通過或駁回一個待驗收任務(駁回會把修改要求打回子對話)

子對話調用會被拒絕,返回「當前會話還沒有綁定爲任何編排板的總對話」。編排工具(orchestra_board / orchestra_dispatch / orchestra_accept)在子對話裏調用同樣直接被拒絕。

適用場景與注意

適合需要把一次長任務拆成多個可驗收子任務、且希望子任務邊界清晰的 DSH 使用者。插件以當前 DSH 進程的權限運行,安裝前應先讀一遍源碼(倉庫公開,MIT 許可),確認它對會話、工作目錄和文件的操作符合你的預期。

需要留意的點:

  • 計劃質量取決於總對話,它一般輸出 3–7 個任務。
  • 子對話是一次性普通會話,「重新派發」會新開一個,舊會話仍留在 DSH 側欄。
  • 拆解和複覈默認等待 4 分鐘,超時按失敗處理,可重試。
  • 單機單進程假設:同一份 orchestra.json 被兩個 DSH 進程同時寫時是「後寫覆蓋」。
  • 網頁版 DeepSeek 登錄是網頁端私有接口的非官方客戶端,有風控和限流風險,自行判斷。

結尾

編排臺的價值在於把「拆任務、看邊界、逐條驗收、隔離上下文」從口頭約定變成畫布上的結構。如果你已經有一批要並行推進的子任務,可以先從「拆解任務」這一步開始試。

目錄頁:https://www.skillhub.cn/plugins/chen-rong1alkdwjlak/dsh-
倉庫:https://github.com/chen-rong1alkdwjlak/dsh-

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

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

小夜