Skip to content

Add OpenCode and Mistral Vibe agent backends #39

Description

@simbo1905

PR Inbound :: Add OpenCode and Mistral Vibe backends

SwarmForge currently validates and launches a small fixed set of coding-agent CLIs. This makes it awkward to use OpenCode's provider/model selection or Mistral Vibe's authenticated CLI as role backends.

I have a focused fork branch that adds both backends:

  • opencode launches OpenCode with the assigned worktree, role arguments (including --model provider/model), and the generated role prompt.
  • vibe launches Mistral Vibe programmatically in the assigned worktree with --trust --agent accept-edits --output streaming -p <role prompt>. Role arguments are passed through before -p, so a configuration can set explicit --max-turns, --max-tokens, and --max-price limits.
  • The Vibe launcher deliberately does not add --auto-approve or --yolo.
  • The branch also adds a bounded, opt-in smoke-only instruction profile and makes alternate project-local configurations selectable with SWARMFORGE_CONFIG.

Validation so far was performed in a mountless aarch64 Lima guest. The Babashka suite passed there with 27 tests / 104 assertions. Direct bounded Vibe programmatic proof passed, including streaming output and an exact marker response.

Important limitation: a Vibe role launched in programmatic streaming mode terminates after its response. Its attempt to perform a SwarmForge handoff callback reaches Vibe's approval gate, but the callback is immediately denied in this mode; therefore I am not claiming an end-to-end Vibe handoff-delivery smoke has passed. The proposed PR documents and tests the safe launch contract only, not a benchmark or a completed Vibe receiver workflow.

The corresponding focused draft PR is #40.

If folks are totally against this please vote down. If you want me to finish up the PR then vote up. This is an age where no-one seems to bother with PRs any more which is yet more "dead internet": so I would do with the encouragement.

With respect to the PR at the moment it is for OpenCode Zen and OpenCode Go and Mistral.AI vibe as I am trying them out myself. I should (with sufficient encouragement) probably split it out so that Mistral.AI is a standalone PR as it is mostly likely most similar to what is already there. OpenCode is inherently more complex as it has multiple providers, a cheap $10 sub, plus pay-as-you-go, with different limits and sometimes different models. It is totally awesome as as with Zen they host open-weight models in US, EU and Singapore so excellent fun.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions