Skip to content

Releases: MJorgin/dsh-agent-conductor

v0.3.1 — Dry-run 预览 · doctor 汇总 · 能力矩阵 · 可复制模板

Choose a tag to compare

@MJorgin MJorgin released this 30 Sep 02:44

本版亮点

👀 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>" (alias plan) 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 takes dryRun: true and skips loading subprocess entirely.
  • doctor summary 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_dispatch enabled.
  • Fixes — argument-boundary handling, and shellQuote() / resolveCwd() parity between the dynamic plugin and index.js.

v0.3.0 — doctor self-check, hardened host execution, verified CLI flags

Choose a tag to compare

@MJorgin MJorgin released this 01 Sep 11:27
d6d2eab

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 subprocess dependency.
  • 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), not github-copilot; headless is copilot -p "<task>" --allow-all-tools (non-interactive mode requires tool auto-approval).
  • Kimi: install package is @moonshot-ai/kimi-code (bin kimi); the kimi-cli npm package is an unrelated placeholder with no binary. kimi -p/--prompt confirmed from the CLI's own help.
  • Grok: install package is @xai-official/grok (bin grok); grok -p confirmed 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

Choose a tag to compare

@MJorgin MJorgin released this 24 Aug 04:04

What's new in v0.2.1

  • Fix: conductor_dispatch spawn cwd was hardcoded to a local path — now honors CONDUCTOR_CWD env (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