Repository navigation
Releases: MJorgin/dsh-agent-conductor
Releases · MJorgin/dsh-agent-conductor
Release list
v0.3.1 — Dry-run 预览 · doctor 汇总 · 能力矩阵 · 可复制模板
本版亮点
👀 Dry-run 预览:先看清楚,再动手
派活之前先预览,不启动任何外部 Agent、不消耗对方额度:
python3 scripts/dispatch.py --dry-run codex "把 README 翻译成日文"
python3 scripts/dispatch.py plan codex "..." # plan 是等价别名Conductor Dry-run · 调度预览(未执行)
Target agent : Codex (codex)
Working dir : /path/to/workspace
Executable : /usr/local/bin/codex
Arguments : ['codex', 'exec', '把 README 翻译成日文']
Shell-equivalent: codex exec '把 README 翻译成日文'
Task length : 14 chars
Safety : argv is passed directly; no shell is used
目标、工作目录、参数数组、等价 shell 命令一眼可查,用来核对路径和引号转义。动态插件同样支持 —— 给 conductor_dispatch 传 dryRun: true 即可,dry-run 路径不会加载 subprocess 模块。
🩺 doctor 输出汇总
逐个探测 11 个 CLI 之后,多了一行统计,本机装了几个、能用几个一目了然:
可用 2 / 不可用 9
🧭 Agent 能力矩阵
README 新增能力矩阵,横向对比 11 个 Agent CLI 的安装包、二进制名、无头调用方式与适用场景,省去逐个试错。
📋 3 个可复制任务模板
直接抄就能用的派发模板:独立第二意见、老代码调用链排查、跨模型实现。
✅ CI 与测试
- 新增 4 个单元测试(
tests/test_dispatch.py),覆盖参数边界与 dry-run 路径; - 新增 GitHub Actions CI:Python 测试 +
index.js语法检查 + 动态插件语法检查; - 支持手动触发(Actions 页面
Run workflow),也提供 CI badge。
🐛 修复与加固
- 参数边界修复:任务文本或
--cwd为空、含引号时处理更稳妥; - 动态插件新增
shellQuote()/resolveCwd(),行为与index.js对齐; - 少一次 subprocess 请求:dry-run 下不再加载无关模块。
📚 文档
README.md(英文)与 docs/lang/README_ZH.md(简体中文)同步更新:When to use 场景、Dry-run 用法、能力矩阵、任务模板、路线图。
English digest
- Dry-run preview —
python3 scripts/dispatch.py --dry-run <agent> "<task>"(aliasplan) prints the target, working directory, argv array and the shell-equivalent command without starting any external agent and without spending its quota. The dynamic plugin takesdryRun: trueand skips loadingsubprocessentirely. doctorsummary line — now reports how many of the 11 CLIs are actually usable on this machine.- Agent capability matrix — install package, binary name, headless invocation and best-fit scenario, side by side in the README.
- 3 copy-paste task templates — independent second opinion, legacy call-chain investigation, cross-model implementation.
- CI + tests — 4 new unit tests, plus GitHub Actions running the Python suite,
node --check index.js, and a syntax check of the dynamic plugin.workflow_dispatchenabled. - Fixes — argument-boundary handling, and
shellQuote()/resolveCwd()parity between the dynamic plugin andindex.js.
v0.3.0 — doctor self-check, hardened host execution, verified CLI flags
What's new
🩺 doctor self-check
python3 scripts/dispatch.py doctor (alias list) probes which of the 11 agent CLIs are installed on PATH (resolves the binary + tries --version), with install hints for the missing ones. Run it before dispatching.
🛡️ Hardened host execution (bundle index.js + hot-plugin conductor-dynamic.js)
- Explicitly declares the
subprocessdependency. - Real 10-minute timeout that terminates the whole process tree — and also tears it down on cancel, so a hung agent CLI can't outlive the tool call (no orphans).
- Output clipping (head + tail, ~20k chars) with bounded buffering so a chatty CLI can't blow up the context.
- Working directory auto-detection: session workspace (
exec.agent.session.header.cwd) →CONDUCTOR_CWD→ harness cwd. Removes the hardcoded machine-specific cwd from the dynamic edition.
✅ CLI binaries/flags verified against npm + each CLI's --help
- Copilot: binary is
copilot(package@github/copilot), notgithub-copilot; headless iscopilot -p "<task>" --allow-all-tools(non-interactive mode requires tool auto-approval). - Kimi: install package is
@moonshot-ai/kimi-code(binkimi); thekimi-clinpm package is an unrelated placeholder with no binary.kimi -p/--promptconfirmed from the CLI's own help. - Grok: install package is
@xai-official/grok(bingrok);grok -pconfirmed from the official README. - Codex: official npm package
@openai/codex(symlink kept as an alternative). - Gemini / Qwen flags documented; only Cursor and WorkBuddy remain pending field test.
All three registries (index.js ⇄ conductor-dynamic.js ⇄ dispatch.py) stay in sync.
v0.2.1
What's new in v0.2.1
- Fix: conductor_dispatch spawn cwd was hardcoded to a local path — now honors
CONDUCTOR_CWDenv (same contract as dispatch.py) with process.cwd() fallback - English main README + Chinese version at docs/lang/README_ZH.md
- package metadata (repository/homepage/keywords)
Install: dsh plugin --profile web add github:MJorgin/dsh-agent-conductor