前言¶
在 DSH 裏處理「體檢全倉」「多方向調研」「改造加驗證」這類任務時,常見做法是反覆 spawn 子 agent,或自己寫階段腳本。分工邊界、審閱把關和 token 花費往往靠提示詞自覺,宿主子 agent 名額(本機實測 active child 上限 8)也容易被一場長任務佔滿。dsh-court 把一件大事當作聖旨,按太子分揀 → 中書擬敕 → 門下審覆 → 尚書派工 → 六部與二十四司並行 → 御史臺按劾與都省覆核的流程跑完,多智能體並行由 DSH 原生 ctx.subagents 驅動,零外部 npm 依賴;制度邊界除 PERSONA 外,還有工具白名單與 court_hold 的 sessionId 護欄,越權與誤開朝會在代碼層 fail-closed。
這是什麼¶
dsh-court(三省六部 · 朝堂)是維護者 dashi666666-zxp 發佈的 DSH host-plane 工作流編排插件(分類:工作流)。它註冊六個 court_* 工具與 /court/api 面板路由,須在 profile 的 host 組合里加載,而不是塞進 agent preset。制度與工程口徑參照 cft0808/edict;差別在於 edict 是常駐多 Agent 服務加 Redis EventBus,本插件是一場朝議即一次函數調用鏈,狀態機側重校驗、觀測與停滯處理。當前資料中的版本爲 0.12.0(GitHub 倉庫 dashi666666-zxp/dsh-court)。
核心功能¶
朝議流水線¶
court_hold 下旨開朝(總開關開啓爲前提)。默認路徑包含:太子分揀(閒談可擋在門外,確需開朝可傳 taizi:false)→ 中書出敕草 → 門下審覆(可封駁退回重擬)→ 尚書都省派工 → 六部並行辦案;si 默認爲 true 時,六部尚書把差事下發本部四司(二十四司並行承差)→ 御史臺按劾與都省覆核並行 → 奏疏待御批。v0.8.0 起默認 長線子智能體:各節點用 startContinuable + sendMessage,階段間不 dispose,面板節點「問對」直連該常任 agent,退朝時 drainContinuableChildren 統一退班;宿主缺原語則退回每階段一次性 agent 並留痕。
六個工具¶
| 工具 | 作用概要 |
|---|---|
court_hold |
下旨;支持 edict、context、workspace、ministries、draftCount、reviewRounds、rescript、si、taizi、tokenBudget、longLine、quotas、redlines 等 |
court_status |
查朝議或列近期案卷;detail 可選 brief / full |
court_ministries |
六部職權、二十四司、權力線、狀態機、旨庫(下旨前宜先查) |
court_control |
power / stop / resume / reopen / budget / dismiss |
court_dismiss |
退朝散場,釋放長線子 agent |
court_templates |
九條聖旨模板 |
court_hold 默認最多等待 waitMs(120s),超時返回朝議 id,之後用 court_status 續查。
內侍監與 token 約束¶
內侍監站在御前計度線:數字來自 DSH tokenUsage 會話投影實測值,到限額停派新差事。v0.9.0 起運行中可調 tokenBudget、quotas、redlines;可用額度跌破紅線即上奏(只奏不停)。因內侍監告匱而止的場次,resume 須同傳 tokenBudget 加限,否則一續就再停。
子 agent 名額與總開關¶
v0.10.0 起按在朝總數記賬(crewLimit 默認 8、siMaxParallel 默認 2 等),點卯前領名額,領不到可降級爲一次性 agent。v0.11.0 起朝堂默認關閉:不主動佔子 agent 名額;查閱歷史與面板只讀仍可用,但 court_hold、續辦、重開、問對會被回絕,直到打開總開關。關閉當場收場:在辦叫停可續辦保留產出,在朝 agent 退班。開關落盤於 ~/.dsh/court/settings.json(settingsPath 可改)。
面板¶
v0.4.0 起爲自上而下的組織樹:皇帝—太子—中書—門下—尚書幹線,六部橫分叉,每部下掛四司;御史臺走虛線旁支。節點右上角 文 / 問 在樹下方就地展開文書與朝堂對話。樣式 scope 在 .ct-root 下,跟隨 DSH 主題令牌。
安裝與啓用¶
本插件是 host-plane 編排器,必須落在 profile 的 host 組合裏(cordis.patch.yml 的 insert 塊),不要放進 agent preset。
桌面 profile 在 dsh plugin add 走不通、本機 pnpm 不可用時,可按與 dsh-arch 相同的手工 link 三步(須在 danger-full-access 下執行,因爲要寫會話工作區之外的 profile):
# 1) profile package.json 的 dependencies 加: "dsh-court": "link:<本倉路徑>"
# 2) 同文件 dsh.profile.bundles 追加 "dsh-court"
# 3) profiles\desktop\node_modules\dsh-court 建 junction 指向本倉路徑
改完後由 DSH 配置熱加載建 loader entry,無需重啓。裝好後打開面板「朝堂」頁總開關,或調用:
court_control { action: "power", on: true }
否則 court_hold 會直接回絕並提示如何開啓。
復跑測試(在插件倉庫目錄):
node tests/host-smoke.mjs
node tests/client-smoke.mjs --offline
node tests/preview.mjs
典型用法¶
下旨前先看職權與模板:
court_ministries
court_templates
開一場全面體檢或並行調研類朝議(示例字段按 README 口徑,可按任務改 edict 與 ministries):
court_hold {
edict: "……聖旨正文……",
context: "……",
workspace: "……",
ministries: ["兵部", "刑部", "工部"],
draftCount: 2,
reviewRounds: 2,
si: true,
tokenBudget: 500000,
quotas: { "兵部": 400000 },
redlines: { "兵部": 120000, "_run": 50000 }
}
辦理中查進度:
court_status { id: "<朝議id>", detail: "brief" }
叫停、續辦或調額:
court_control { id: "<朝議id>", action: "stop" }
court_control { id: "<朝議id>", action: "resume", tokenBudget: 800000 }
court_control { id: "<朝議id>", action: "budget", tokenBudget: 600000, quotas: { "工部": 200000 } }
收場:
court_dismiss { id: "<朝議id>" }
適用場景與注意¶
適合:多角度專業分工、各分片可並行、彼此弱耦合的大任務(全面體檢、並行調研、大規模改造加驗證等)。
不適合:單文件小改、一問一答、強串行依賴的細碎活——直接自己做通常更快。
安裝與運行前請自行閱讀 GitHub 源碼 與許可證;插件以當前 DSH 進程權限執行,朝議中的子 agent 同樣受宿主沙箱與工具策略約束。v0.12.0 起對階段 JSON 回報有 RESULT_CONTRACT,無 toolFilter 的 spawn 默認禁止 unsandboxed 回退,朝議子會話對全部六個 court_* 工具統一攔截。
社區目錄 SkillHub 插件頁 提供索引;DSH 生態爲「一切皆插件」,該站點與 DeepSeek / 幻方無官方從屬關係。
結尾¶
dsh-court 把 edict 式三省六部分工落到 DSH subagents 原語上:擬敕審覆、派工並行、監察覆核與 token 紅線都有明確工具與代碼護欄,並配有可視朝堂樹與斷點續跑、重開朝議等控制面。需要在工作流類目裏做「可觀測的多 agent 分工」時,可從目錄頁與 GitHub 取文檔與源碼,開好總開關後用 court_ministries 與 court_hold 試第一場朝議。