Add OpenCode agent backend - #40
Conversation
|
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
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 |
Summary
Adds an optional
opencodeagent backend, with its provider/model selection passed as ordinary role arguments.Also included:
SWARMFORGE_CONFIGselection of an alternate project-local configuration; andCloses #39.
Scope change
This PR previously also carried the Mistral Vibe backend. Vibe has been split out into #46 and its own PR so that each backend can be reviewed independently. This branch no longer references Vibe at all.
Validation
bb teston this branch, compared against unmodifiedmainon the same host:mainThe two errors are
close-swarm-kills-tmux-sessions-and-stops-daemonandswarmforge-detects-nonzero-pane-base-index, which both requiretmuxand error identically on unmodifiedmainin this tmux-less host environment. No new failures are introduced. The full suite previously passed in a mountless aarch64 Lima guest.New coverage:
opencode-launch-command-passes-model-and-initial-promptswarmforge-role-only-instruction-profile-is-explicit-and-boundedScope and security
No credentials, telemetry, or benchmark artifacts are included. OpenCode must be installed and authenticated by the runtime owner.