← 返回列表
⚠ 装前注意
⚡ dsh-agent-conductor
基本兼容但装前注意:未发布到 npm registry,仅可从源码安装 · 最近上游提交 2026/9/17 · 已提供中文文档
⚡ DSH 指挥家 / Conductor for DeepSeek Harness — in-session dispatch to 11 external agent CLIs (Codex, Claude Code, TraeCode, OpenCode, Gemini, Cursor, Kimi, Qwen, Copilot, WorkBuddy, Grok). Zero-dep skill + host-only bundle.
综合分
36.7
GitHub 分
36.7
用户评分
—
★ Stars
6
周下载量
—
安装插件(需先安装 dsh CLI 引擎:npm install -g @deepseek-ai/dsh)
dsh plugin --profile web add MJorgin/dsh-agent-conductor未发布到 npm registry,仅可从源码安装,改用 GitHub 源安装
数据截至 2026/9/18(元数据每日更新 · 实装验证按队列轮转,单条结论的验证时间见上方)
安装兼容性检查⚠ 装前注意
以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。
✗npm 包dsh-agent-conductor(未发布到 npm,仅可源码安装)
✓Node 引擎未声明 engines.node
✓dsh CLI 依赖未声明 dsh 版本约束
✓入口文件main/exports/bin 已声明
未发布到 npm registry,仅可从源码安装
验证方式:npm registry 存在性 + package.json 静态校验 · 最后验证 2026/9/18 09:27:26
用户评分
还没有人投票,来当第一个
订阅周报,不错过优质插件更新
每周一封 · 高评分插件 + 新用户活动
README
⚡ dsh-agent-conductor
让你的 DeepSeek Harness 代理以无头模式将任务派发给 11 个外部代理 CLI——Codex、Claude Code、TraeCode、OpenCode、Gemini、Cursor、Kimi、Qwen、Copilot、WorkBuddy、Grok——并将结果带回对话中。
License: MIT
DeepSeek Harness
Zero deps
Agents
English · 简体中文
DeepSeek Harness 是一个出色的推理引擎——但有时这项工作由另一个编码代理来完成会更好:比如 Codex 翻译、Claude Code 调查、Cursor 重构。这个插件让你的 DSH 代理能够识别何时该委派(通过技能描述匹配)、以无头模式将自包含的任务派发给 11 个外部代理 CLI 之一,并将 stdout 结果作为答案带回。
灵感来自 Multica——将“代理小队”理念做成零安装的 DSH 技能。
✨ 你能获得什么
| 能力 | 作用 | 成本 |
|---|---|---|
| 🧠 自动触发的派发 | 说“让 Codex 翻译这个 README”——模型会匹配技能、运行派发脚本,并根据结果作答 | 免费(使用目标 CLI 的配额) |
| 🔧 conductor_dispatch 工具(可选捆绑包) | 将同一注册表作为一等 DSH 工具,用一条命令安装到配置文件中 | 免费 |
| 🩺 doctor 自检 | python3 dispatch.py doctor 在派发前探测哪些 CLI 已安装(解析 PATH + 尝试 --version) | 免费 |
| 👥 11 个代理 CLI | Codex、Claude Code、TraeCode、OpenCode、Gemini、Cursor、Kimi、Qwen、Copilot、WorkBuddy、Grok | 它们各自的登录配额 |
| 🔒 隐私 | 任务文本仅发送给 CLI 自己的提供商;密钥保留在本地 | — |
🧭 为什么是技能(而不只是插件)
| | 配置文件插件 / 捆绑包 | 动态插件 | 技能(本仓库) |
|---|---|---|---|
| 安装 | 写入配置文件 + 重启 | 在会话内定义 | 复制一个文件夹 |
| 触发 | 手动 | 模型调用工具 | 描述匹配,模型自动识别 |
| 风险 | 会改动宿主 | 会话作用域,重启即消失 | 只读脚本,与宿主无关 |
| 结果 | 工具结果 | 工具结果 | stdout 直接成为答案 |
一个 SKILL.md + 约 90 行零依赖的 dispatch.py(仅用 Python 标准库)。
⚡ 快速开始(技能)
将 skills/conductor/ 复制到任意技能根目录(项目级 .dsh/skills/ 或全局 ~/.dsh/skills/):
mkdir -p .dsh/skills/conductor
cp -R skills/conductor/. .dsh/skills/conductor/
无需重启——从下一条消息开始,只需说:
- “派 codex 把这份 README 翻译成繁体中文”(让 Codex 翻译这份 README)
- “让 Claude Code 查一下这个报错的成因”(让 Claude Code 调查这个错误的成因)
- “用 Codex 独立实现一个 XXX”(让 Codex 独立实现 XXX)
智能体会自动识别需求(通过 SKILL.md 描述匹配)→ 运行 dispatch.py → 返回结果。
🛠️ 前置条件:安装你想调度到的 CLI
Codex / Claude Code / OpenCode / Gemini / Qwen
npm i -g @openai/codex
npm i -g @anthropic-ai/claude-code
npm i -g opencode-ai
npm i -g @google/gemini-cli
npm i -g @qwen-code/qwen-code
Kimi / Grok / Copilot(无头标志已对照各 CLI 自身的 --help 验证)
npm i -g @moonshot-ai/kimi-code
npm i -g @xai-official/grok
npm i -g @github/copilot
TraeCode CLI:https://docs.trae.cn/cli_command-line-parameters
(已有 codex-cli?改用符号链接:ln -s ~/.codex/plugins/.plugin-appserver/codex ~/.local/bin/codex)
无头模式说明:Copilot 的非交互模式必须自动批准工具,因此注册表运行 copilot -p "" --allow-all-tools。其他 CLI 运行各自标准的 print/无头标志。
然后检查这台机器上实际可调度的是什么:
python3 skills/conductor/scripts/dispatch.py doctor
✅ Codex …/codex — codex-cli 0.151.0 …
❌ Gemini … 未找到 gemini → 安装:npm i -g @google/gemini-cli
工作目录会自动检测。 捆绑工具会在当前会话的工作区(exec.agent.session.header.cwd)中运行每个 CLI,然后是 CONDUCTOR_CWD,再然后是 harness 的 cwd——没有硬编码路径。Codex 仍然需要一个受信任的 git 仓库:如果自动检测到的文件夹不受信任,请将 CONDUCTOR_CWD=/path/to/git/repo(环境变量或 ~/.dsh/secrets/media-tools.env)指向一个受信任的仓库。技能脚本会遵循 CONDUCTOR_CWD,并回退到当前目录。
要让被调度的智能体写入文件:在 Codex 的 ~/.codex/config.toml 中添加 sandbox_mode = "workspace-write"。
调度会消耗目标 CLI 的登录配额。
✅ 已验证 vs ⏳ 待定
| CLI | 无头命令 | 状态 |
|---|---|---|
| Codex | codex exec "{task}" | ✅ 实地测试(翻译任务已交付) |
| Claude Code | claude -p "{task}" --output-format text | ✅ 已安装;依据官方文档 |
| TraeCode | traecli exec "{task}" | ✅ 依据官方文档 |
| OpenCode | opencode run "{task}" | ✅ 依据官方文档 |
| Gemini CLI | gemini -p "{task}" | ✅ 依据官方文档 |
| Qwen Code | qwen --prompt "{task}" | ✅ 依据官方文档(Gemini-CLI 分支) |
| Kimi CLI | kimi --prompt "{task}" | ✅ 标志已从 CLI 自身的帮助中确认(-p, --prompt = 非交互) |
| Copilot CLI | copilot -p "{task}" --allow-all-tools | ✅ 标志已从 copilot --help 确认(可执行文件是 copilot,不是 github-copilot;无头模式必须使用 --allow-all-tools) |
| Grok CLI | grok -p "{task}" | ✅ 依据官方 README(grok -p "..." = 运行一个任务) |
| Cursor CLI | cursor-agent -p "{task}" | ⏳ 命令形式待实地测试(通过 cursor.com 安装;npm 的 cursor-agent 包与此无关) |
| WorkBuddy | workbuddy -p "{task}" | ⏳ 命令形式待实地测试 |
安装包已对照 npm registry 核实:Kimi 是 @moonshot-ai/kimi-code(bin 为 kimi),Grok 是 @xai-official/grok(bin 为 grok),Copilot 是 @github/copilot(bin 为 copilot),Codex 是 @openai/codex。npm 包 kimi-cli 是一个无关的占位包,不含任何二进制文件——请勿使用。
📦 可选:bundle 安装(仅主机端工具)
本仓库同时也是一个仅主机端的 dsh bundle(声明了 dsh.bundle,零客户端代码——Web UI 不受影响)。一条命令即可将 conductor_dispatch 工具安装到某个 profile:
dsh plugin --profile web add github:MJorgin/dsh-agent-conductor
- 该工具与 skill 共用同一份 CLI 注册表(index.js ⇄ conductor-dynamic.js ⇄ dispatch.py——新增 CLI 时请保持三者同步);
- 没有客户端部分,因此 Web UI 永远不会受影响(早期携带面板的客户端版本已被移除——见 git log);
- 加固的主机端执行:显式声明 subprocess 依赖,强制执行真正的 10 分钟超时,并终止整个进程树(取消时同样如此——不会留下孤立的 CLI),同时裁剪过长的输出(头部 + 尾部,约 20k 字符),以免话多的 agent 撑爆上下文;
- 面板 / 任务板回收功能已在路线图中。
📂 仓库结构
index.js # bundle 主机端部分:conductor_dispatch 工具(仅主机端)
cordis.patch.yml # bundle 层(一行,无客户端)
skills/conductor/SKILL.md # skill 定义:触发描述 + 调度规则 + 隐私
skills/conductor/scripts/dispatch.py # 调度引擎(Python 标准库,零依赖)
conductor-dynamic.js # 备选:动态插件版本(cordis_define 路由)
🗺️ 路线图
- [ ] 面板 UI(可选,动态插件客户端部分)
- [ ] 任务板回收:将调度结果写回 dsh-task-board 卡片
- [ ] 小队编排:将一个任务分发给多个 agent 并合并结果(Multica squads 形态)
🔑 密钥与隐私
- 密钥绝不会存储在本仓库中。skill 脚本会读取环境变量,然后读取 ~/.dsh/secrets/media-tools.env(与 dsh-media-skills 相同的约定)。
- 任务文本会发送给目标 CLI 的提供商——切勿将密钥或内部数据放入任务中。
- 结果受目标 CLI 服务条款约束;请将交付物标注为“由 完成”。
License
MIT
Related
- 🎨 dsh-media-skills — 为 DSH 提供免费的视觉与图像生成(GLM-4V-Flash + Qwen3-VL + Gemini 故障转移)
- 📬 社区收录 PR:awesome-dsh-plugin#664
- 📋 awesome-dsh-plugin · 生态索引:dsh-plugin 主题
- 🎯 基准测试:Multica(多智能体工作台)· dsh-web-ui(任务看板)同作者(MJorgin)的其他插件
扫码进群