dsh-agent-conductor

agent
Security Audit
Warn
Health Warn
  • License — License: MIT
  • Description — Repository has a description
  • Active repo — Last push 0 days ago
  • Low visibility — Only 5 GitHub stars
Code Warn
  • process.env — Environment variable access in index.js
Permissions Pass
  • Permissions — No dangerous permissions requested

No AI report is available for this listing yet.

SUMMARY

⚡ 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.

README.md
dsh-agent-conductor — in-session cross-agent dispatch for DeepSeek Harness

⚡ 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.

License: MIT
DeepSeek Harness
Zero deps
Agents

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
👥 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 (symlink to PATH when you already have codex-cli)
ln -s ~/.codex/plugins/.plugin-appserver/codex ~/.local/bin/codex
# Claude Code / OpenCode
npm i -g @anthropic-ai/claude-code
npm i -g opencode-ai
# TraeCode CLI: https://docs.trae.cn/cli_command-line-parameters

Codex requires a trusted git repo as its working directory: write CONDUCTOR_CWD=/path/to/git/repo into ~/.dsh/secrets/media-tools.env (or export it). The skill script and the bundle tool both honor it, falling back to the current working directory.
To let the dispatched agent write files: add sandbox_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 ✅ per official docs
TraeCode traecli exec "{task}" ✅ per official docs
OpenCode opencode run "{task}" ✅ per official docs
Gemini / Cursor / Kimi / Qwen / Copilot / WorkBuddy / Grok see the dispatch.py registry ⏳ command shape pending field test

📦 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.jsdispatch.py — keep them 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);
  • 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

MIT

Related

Reviews (0)

No results found