dsh-council:把 DSH 會話變成可併發的「小組羣聊」

前言

在 DeepSeek Harness(DSH)裏做複雜任務時,常見做法是依賴官方子代理或自己在同一會話裏串行調用工具。子代理通常只返回最終結果,中間誰在做、做到哪一步、各步驟耗時都不直觀;父會話若仍保留寫文件、改代碼類工具,還容易出現「指揮沒派活、會話自己改了一整輪倉庫」的情況。維護者 ZelyStaric 的 @zelystaric/dsh-council(GitHub:ZelyStaric/dsh-council)把一次需求拆成指揮拆解、多成員併發執行、審校初審與指揮終審,並在「小組」羣聊頁裏逐步暴露過程;每個成員可掛在 Codex CLI、Claude Code CLI、DSH 內建 agent 或圖像接口等不同框架上,各跑各的原生 agent。社區目錄分類爲工作流;倉庫當前約 2 stars(以目錄頁爲準)。

這是什麼

一句話:dsh-council 是 DSH 的 Cordis 插件,把單會話編排成帶 8 個預設崗位(全部可改)的「小組」——指揮負責拆解與終審(會讀圖),審校負責初審,其餘崗位按任務分派;不合格會自動返工一次。與官方子代理的差異在於:過程實時可見,且成員可按框架/模型分別配置,官方 key 與 OpenAI·Anthropic 兼容中轉均可使用。

許可:MIT(package.json 版本 0.2.17)。兼容性說明:README 寫明僅測試於 dsh 0.2.1-rc.2 及以上(用到 subagent seam、uiConversation 等內部 API)。

核心功能

工作流

用戶提出需求後,大致路徑爲:指揮拆解 → 成員在各自 agent 框架裏併發幹活 → 審校初審 → 指揮終審 → 不合格自動返工一次。全程在「羣聊」頁實時可見(誰、什麼階段、多久)。

成員框架(kind)

kind 跑什麼 說明
codex Codex CLI(codex exec) GPT 系,原生 app-server,工具鏈最全
claude Claude Code CLI Anthropic 系,長上下文,能讀圖
deepseek DSH 內建 agent(subagent seam) 用完即棄 + 摘要回灌;可複用同一條子會話
image 圖像接口(OpenAI 兼容 /v1/images/generations) 出圖、序列幀

崗位(角色)

內置 8 個:指揮 / 代碼 / 全棧 / 審校 / 畫師 / 配樂 / 3D 建模 / 動畫。均爲預設——崗位名、提示詞、成員、模型、風格都可在「小組」頁與「名冊」裏修改。

小組模式下的硬攔截(strictDelegate)

默認 strictDelegate: true:在小組模式下,Host 在 agent.ctx.tools.guard() 上攔截父會話的寫類工具(如 edit、write、apply_patch 及若干 Blender 寫/渲染工具),只讀與 bash(計審計)不攔。逃生口:用戶在本輪最後一條消息中說「你自己做 / 你直接改 / 你親自動手 / 放行」,或將 profile 裏 strictDelegate 設爲 false。被攔次數會在 council_delegate 回執與 GET /council/api/progress 中體現。

看門狗與超時

成員沒有「總時長一到就殺」的默認行爲:只要還在輸出就一直跑;連續靜默超過 memberIdleMinutes(默認 10 分鐘)才終止。memberHardLimitMinutes 默認 360 分鐘(0 表示不限制)。出圖 HTTP 默認 imageTimeoutSeconds: 240。

安裝與啓用

README 給出的安裝方式如下(任選其一;升級同名包時需先 remove 再 add,見下文「升級」)。

從 GitHub 克隆後安裝(README 標註爲推薦):

git clone https://github.com/ZelyStaric/dsh-council
plugin_manager install_bundle --target ./dsh-council

或指定本地目錄:

plugin_manager install_bundle --target /path/to/dsh-council

或 npm 包(若已發佈):

plugin_manager install_bundle --target @zelystaric/dsh-council

安裝後,在任意會話頂部點 小組模式,進入「小組」頁配置成員與 API。

首次使用順序(全新安裝時 README 強調):

  1. 先發一條消息,建立一個會話
  2. 點頂部「小組模式」(Hero 草稿態會提示先建會話)
  3. 進「小組」頁填密鑰、確認名冊
  4. 再派活

也可不改頁面,直接在 profile 的 cordis.patch.yml 插入插件配置,例如:

