前言¶
在 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 强调):
- 先发一条消息,建立一个会话
- 点顶部「小组模式」(Hero 草稿态会提示先建会话)
- 进「小组」页填密钥、确认名册
- 再派活
也可不改页面,直接在 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