dsh-agent-conductor
Manifest valid★ 14⚡ DSH Conductor / 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 skil
⚡ dsh-agent-conductor
Let your DeepSeek Harness agent dispatch tasks to 11 external agent CLIs — Codex, Claude Code, TraeCode, OpenCode, Gemini, Cursor, Kimi, Qwen, Copilot, WorkBuddy, Grok — headlessly, and bring results back into the conversation.
English · 简体中文
DeepSeek Harness is a great reasoning engine — but sometimes the job is better done by another coding agent: a Codex translation, a Claude Code investigation, a Cursor refactor. This plugin lets your DSH agent recognize when to delegate (by skill-description matching), dispatch a self-contained task to one of 11 external agent CLIs in headless mode, and bring the stdout result back as the answer.
Inspired by Multica — the "agent squad" idea as a zero-install DSH skill.
✨ What you get
| Capability | What it does | Cost |
|---|---|---|
| 🧠 Auto-triggered dispatch | Say "have Codex translate this README" — the model matches the skill, runs the dispatch script, and answers from the result | Free (uses the target CLI's quota) |
🔧 conductor_dispatch tool (optional bundle) | The same registry as a first-class DSH tool, installed into a profile with one command | Free |
🩺 doctor self-check | python3 dispatch.py doctor probes which CLIs are installed (resolves PATH + tries --version) before you dispatch | Free |
| 👥 11 agent CLIs | Codex, Claude Code, TraeCode, OpenCode, Gemini, Cursor, Kimi, Qwen, Copilot, WorkBuddy, Grok | Their login quotas |
| 🔒 Privacy | Task text goes only to the CLI's own provider; keys stay local | — |
🧭 Why a Skill (and not just a plugin)
| profile plugin / bundle | dynamic plugin | Skill (this repo) | |
|---|---|---|---|
| Install | write profile + restart | define in-session | copy a folder |
| Trigger | manual | model calls a tool | description matching, model auto-recognizes |
| Risk | touches the host | session-scoped, gone on restart | read-only script, host-agnostic |
| Result | tool result | tool result | stdout directly becomes the answer |
One SKILL.md + a ~90-line zero-dependency dispatch.py (Python stdlib only).
⚡ Quick start (Skill)
Copy skills/conductor/ to any skill root (project-level .dsh/skills/ or global ~/.dsh/skills/):
mkdir -p .dsh/skills/conductor
cp -R skills/conductor/. .dsh/skills/conductor/
No restart needed — from the next message on, just say:
- "派 codex 把这份 README 翻译成繁体中文" (have Codex translate this README)
- "让 Claude Code 查一下这个报错的成因" (ask Claude Code to investigate this error)
- "用 Codex 独立实现一个 XXX" (have Codex implement XXX independently)
The agent auto-recognizes the need (SKILL.md description matching) → runs dispatch.py → returns the result.
🛠️ Prereqs: install the CLIs you want to dispatch to
# 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 (headless flags verified against each CLI's own --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
# (already have codex-cli? symlink instead: ln -s ~/.codex/plugins/.plugin-appserver/codex ~/.local/bin/codex)
Headless note: Copilot non-interactive mode must auto-approve tools, so the registry runs
copilot -p "<task>" --allow-all-tools. The other CLIs run their standard print/headless flag.
Then check what's actually dispatchable on this machine:
python3 skills/conductor/scripts/dispatch.py doctor
# ✅ Codex …/codex — codex-cli 0.151.0 …
# ❌ Gemini … 未找到 `gemini` → 安装:npm i -g @google/gemini-cli
Working directory is auto-detected. The bundle tool runs each CLI in the current session's workspace (
exec.agent.session.header.cwd), thenCONDUCTOR_CWD, then the harness cwd — no hardcoded paths. Codex still requires a trusted git repo: pointCONDUCTOR_CWD=/path/to/git/repo(env or~/.dsh/secrets/media-tools.env) at one if the auto-detected folder isn't trusted. The skill script honorsCONDUCTOR_CWDand falls back to the current directory. To let the dispatched agent write files: addsandbox_mode = "workspace-write"to Codex's~/.codex/config.toml. Dispatching consumes the target CLI's login quota.
✅ Verified vs ⏳ pending
| CLI | Headless command | Status |
|---|---|---|
| Codex | codex exec "{task}" | ✅ field-tested (translation task delivered) |
| Claude Code | claude -p "{task}" --output-format text | ✅ installed; per official docs |
| TraeCode | traecli exec "{task}" | ✅ per official docs |
| OpenCode | opencode run "{task}" | ✅ per official docs |
| Gemini CLI | gemini -p "{task}" | ✅ per official docs |
| Qwen Code | qwen --prompt "{task}" | ✅ per official docs (Gemini-CLI fork) |
| Kimi CLI | kimi --prompt "{task}" | ✅ flag confirmed from the CLI's own help (-p, --prompt = non-interactive) |
| Copilot CLI | copilot -p "{task}" --allow-all-tools | ✅ flag confirmed from copilot --help (bin is copilot, not github-copilot; --allow-all-tools is required headless) |
| Grok CLI | grok -p "{task}" | ✅ per official README (grok -p "..." = run one task) |
| Cursor CLI | cursor-agent -p "{task}" | ⏳ command shape pending field test (install via cursor.com; the npm cursor-agent package is unrelated) |
| WorkBuddy | workbuddy -p "{task}" | ⏳ command shape pending field test |
Install packages were verified against the npm registry: Kimi is
@moonshot-ai/kimi-code(binkimi), Grok is@xai-official/grok(bingrok), Copilot is@github/copilot(bincopilot), Codex is@openai/codex. Thekimi-clinpm package is an unrelated placeholder with no binary — do not use it.
📦 Optional: bundle install (host-only tool)
This repo is also a host-only dsh bundle (declares dsh.bundle, zero client code — the Web UI is untouched). One command installs the conductor_dispatch tool into a profile:
dsh plugin --profile web add github:MJorgin/dsh-agent-conductor
- The tool and the skill share the same CLI registry (
index.js⇄conductor-dynamic.js⇄dispatch.py— keep the three in sync when adding CLIs); - No client half, so the Web UI is never affected (the early panel-carrying client version was removed — see git log);
- Hardened host execution: explicitly declares the
subprocessdependency, enforces a real 10-minute timeout that terminates the whole process tree (also on cancel — no orphaned CLIs), and clips over-long output (head + tail, ~20k chars) so a chatty agent can't blow up the context; - Panels / task-board recycling are on the roadmap.
📂 Repo layout
index.js # bundle host half: conductor_dispatch tool (host-only)
cordis.patch.yml # bundle layer (one row, no client)
skills/conductor/SKILL.md # skill definition: trigger description + dispatch rules + privacy
skills/conductor/scripts/dispatch.py # dispatch engine (Python stdlib, zero deps)
conductor-dynamic.js # alternative: dynamic-plugin edition (cordis_define route)
🗺️ Roadmap
- Panel UI (optional, dynamic-plugin client half)
- Task-board recycling: dispatch results written back to dsh-task-board cards
- Squad orchestration: one task fanned out to several agents and merged (Multica squads shape)
🔑 Keys & privacy
- Keys are never stored in this repo. The skill script reads env vars, then
~/.dsh/secrets/media-tools.env(same convention as dsh-media-skills). - Task text is sent to the target CLI's provider — never put secrets or internal data into a task.
- Results belong to the target CLI's terms of service; mark deliverables as "done by
".
License
Related
- 🎨 dsh-media-skills — free vision & image generation for DSH (GLM-4V-Flash + Qwen3-VL + Gemini failover)
- 📬 Community listing PR: awesome-dsh-plugin#664
- 📋 awesome-dsh-plugin · ecosystem index: dsh-plugin topic
- 🎯 Benchmarks: Multica (multi-agent workbench) · dsh-web-ui (task board)
Comments
Loading…
Similar plugins
by ZSeven-W
DeepSeek Harness (DSH) plugin: dispatch work to DSH agents from Claude Code / Codex — native subagent progress, in-host worker sessions with per-tier presets, and a multimodal bridge that lends the te
★ 189
MIT
JavaScript
Oct 8, 2026
dsh plugin --profile web add @zseven-w/dsh-crewby Lawrence7y
把其他 agent harness(opencode / Antigravity / claude / codex / ZCode / MiMo / Cursor / Qoder …)接入 DeepSeek Harness:作为 DSH 子代理派发任务、指定各家模型,并在设置页查看已配置的 harness
★ 0
BSD-3-Clause
TypeScript
Oct 19, 2026
dsh plugin --profile web add @dsh-external/dsh-harness-pilotby vit-cerny
Import the models, providers, API keys and OAuth logins that other agent harnesses keep on your machine (opencode, Codex/ChatGPT, Claude Code, Gemini, Qwen, .env) into DeepSeek Harness, with a clean S
★ 0
MIT
JavaScript
Oct 23, 2026
dsh plugin --profile web add dsh-import-modelsby ESROAMER
Delegate tasks from Codex to desktop-visible DeepSeek Harness agents, with scoped credentials, persistent sessions and a reusable skill.
★ 1
MIT
JavaScript
Oct 6, 2026
dsh plugin --profile web add @esroamer/codex-dsh-collabby saitamahang
Import, validate, manage, and migrate Agent Skills for DeepSeek Harness (DSH), Claude Code, Codex, and other AI coding agents.
★ 2
↓ 64/wk
MIT
TypeScript
Oct 8, 2026
dsh plugin --profile web add dsh-skill-importerby Jesse-njx
Every skill you already have — Claude Code, Codex, Cursor, Gemini CLI — works in DSH: Agent Skills SKILL.md discovery, Tier-2 conversions, find_skill search, and a skills doctor
★ 3
MIT
TypeScript
Aug 13, 2026
dsh plugin --profile web add @dsh-skillport/bundle