Skip to content

Add OpenCode and Mistral Vibe agent backends - #40

Draft
simbo1905 wants to merge 6 commits into
unclebob:mainfrom
simbo1905:simbo1905
Draft

Add OpenCode and Mistral Vibe agent backends#40
simbo1905 wants to merge 6 commits into
unclebob:mainfrom
simbo1905:simbo1905

Conversation

@simbo1905

@simbo1905 simbo1905 commented Jul 31, 2026

Copy link
Copy Markdown

Summary Of Draft State

Adds two optional agent backends:

  • opencode, with its provider/model selection passed as ordinary role arguments.
  • vibe, using Mistral Vibe's authenticated programmatic interface in the assigned worktree: --trust --agent accept-edits --output streaming -p <role prompt>.

Vibe role arguments pass through before -p, allowing bounded smoke configurations to provide --max-turns, --max-tokens, and --max-price. The backend never adds --auto-approve or --yolo by default.

Also included:

  • focused launcher tests;
  • an opt-in, smoke-only role instruction profile for bounded diagnostics;
  • SWARMFORGE_CONFIG selection of an alternate project-local configuration; and
  • a handoff-daemon detachment fix so the daemon follows its explicit stop-file lifecycle rather than a terminal bridge.

Closes #39.

Validation

  • bb test in the mountless aarch64 Lima guest: 27 tests / 104 assertions passed.
  • Direct bounded Vibe programmatic request passed with streaming output and an exact marker response.

Known limitation

This is intentionally not presented as a successful Vibe end-to-end handoff smoke. Vibe's programmatic streaming invocation exits after responding. A callback attempt reaches Vibe's approval gate but is immediately denied in this mode, so end-to-end delivery to a Vibe receiver has not been proven. The PR establishes and tests the safe launch contract; it does not claim a benchmark result or a persistent Vibe receiver workflow.

Scope and security

No credentials, user Vibe configuration, project-specific runtime shim, NOOA material, telemetry, or benchmark artifacts are included. Vibe must be installed and authenticated by the runtime owner.

@simbo1905

Copy link
Copy Markdown
Author

Hey @unclebob

This one is a little half baked so far as is making some arbitrary decisions such as it picking run this open model to keep my token costs down while I am trying things out myself

"--model opencode-go/qwen3.7-plus --auto"

I think there is an case to be made that I split out mistral.ai as its a mono provider backend; so it has its own standard model defaults. So that can probably get onto main faster.

On the question of what is the default provider for OpenCode (Go at $10 a month, or Zen with pay-as-you-go), and the default models. There are Deepseek, Kimi and others hosted in US, EU and Singapore on OpenCode. That makes things more complex but a ton of fun https://opencode.ai/docs/zen/#pricing

It could be fun to come up with some swarm-forge benchmark tasks and to then different mix and matches of open and proprietary models perhaps a "Swarm Bench"...

Give me a thumbs up if you want me to pursue this.

Simon

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Add OpenCode and Mistral Vibe agent backends

1 participant