opencode-swarm 7.18.1 → 7.18.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +35 -22
- package/dist/cli/index.js +282 -45
- package/dist/commands/council.d.ts +1 -1
- package/dist/commands/doctor.d.ts +7 -2
- package/dist/commands/index.d.ts +2 -1
- package/dist/commands/registry.d.ts +1 -0
- package/dist/index.js +343 -64
- package/dist/services/config-doctor.d.ts +15 -2
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -24,7 +24,7 @@ bunx opencode-swarm install
|
|
|
24
24
|
|
|
25
25
|
> This single command installs the package, registers it as an OpenCode plugin, disables conflicting default agents, and creates a ready-to-edit config at `~/.config/opencode/opencode-swarm.json`. Requires [Bun](https://bun.sh) (`bun --version` to check). If you must use npm: `npm install -g opencode-swarm && opencode-swarm install`.
|
|
26
26
|
|
|
27
|
-
> ⚠️ **
|
|
27
|
+
> ⚠️ **Select a Swarm architect before starting work.** The installer registers Swarm architect agents as primary choices, but the default OpenCode `Build` and `Plan` modes **bypass this plugin entirely** — none of the gates, reviewers, or test agents below run. Open the OpenCode mode/agent picker and choose `architect` or a `*_architect`; it then coordinates every other agent automatically. If you ever see Swarm "do nothing," this is almost always the cause.
|
|
28
28
|
|
|
29
29
|
### Why Swarm?
|
|
30
30
|
|
|
@@ -41,7 +41,7 @@ Most AI coding tools let one model write code and ask that same model whether th
|
|
|
41
41
|
- 🆓 **Free tier** — works with OpenCode Zen's free model roster
|
|
42
42
|
- ⚙️ **Fully configurable** — override any agent's model, disable agents, tune guardrails
|
|
43
43
|
|
|
44
|
-
> **The Swarm architect
|
|
44
|
+
> **The Swarm architect coordinates all other agents automatically after you select it.** You never manually switch between internal roles. If you use the default OpenCode `Build` / `Plan` modes, the plugin is bypassed entirely (see the install warning above).
|
|
45
45
|
|
|
46
46
|
---
|
|
47
47
|
|
|
@@ -126,9 +126,9 @@ The 15-minute guide covers:
|
|
|
126
126
|
- Troubleshooting common issues
|
|
127
127
|
|
|
128
128
|
On first run, Swarm automatically:
|
|
129
|
-
- Creates project config at `.opencode/opencode-swarm.json`
|
|
130
|
-
-
|
|
131
|
-
- Shows a welcome message with next steps
|
|
129
|
+
- Creates project config at `.opencode/opencode-swarm.json` if missing
|
|
130
|
+
- Registers Swarm architect agents as primary choices in OpenCode
|
|
131
|
+
- Shows a welcome message with next steps the first time you run `/swarm`
|
|
132
132
|
|
|
133
133
|
---
|
|
134
134
|
|
|
@@ -142,8 +142,7 @@ No animated GIF is shipped in the repo — instead, here is the exact terminal s
|
|
|
142
142
|
# 1. Install the plugin (5s)
|
|
143
143
|
bunx opencode-swarm install
|
|
144
144
|
|
|
145
|
-
# 2. Open opencode
|
|
146
|
-
# (the architect is auto-selected; manual selection is only needed to override)
|
|
145
|
+
# 2. Open opencode and select the Swarm architect in the agent/mode picker
|
|
147
146
|
opencode
|
|
148
147
|
|
|
149
148
|
# 3. Inside the OpenCode session, verify Swarm is live (5s)
|
|
@@ -167,7 +166,7 @@ Build me a JWT auth helper with tests.
|
|
|
167
166
|
│ ✓ created .opencode/opencode-swarm.json │
|
|
168
167
|
│ │
|
|
169
168
|
│ $ opencode │
|
|
170
|
-
│ [Swarm] Welcome!
|
|
169
|
+
│ [Swarm] Welcome! Run /swarm diagnose, then /swarm agents │
|
|
171
170
|
│ │
|
|
172
171
|
│ > /swarm help │
|
|
173
172
|
│ Available commands: status, plan, agents, help, diagnose... │
|
|
@@ -218,7 +217,7 @@ in your `opencode-swarm.json`.
|
|
|
218
217
|
|
|
219
218
|
## Commands
|
|
220
219
|
|
|
221
|
-
|
|
220
|
+
Core subcommands at a glance:
|
|
222
221
|
|
|
223
222
|
```bash
|
|
224
223
|
/swarm help [command] # List all commands or get detailed help for a specific command
|
|
@@ -232,9 +231,17 @@ All 43 subcommands at a glance:
|
|
|
232
231
|
|
|
233
232
|
Use `/swarm help` to see all available commands categorized by function. Use `/swarm help <command>` for detailed usage information on a specific command.
|
|
234
233
|
|
|
234
|
+
> ⚠️ **Chat-typed `/swarm` is currently LLM-mediated.** The OpenCode runtime invokes the model unconditionally after the plugin handles a `command.execute.before` slash command (upstream issue [anomalyco/opencode#9306](https://github.com/anomalyco/opencode/issues/9306)). What you see in chat is the model's reformulation of the canonical handler output, which can drift on weak models or in long sessions. For deterministic, scriptable output, run the underlying command directly:
|
|
235
|
+
>
|
|
236
|
+
> ```bash
|
|
237
|
+
> bunx opencode-swarm run <subcommand> # e.g. bunx opencode-swarm run agents
|
|
238
|
+
> ```
|
|
239
|
+
>
|
|
240
|
+
> This is a temporary mitigation. A deterministic in-chat path (either a `swarm` MCP tool or upstream `noReply` support) is tracked separately.
|
|
241
|
+
|
|
235
242
|
Nine commands display a ⚠️ warning in help output because they share names with Claude Code built-in slash commands (e.g., `/plan`, `/reset`, `/status`). The warning reminds you to always use `/swarm <command>` — the bare CC command does something different and sometimes destructive. See [docs/commands.md#claude-code-command-conflicts](docs/commands.md#claude-code-command-conflicts) for the full conflict registry.
|
|
236
243
|
|
|
237
|
-
See [docs/commands.md](docs/commands.md) for the full reference
|
|
244
|
+
See [docs/commands.md](docs/commands.md) for the full command reference.
|
|
238
245
|
|
|
239
246
|
## Command Aliases
|
|
240
247
|
|
|
@@ -368,11 +375,14 @@ No API key required. Excellent starting point:
|
|
|
368
375
|
"agents": {
|
|
369
376
|
"coder": { "model": "opencode/minimax-m2.5-free" },
|
|
370
377
|
"reviewer": { "model": "opencode/big-pickle" },
|
|
378
|
+
"critic": { "model": "opencode/big-pickle" },
|
|
371
379
|
"explorer": { "model": "opencode/big-pickle" }
|
|
372
380
|
}
|
|
373
381
|
}
|
|
374
382
|
```
|
|
375
383
|
|
|
384
|
+
Zen's roster changes. Always confirm current IDs with `/models` in OpenCode or `https://opencode.ai/zen/v1/models` before pasting a model into config. Do not copy private workspace providers such as `grove-openai/*` unless that provider appears in your own OpenCode model list.
|
|
385
|
+
|
|
376
386
|
### Paid Providers
|
|
377
387
|
|
|
378
388
|
For production, mix providers by role:
|
|
@@ -381,11 +391,14 @@ For production, mix providers by role:
|
|
|
381
391
|
|---|---|---|
|
|
382
392
|
| architect | OpenCode UI selection | Needs strongest reasoning |
|
|
383
393
|
| coder | minimax-coding-plan/MiniMax-M2.5 | Fast, accurate code generation |
|
|
384
|
-
|
|
|
385
|
-
|
|
|
394
|
+
| critic | opencode/gpt-5.5 or your strongest reasoning model | Challenges the architect before coding |
|
|
395
|
+
| reviewer | zai-coding-plan/glm-5 or a different strong model | Different training from coder |
|
|
396
|
+
| test_engineer | opencode/big-pickle or another model distinct from coder | Catches test blind spots |
|
|
386
397
|
| explorer | google/gemini-2.5-flash | Fast read-heavy analysis |
|
|
387
398
|
| sme | kimi-for-coding/k2p5 | Strong domain expertise |
|
|
388
399
|
|
|
400
|
+
Model assignment rule of thumb: architect and critic should be your strongest pair, and they should not be the same blind spot. Coder/test_engineer can be faster coding models; explorer/docs/curator can be cheaper readers. Do not put a premium model on `designer` while leaving `critic` on a weaker model.
|
|
401
|
+
|
|
389
402
|
### Provider Formats
|
|
390
403
|
|
|
391
404
|
| Provider | Format | Example |
|
|
@@ -406,7 +419,7 @@ Automatic fallback to a secondary model on transient errors:
|
|
|
406
419
|
"agents": {
|
|
407
420
|
"coder": {
|
|
408
421
|
"model": "anthropic/claude-sonnet-4-20250514",
|
|
409
|
-
"fallback_models": ["opencode/
|
|
422
|
+
"fallback_models": ["opencode/big-pickle"]
|
|
410
423
|
}
|
|
411
424
|
}
|
|
412
425
|
}
|
|
@@ -1144,15 +1157,15 @@ Config file location: `~/.config/opencode/opencode-swarm.json` (global) or `.ope
|
|
|
1144
1157
|
```json
|
|
1145
1158
|
{
|
|
1146
1159
|
"agents": {
|
|
1147
|
-
"architect": { "model": "
|
|
1148
|
-
"coder": { "model": "minimax-
|
|
1149
|
-
"explorer": { "model": "
|
|
1150
|
-
"sme": { "model": "kimi-
|
|
1151
|
-
"critic": { "model": "
|
|
1160
|
+
"architect": { "model": "opencode/claude-opus-4-6" },
|
|
1161
|
+
"coder": { "model": "opencode/minimax-m2.5", "fallback_models": ["opencode/big-pickle"] },
|
|
1162
|
+
"explorer": { "model": "opencode/big-pickle" },
|
|
1163
|
+
"sme": { "model": "opencode/kimi-k2.6" },
|
|
1164
|
+
"critic": { "model": "opencode/gpt-5.5" },
|
|
1152
1165
|
"reviewer": { "model": "zai-coding-plan/glm-5", "fallback_models": ["opencode/big-pickle"] },
|
|
1153
|
-
"test_engineer": { "model": "minimax-
|
|
1154
|
-
"docs": { "model": "
|
|
1155
|
-
"designer": { "model": "kimi-
|
|
1166
|
+
"test_engineer": { "model": "opencode/minimax-m2.5" },
|
|
1167
|
+
"docs": { "model": "opencode/big-pickle" },
|
|
1168
|
+
"designer": { "model": "opencode/kimi-k2.6" }
|
|
1156
1169
|
},
|
|
1157
1170
|
"guardrails": {
|
|
1158
1171
|
"max_tool_calls": 200,
|
|
@@ -1401,7 +1414,7 @@ bun test
|
|
|
1401
1414
|
- [Installation Guide](docs/installation.md) — comprehensive reference
|
|
1402
1415
|
- [Architecture Deep Dive](docs/architecture.md) — control model, pipeline, tools
|
|
1403
1416
|
- [Design Rationale](docs/design-rationale.md) — why every major decision
|
|
1404
|
-
- [Commands Reference](docs/commands.md) —
|
|
1417
|
+
- [Commands Reference](docs/commands.md) — full `/swarm` command reference
|
|
1405
1418
|
- [Modes Guide](docs/modes.md) — session modes (Turbo, Full-Auto) and project modes (strict/balanced/fast)
|
|
1406
1419
|
- [Configuration](docs/configuration.md) — all config keys and examples
|
|
1407
1420
|
- [Planning Guide](docs/planning.md) — task format, phase structure, sizing
|