返回插件市场

dsh-agent-conductor

Agent 与工作流

MJorgin/dsh-agent-conductor

为 DeepSeek Harness 提供会话内调度,可派发任务给 11 个外部 agent CLI(Codex、Claude Code 等),零依赖技能和仅宿主 bundle。

  • agent
  • claude-code
  • codex
  • deepseek-harness
  • dsh-plugin
  • multica
  • task-board
GitHub Stars
6GitHub
浏览量
0DSH Plugin Hub
Forks
0GitHub
开放问题
0GitHub Issues
Manifest 版本
0.2.0dsh-agent-conductor
最近推送
2026年8月21日GitHub
许可证
MITJavaScript
插件类型
Host运行于 DSH Host

README

查看源文件

⚡ 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

CapabilityWhat it doesCost
🧠 Auto-triggered dispatchSay "have Codex translate this README" — the model matches the skill, runs the dispatch script, and answers from the resultFree (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 commandFree
👥 11 agent CLIsCodex, Claude Code, TraeCode, OpenCode, Gemini, Cursor, Kimi, Qwen, Copilot, WorkBuddy, GrokTheir login quotas
🔒 PrivacyTask text goes only to the CLI's own provider; keys stay local

🧭 Why a Skill (and not just a plugin)

profile plugin / bundledynamic pluginSkill (this repo)
Installwrite profile + restartdefine in-sessioncopy a folder
Triggermanualmodel calls a tooldescription matching, model auto-recognizes
Risktouches the hostsession-scoped, gone on restartread-only script, host-agnostic
Resulttool resulttool resultstdout 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

CLIHeadless commandStatus
Codexcodex exec "{task}"✅ field-tested (translation task delivered)
Claude Codeclaude -p "{task}" --output-format text✅ per official docs
TraeCodetraecli exec "{task}"✅ per official docs
OpenCodeopencode run "{task}"✅ per official docs
Gemini / Cursor / Kimi / Qwen / Copilot / WorkBuddy / Groksee 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

评论

0
最新优先