- insert:
    - id: council
      name: '@zelystaric/dsh-council'
      config:
        claudeBaseUrl: https://your-relay      # claude 成員用
        defaultWorkspace: /your/workspace      # 成員的工作目錄
        strictDelegate: true                   # 小組模式硬攔截父會話自己寫文件(默認 true)
        memberIdleMinutes: 10                  # 成員連續多久沒有任何輸出纔算死(看門狗,默認 10 分鐘)
        memberHardLimitMinutes: 360            # 極大兜底(默認 6 小時;0 = 完全不限制總時長)
        imageTimeoutSeconds: 240               # 出圖 HTTP 請求超時(無流式輸出,默認 240s)

頁面裏的 base 留空則使用 profile;頁面填寫會覆蓋 profile。

升級到新版本

dsh plugin add 不會覆蓋已安裝的同名依賴;換 tarball 或目錄升級時需先移除:

dsh plugin --profile web remove @zelystaric/dsh-council
dsh plugin --profile web add -w file:/path/to/zelystaric-dsh-council-0.2.4.tgz
systemctl --user restart dsh-web        # 或重啓你起的 dsh web

從 npm 安裝時同理:remove 之後 add @zelystaric/dsh-council@<version>。

修改 Host 半(index.js)後需重啓 dsh-web;只改 Client 半(client.js)刷新頁面即可。

典型用法:名冊與 API

1. 名冊

崗位 → 成員 → 爲每個成員選擇框架與模型。

2. API(小組頁)

在「小組」頁填寫中轉站地址與 key(同時支持 OpenAI 與 Anthropic 通用格式):

用途 協議 填在哪
codex 成員(GPT 系) OpenAI ① 卡片的 gpt key(base 來自 ~/.codex)
image 成員(出圖) OpenAI /v1/images/generations ① 卡片的 gpt-image key
claude 成員(Anthropic 系) Anthropic /v1/messages ① 卡片的 claude key + claude base URL

填官方 key 即走官方通道(如 https://api.openai.com、https://api.anthropic.com);填中轉 key 即走中轉。若本機直連官方不通,可在 ① 卡片最右側填本機代理(如 http://127.0.0.1:7897),僅影響插件發起的請求及 claude/codex 子進程環境;代理未起時會回退直連並打日誌。

3. 外部 CLI 路徑

codex 與 claude 默認從 PATH 查找;找不到時可設置:

export COUNCIL_CODEX_BIN=/usr/local/bin/codex
export COUNCIL_CLAUDE_BIN=/path/to/claude

claude 若已裝 dsh-subagent-claude-code bundle,會自動使用 bundle 自帶二進制。

4. 可選外部依賴(按崗位)

  • codex、claude 兩個 CLI(僅對應成員需要)
  • 配樂:fluidsynth、GM SoundFont、ffmpeg、python3-midiutil/mido
  • 3D:blender(無頭)、openscad、python3 -m pip install trimesh pygltflib
  • 動畫:ffmpeg、Pillow

狀態與產物路徑(排障用):~/.dsh/storages/council.json;出圖在 ~/.dsh/storages/council-images/。自定義 192×192 PNG 頭像可放入該目錄下 avatar-codex-small.png、avatar-claude-small.png、avatar-deepseek-small.png 等(詳見 README)。

適用場景與注意

適合誰:需要在 DSH 裏做多角色、多框架併發、且希望過程可觀測的團隊或個人;任務可映射到指揮—執行—審校—終審,並願意在「小組」頁維護名冊與 API。

權限與安全:插件以當前 DSH 進程權限運行;成員會在 defaultWorkspace 等工作目錄裏調用 CLI 與工具。安裝前應閱讀倉庫源碼與 MIT 許可證,自行評估 key、中轉站與代理配置的風險。

生態說明:DSH 理念是「一切皆插件」;SkillHub 等社區目錄爲獨立站點,與 DeepSeek / 幻方無官方從屬關係。

結尾

dsh-council 把 DSH 會話變成可配置的「小組羣聊」:指揮拆解、多框架成員併發、審校與指揮終審、過程實時可見,並用 strictDelegate 減少父會話越權改庫。目錄與源碼:

  • 目錄頁:https://www.skillhub.cn/plugins/ZelyStaric/dsh-council
  • GitHub:https://github.com/ZelyStaric/dsh-council
羽毛球分组比赛记分
小程序二维码

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

小夜