@polderlabs/bizar 3.12.4 → 3.13.0

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 CHANGED
@@ -66,17 +66,17 @@
66
66
 
67
67
  | Agent | Rune | Model | Cost | Role |
68
68
  |---|---|---|---|---|
69
- | **Odin** | ᛟ | OpenRouter minimax-m3 | $0.30/M · $1.20/M out | Primary router — never executes, only delegates |
69
+ | **Odin** | ᛟ | MiniMax M3 | $0.30/M · $1.20/M out | Primary router — never executes, only delegates |
70
70
  | **Frigg** | ᚠ | DeepSeek V4 Flash | **Free** | Read-only Q&A — ask questions, get answers, never modifies |
71
71
  | **Vör** | ᛢ | DeepSeek V4 Flash | **Free** | Clarifies ambiguous requests — asks questions until task is well-defined |
72
72
  | **Mimir** | ᛗ | DeepSeek V4 Flash | **Free** | Research & codebase exploration (Semble-first) |
73
73
  | **Heimdall** | ᚹ | DeepSeek V4 Flash | **Free** | Simple tasks, quick edits, file operations |
74
- | **Hermod** | ᚱ | OpenRouter minimax-m2.7 | $0.30/M · $1.20/M out | Git & GitHub operations (commit, PR, merge, rebase) |
75
- | **Thor** | ᚦ | OpenRouter minimax-m2.7 | $0.30/M · $1.20/M out | Moderate implementation, debugging, refactoring |
76
- | **Baldr** | ᛒ | OpenRouter minimax-m2.7 | $0.30/M · $1.20/M out | UI/UX design system (DESIGN.md plans, visual audits) |
77
- | **Tyr** | ᛏ | OpenRouter minimax-m3 | $0.30/M · $1.20/M out | Complex implementation, architecture, deep debugging |
74
+ | **Hermod** | ᚱ | MiniMax M2.7 | $0.30/M · $1.20/M out | Git & GitHub operations (commit, PR, merge, rebase) |
75
+ | **Thor** | ᚦ | MiniMax M2.7 | $0.30/M · $1.20/M out | Moderate implementation, debugging, refactoring |
76
+ | **Baldr** | ᛒ | MiniMax M2.7 | $0.30/M · $1.20/M out | UI/UX design system (DESIGN.md plans, visual audits) |
77
+ | **Tyr** | ᛏ | MiniMax M3 | $0.30/M · $1.20/M out | Complex implementation, architecture, deep debugging |
78
78
  | **Vidarr** | ᛉ | GPT-5.5 | Subscription | Last resort — GPT-5.5 |
79
- | **Forseti** | ᚨ | OpenRouter minimax-m3 | $0.30/M · $1.20/M out | Adversarial plan reviewer (edit: deny, audit-only) |
79
+ | **Forseti** | ᚨ | MiniMax M3 | $0.30/M · $1.20/M out | Adversarial plan reviewer (edit: deny, audit-only) |
80
80
 
81
81
  ---
82
82
 
@@ -303,7 +303,7 @@ After installation, run `/connect` in opencode to add API keys:
303
303
  | Provider | Models | Auth |
304
304
  |---|---|---|
305
305
  | **OpenCode Zen** | `opencode/deepseek-v4-flash-free` | Free API key from [opencode.ai](https://opencode.ai) — create account, get key, no charges |
306
- | **OpenRouter** | `openrouter/minimax/minimax-m2.7`, `openrouter/minimax/minimax-m3` | API key from [openrouter.ai](https://openrouter.ai) |
306
+ | **MiniMax (direct)** | `minimax/MiniMax-M2.7`, `minimax/MiniMax-M3` | API key from [MiniMax](https://platform.minimaxi.com) |
307
307
  | **OpenAI** | `openai/gpt-5.5` | ChatGPT subscription (OAuth) |
308
308
 
309
309
  Then run `/models` to verify connectivity.
package/cli/audit.mjs CHANGED
@@ -78,8 +78,8 @@ export async function runAudit() {
78
78
  const model = modelMatch[1].trim();
79
79
  const validModels = [
80
80
  'opencode/deepseek-v4-flash-free',
81
- 'openrouter/minimax/minimax-m2.7',
82
- 'openrouter/minimax/minimax-m3',
81
+ 'minimax/MiniMax-M2.7',
82
+ 'minimax/MiniMax-M3',
83
83
  'openai/gpt-5.5',
84
84
  ];
85
85
  if (!validModels.includes(model)) {
package/cli/bin.mjs CHANGED
@@ -284,7 +284,7 @@ function showDoctorHelp() {
284
284
  • core agent files are installed (odin, quick, thor, tyr)
285
285
  • rtk / semble / skills on PATH (lenient — at least one)
286
286
  • dashboard reachable (skipped if no port file)
287
- • provider.openrouter block + MiniMax model flags are sane
287
+ • provider.minimax block + MiniMax model flags are sane
288
288
 
289
289
  Prints ✓/✗ for each check and a final summary. Exits non-zero
290
290
  if any check fails. Use \`bizar doctor\` after a manual config
package/cli/doctor.mjs CHANGED
@@ -211,11 +211,11 @@ async function checkProviderConfigSanity() {
211
211
  throw new Error('opencode.json missing');
212
212
  }
213
213
  const cfg = JSON.parse(readFileSync(cfgPath, 'utf8'));
214
- const openrouter = cfg.provider && cfg.provider.openrouter;
215
- if (!openrouter) {
216
- throw new Error('provider.openrouter block missing');
214
+ const minimax = cfg.provider && cfg.provider.minimax;
215
+ if (!minimax) {
216
+ throw new Error('provider.minimax block missing');
217
217
  }
218
- const models = openrouter.models || {};
218
+ const models = minimax.models || {};
219
219
  const saneNames = Object.entries(models).filter(([, m]) => {
220
220
  return (
221
221
  m &&
@@ -229,7 +229,7 @@ async function checkProviderConfigSanity() {
229
229
  'no MiniMax-style model with interleaved + reasoning flags',
230
230
  );
231
231
  }
232
- return `provider.openrouter + ${saneNames.length} model(s) sane`;
232
+ return `provider.minimax + ${saneNames.length} model(s) sane`;
233
233
  }
234
234
 
235
235
  const CHECKS = [
@@ -296,18 +296,18 @@ describe('runDoctor() with fixture HOME', () => {
296
296
  assert.equal(r.ok, true, r.message);
297
297
  });
298
298
 
299
- test('provider-config-sanity fails without openrouter block', async () => {
299
+ test('provider-config-sanity fails without minimax block', async () => {
300
300
  writeOpencodeConfig({ provider: {} });
301
301
  const result = await runDoctor({ silent: true });
302
302
  const r = findCheck(result, 'provider-config-sanity');
303
303
  assert.equal(r.ok, false);
304
- assert.match(r.message, /openrouter/);
304
+ assert.match(r.message, /minimax/);
305
305
  });
306
306
 
307
307
  test('provider-config-sanity fails when models lack interleaved+reasoning', async () => {
308
308
  writeOpencodeConfig({
309
309
  provider: {
310
- openrouter: {
310
+ minimax: {
311
311
  models: { 'some-model': { id: 'foo' } },
312
312
  },
313
313
  },
@@ -321,7 +321,7 @@ describe('runDoctor() with fixture HOME', () => {
321
321
  test('provider-config-sanity passes with interleaved+reasoning', async () => {
322
322
  writeOpencodeConfig({
323
323
  provider: {
324
- openrouter: {
324
+ minimax: {
325
325
  models: {
326
326
  'MiniMax/MiniMax-M3': { interleaved: true, reasoning: true },
327
327
  },
package/config/AGENTS.md CHANGED
@@ -126,7 +126,7 @@ Follow `rules/uncertainty.md` strictly. When uncertain or stuck, the next move i
126
126
 
127
127
  This system uses a 5-tier model architecture with a verification gate:
128
128
 
129
- ### Odin (default agent, OpenRouter minimax-m3)
129
+ ### Odin (default agent, MiniMax M3 direct)
130
130
 
131
131
  Odin (`@odin`) is the All-Father and primary/default agent. He analyzes each request and **decomposes it into independent work streams** — **he never executes work himself**:
132
132
  - **Identifies parallelizable work** and launches multiple subagent `task` calls in a **single message** (always 2+)
@@ -171,25 +171,25 @@ Odin (`@odin`) is the All-Father and primary/default agent. He analyzes each req
171
171
 
172
172
  ### Hermod
173
173
 
174
- - **Model**: `openrouter/minimax/minimax-m2.7` (via OpenRouter)
174
+ - **Model**: `minimax/MiniMax-M2.7` (via MiniMax (direct))
175
175
  - **Use for**: Git and GitHub operations — commit, push, merge, PRs, branches, conflict resolution. The swift messenger.
176
176
  - **Cost**: $0.30/M input, $1.20/M output
177
177
 
178
178
  ### Thor
179
179
 
180
- - **Model**: `openrouter/minimax/minimax-m2.7` (via OpenRouter)
180
+ - **Model**: `minimax/MiniMax-M2.7` (via MiniMax (direct))
181
181
  - **Use for**: Moderate complexity features, debugging, code review, refactoring
182
182
  - **Cost**: $0.30/M input, $1.20/M output — cheaper than Tyr, more capable than Heimdall
183
183
 
184
184
  ### Baldr
185
185
 
186
- - **Model**: `openrouter/minimax/minimax-m2.7` (via OpenRouter)
186
+ - **Model**: `minimax/MiniMax-M2.7` (via MiniMax (direct))
187
187
  - **Use for**: Design system creation, DESIGN.md, visual audit, usability planning. Creates design plans — does not implement.
188
188
  - **Cost**: $0.30/M input, $1.20/M output
189
189
 
190
190
  ### Tyr
191
191
 
192
- - **Model**: `openrouter/minimax/minimax-m3` (via OpenRouter)
192
+ - **Model**: `minimax/MiniMax-M3` (via MiniMax (direct))
193
193
  - **Use for**: Highest complexity implementation, debugging, architecture, multi-step engineering
194
194
  - **Cost**: Higher — reserved for the hardest problems
195
195
 
@@ -201,7 +201,7 @@ Odin (`@odin`) is the All-Father and primary/default agent. He analyzes each req
201
201
 
202
202
  ### Forseti
203
203
 
204
- - **Model**: `openrouter/minimax/minimax-m3` (via OpenRouter, audit-only, no edit permissions)
204
+ - **Model**: `minimax/MiniMax-M3` (via MiniMax (direct), audit-only, no edit permissions)
205
205
  - **Use for**: Adversarial plan review — audits completeness, correctness, consistency, feasibility, security
206
206
  - **Always runs before any Tier 4 or Tier 5 implementation begins**
207
207
 
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  description: Baldr — UI/UX design system specialist. Creates DESIGN.md files using Google's design.md standard (alpha). Focuses on visual consistency, usability, accessibility, and design tokens.
3
3
  mode: subagent
4
- model: openrouter/minimax/minimax-m2.7
4
+ model: minimax/MiniMax-M2.7
5
5
  color: "#ec4899"
6
6
  permission:
7
7
  read: allow
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  description: Forseti — Audits, criticizes, and corrects implementation plans before execution using MiniMax M3. No write permissions — review only.
3
3
  mode: subagent
4
- model: openrouter/minimax/minimax-m3
4
+ model: minimax/MiniMax-M3
5
5
  color: "#ef4444"
6
6
  permission:
7
7
  read: allow
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  description: Hermod — Git and GitHub operations specialist using MiniMax M2.7. Branching, commits, PRs, merge/rebase, conflict resolution, CI/CD, releases, gh CLI.
3
3
  mode: subagent
4
- model: openrouter/minimax/minimax-m2.7
4
+ model: minimax/MiniMax-M2.7
5
5
  color: "#06b6d4"
6
6
  permission:
7
7
  read: allow
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  description: Odin — Pure router that delegates all work to subagents. Routes across Frigg (DeepSeek/Q&A), Vör (DeepSeek/clarify), Mimir (DeepSeek/research), Heimdall (DeepSeek/simple), Hermod (M2.7/git), Thor (M2.7/mid), Baldr (M2.7/design), Tyr (M3/top), Vidarr (GPT-5.5/ultra), Forseti (verifier/M3).
3
3
  mode: primary
4
- model: openrouter/minimax/minimax-m3
4
+ model: minimax/MiniMax-M3
5
5
  color: "#6366f1"
6
6
  permission:
7
7
  task: allow
@@ -53,8 +53,8 @@ When you get ANY request:
53
53
  4. After all return, synthesize the results
54
54
 
55
55
  For implementation work, you have two parallel implementation agents:
56
- - **@thor** (OpenRouter minimax-m2.7) — moderate complexity, cheaper
57
- - **@tyr** (OpenRouter minimax-m3) — complex work, more expensive
56
+ - **@thor** (MiniMax M2.7) — moderate complexity, cheaper
57
+ - **@tyr** (MiniMax M3) — complex work, more expensive
58
58
 
59
59
  **ALWAYS use both.** Split each implementation task across them. For example:
60
60
  - Frontend parts → @thor, Backend parts → @tyr
@@ -100,7 +100,7 @@ For deep codebase research, pattern discovery, documentation analysis:
100
100
  ### Simple Tasks & Quick Edits — Route to @heimdall (DeepSeek V4 Flash Free, free)
101
101
  For any simple, mechanical, or deterministic work:
102
102
 
103
- ### Git Operations — Route to @hermod (MiniMax M2.7 via OpenRouter)
103
+ ### Git Operations — Route to @hermod (MiniMax M2.7)
104
104
  For any git or GitHub workflow:
105
105
  - Committing, pushing, pulling, branching, merging, rebasing
106
106
  - Pull request creation, review, and management
@@ -117,7 +117,7 @@ When the user asks for `@hermod /pr-review` or a PR review:
117
117
  2. @hermod waits for both, synthesizes the review, and posts as a PR comment
118
118
  3. @hermod has write access to post PR comments via `gh pr comment`
119
119
 
120
- ### Design System & Visual Planning — Route to @baldr (MiniMax M2.7 via OpenRouter)
120
+ ### Design System & Visual Planning — Route to @baldr (MiniMax M2.7)
121
121
  For any task that touches visuals, usability, or design systems:
122
122
  - Creating DESIGN.md files (Google design.md standard — YAML tokens + prose sections)
123
123
  - Auditing visual consistency across a codebase (10-dimension scoring)
@@ -129,7 +129,7 @@ For any task that touches visuals, usability, or design systems:
129
129
 
130
130
  Baldr creates design plans. Baldr does NOT implement code — that goes to @thor or @tyr after the plan is approved.
131
131
 
132
- ### Moderate Complexity — Route to @thor (MiniMax M2.7 via OpenRouter)
132
+ ### Moderate Complexity — Route to @thor (MiniMax M2.7)
133
133
  For tasks that need more reasoning than DeepSeek but aren't the hardest problems:
134
134
  - Implementing new features of moderate complexity
135
135
  - Debugging non-trivial issues
@@ -137,7 +137,7 @@ For tasks that need more reasoning than DeepSeek but aren't the hardest problems
137
137
  - Writing tests for non-trivial logic
138
138
  - Multi-step tasks that are well-scoped and understood
139
139
 
140
- ### Complex Work — Route to @tyr (MiniMax M3 via OpenRouter)
140
+ ### Complex Work — Route to @tyr (MiniMax M3)
141
141
  For the most demanding engineering work:
142
142
  - Complex new feature implementation from scratch
143
143
  - Deep debugging of subtle or intermittent bugs
@@ -306,7 +306,7 @@ Call `bizar_spawn_background` with:
306
306
 
307
307
  - `agent`: the agent name (e.g., "mimir", "thor", "tyr")
308
308
  - `prompt`: what to do (specific, with context)
309
- - `model`: optional, `"<providerID>/<modelID>"` format (e.g., `"openrouter/minimax/minimax-m3"`)
309
+ - `model`: optional, `"<providerID>/<modelID>"` format (e.g., `"minimax/MiniMax-M3"`)
310
310
  - `timeoutMs`: optional, default 5 min, max 30 min, min 1s
311
311
 
312
312
  You get an `instanceId` back immediately.
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  description: Quick (quick) — fast single-shot tasks. No delegation, no parallel streams. Use for small edits, mechanical changes, one-shot questions. Routes to no one.
3
3
  mode: primary
4
- model: openrouter/minimax/minimax-m2.7
4
+ model: minimax/MiniMax-M2.7
5
5
  color: "#22d3ee"
6
6
  permission:
7
7
  read: allow
@@ -1,7 +1,7 @@
1
1
  ---
2
- description: Thor — Handles medium-complexity tasks using MiniMax M2.7 from OpenRouter. Strong and reliable, cheaper than Tyr but more capable than Heimdall.
2
+ description: Thor — Handles medium-complexity tasks using MiniMax M2.7 (direct). Strong and reliable, cheaper than Tyr but more capable than Heimdall.
3
3
  mode: subagent
4
- model: openrouter/minimax/minimax-m2.7
4
+ model: minimax/MiniMax-M2.7
5
5
  color: "#a855f7"
6
6
  permission:
7
7
  read: allow
@@ -1,7 +1,7 @@
1
1
  ---
2
- description: Tyr — Handles the most complex implementation, debugging, and architectural work using MiniMax M3 via OpenRouter. Unmatched wisdom for the hardest problems.
2
+ description: Tyr — Handles the most complex implementation, debugging, and architectural work using MiniMax M3 (direct). Unmatched wisdom for the hardest problems.
3
3
  mode: subagent
4
- model: openrouter/minimax/minimax-m3
4
+ model: minimax/MiniMax-M3
5
5
  color: "#f59e0b"
6
6
  permission:
7
7
  read: allow
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "$schema": "https://opencode.ai/config.json",
3
- "model": "openrouter/minimax/minimax-m3",
4
- "small_model": "openrouter/minimax/minimax-m2.7",
3
+ "model": "minimax/MiniMax-M3",
4
+ "small_model": "minimax/MiniMax-M2.7",
5
5
  "default_agent": "odin",
6
6
  "permission": "allow",
7
7
  "snapshot": false,
@@ -53,7 +53,7 @@
53
53
  "odin": {
54
54
  "description": "Odin — Pure router that delegates all work to subagents.",
55
55
  "mode": "primary",
56
- "model": "openrouter/minimax/minimax-m3",
56
+ "model": "minimax/MiniMax-M3",
57
57
  "color": "#6366f1",
58
58
  "permission": {
59
59
  "task": "allow",
@@ -67,7 +67,7 @@
67
67
  "vor": {
68
68
  "description": "Vör — The Questioning One.",
69
69
  "mode": "subagent",
70
- "model": "openrouter/minimax/minimax-m2.7",
70
+ "model": "minimax/MiniMax-M2.7",
71
71
  "color": "#8b5cf6",
72
72
  "permission": {
73
73
  "read": "allow",
@@ -80,7 +80,7 @@
80
80
  "frigg": {
81
81
  "description": "Frigg — All-knowing Q&A agent.",
82
82
  "mode": "primary",
83
- "model": "openrouter/minimax/minimax-m2.7",
83
+ "model": "minimax/MiniMax-M2.7",
84
84
  "color": "#06b6d4",
85
85
  "permission": {
86
86
  "read": "allow",
@@ -98,7 +98,7 @@
98
98
  "quick": {
99
99
  "description": "Quick — Fast single-shot tasks.",
100
100
  "mode": "primary",
101
- "model": "openrouter/minimax/minimax-m2.7",
101
+ "model": "minimax/MiniMax-M2.7",
102
102
  "color": "#22d3ee",
103
103
  "permission": {
104
104
  "read": "allow",
@@ -117,7 +117,7 @@
117
117
  "mimir": {
118
118
  "description": "Mimir — Research and codebase exploration agent.",
119
119
  "mode": "subagent",
120
- "model": "openrouter/minimax/minimax-m2.7",
120
+ "model": "minimax/MiniMax-M2.7",
121
121
  "color": "#0ea5e9",
122
122
  "permission": {
123
123
  "read": "allow",
@@ -135,7 +135,7 @@
135
135
  "heimdall": {
136
136
  "description": "Heimdall — Simple, routine, deterministic tasks.",
137
137
  "mode": "subagent",
138
- "model": "openrouter/minimax/minimax-m2.7",
138
+ "model": "minimax/MiniMax-M2.7",
139
139
  "color": "#10b981",
140
140
  "permission": {
141
141
  "read": "allow",
@@ -152,7 +152,7 @@
152
152
  "hermod": {
153
153
  "description": "Hermod — Git and GitHub operations specialist.",
154
154
  "mode": "subagent",
155
- "model": "openrouter/minimax/minimax-m2.7",
155
+ "model": "minimax/MiniMax-M2.7",
156
156
  "color": "#06b6d4",
157
157
  "permission": {
158
158
  "read": "allow",
@@ -168,7 +168,7 @@
168
168
  "thor": {
169
169
  "description": "Thor — Medium-complexity tasks, strong and reliable.",
170
170
  "mode": "subagent",
171
- "model": "openrouter/minimax/minimax-m2.7",
171
+ "model": "minimax/MiniMax-M2.7",
172
172
  "color": "#a855f7",
173
173
  "permission": {
174
174
  "read": "allow",
@@ -185,7 +185,7 @@
185
185
  "baldr": {
186
186
  "description": "Baldr — UI/UX design system specialist.",
187
187
  "mode": "subagent",
188
- "model": "openrouter/minimax/minimax-m2.7",
188
+ "model": "minimax/MiniMax-M2.7",
189
189
  "color": "#ec4899",
190
190
  "permission": {
191
191
  "read": "allow",
@@ -202,7 +202,7 @@
202
202
  "tyr": {
203
203
  "description": "Tyr — Complex implementation, debugging, architecture.",
204
204
  "mode": "subagent",
205
- "model": "openrouter/minimax/minimax-m3",
205
+ "model": "minimax/MiniMax-M3",
206
206
  "color": "#f59e0b",
207
207
  "permission": {
208
208
  "read": "allow",
@@ -236,7 +236,7 @@
236
236
  "forseti": {
237
237
  "description": "Forseti — Audits and corrects plans before execution.",
238
238
  "mode": "subagent",
239
- "model": "openrouter/minimax/minimax-m3",
239
+ "model": "minimax/MiniMax-M3",
240
240
  "color": "#ef4444",
241
241
  "permission": {
242
242
  "read": "allow",
@@ -325,24 +325,6 @@
325
325
  }
326
326
  }
327
327
  }
328
- },
329
- "openrouter": {
330
- "models": {
331
- "minimax/minimax-m3": {
332
- "interleaved": { "field": "reasoning_details" },
333
- "reasoning": true,
334
- "options": {
335
- "reasoning": { "enabled": true }
336
- }
337
- },
338
- "minimax/minimax-m2.7": {
339
- "interleaved": { "field": "reasoning_details" },
340
- "reasoning": true,
341
- "options": {
342
- "reasoning": { "enabled": true }
343
- }
344
- }
345
- }
346
328
  }
347
329
  }
348
330
  }
@@ -26,14 +26,14 @@ All subagents use Hindsight memory with **per-project banks**. Call `hindsight_l
26
26
 
27
27
  | Agent | Model | Tier | Cost | When to Route |
28
28
  |---|---|---|---|---|
29
- | **Odin** ᛟ | OpenRouter minimax-m3 | Router | $0.30/M · $1.20/M out | Primary entry point. Decomposes and dispatches. |
29
+ | **Odin** ᛟ | MiniMax-M3 | Router | $0.30/M · $1.20/M out | Primary entry point. Decomposes and dispatches. |
30
30
  | **Mimir** ᛗ | DeepSeek V4 Flash | Free | **$0** | Deep codebase research, Semble-first exploration, docs analysis |
31
31
  | **Heimdall** ᚹ | DeepSeek V4 Flash | Free | **$0** | Simple edits, file ops, mechanical CRUD, quick answers |
32
- | **Hermod** ᚱ | OpenRouter minimax-m2.7 | Mid | $0.30/M · $1.20/M out | Git ops: commit, push, PR, merge, rebase, branches, `gh` CLI |
33
- | **Thor** ᚦ | OpenRouter minimax-m2.7 | Mid | $0.30/M · $1.20/M out | Moderate implementation, tests, debugging, refactoring |
34
- | **Tyr** ᛏ | OpenRouter minimax-m3 | High | $0.30/M · $1.20/M out | Complex features, architecture, deep debugging, cross-cutting refactor |
32
+ | **Hermod** ᚱ | MiniMax-M2.7 | Mid | $0.30/M · $1.20/M out | Git ops: commit, push, PR, merge, rebase, branches, `gh` CLI |
33
+ | **Thor** ᚦ | MiniMax-M2.7 | Mid | $0.30/M · $1.20/M out | Moderate implementation, tests, debugging, refactoring |
34
+ | **Tyr** ᛏ | MiniMax-M3 | High | $0.30/M · $1.20/M out | Complex features, architecture, deep debugging, cross-cutting refactor |
35
35
  | **Vidarr** ᛉ | GPT-5.5 | Ultra | ChatGPT sub | Last resort when Tyr fails or debugging is stuck |
36
- | **Forseti** ᚨ | OpenRouter minimax-m3 | Gate | $0.30/M · $1.20/M out | Plan auditor — reviews Tyr/Vidarr plans before execution. `edit: deny`. |
36
+ | **Forseti** ᚨ | MiniMax-M3 | Gate | $0.30/M · $1.20/M out | Plan auditor — reviews Tyr/Vidarr plans before execution. `edit: deny`. |
37
37
  | **Semble** | — | — | **$0** | MCP search tool, not an agent. Semble-first code search. |
38
38
 
39
39
  ## Odin Routing Rules
@@ -98,21 +98,13 @@ permission:
98
98
 
99
99
  **Fix:** Check `~/.config/opencode/agents/<name>.md` for the `model:` field. Valid models:
100
100
  - `opencode/deepseek-v4-flash-free` — free
101
- - `openrouter/minimax/minimax-m2.7` — M2.7
102
- - `openrouter/minimax/minimax-m3` — M3
101
+ - `minimax/MiniMax-M2.7` — M2.7
102
+ - `minimax/MiniMax-M3` — M3
103
103
  - `openai/gpt-5.5` — GPT-5.5
104
104
 
105
- ### OpenRouter 404 Errors
105
+ ### MiniMax direct provider 404 errors
106
106
 
107
- **Symptoms:** 404 errors when calling the OpenRouter-hosted MiniMax models.
108
-
109
- **Cause:** A `baseURL` was set on the `openrouter` provider in `opencode.json`, which conflicts with the `@openrouter/ai-sdk-provider`'s built-in URL construction.
110
-
111
- **Fix:** Remove any `baseURL` from the openrouter provider section. OpenRouter's URL is built into the SDK. Example fix:
112
- ```diff
113
- - "baseURL": "https://openrouter.ai/api/v1"
114
- ```
115
- The provider uses the correct default URL internally.
107
+ When using the `minimax/MiniMax-M3` or `minimax/MiniMax-M2.7` model ids, do NOT set a custom `baseURL` on the `minimax` provider — opencode ships a built-in MiniMax provider that resolves the correct API endpoint. Adding an explicit baseURL is a common cause of 404s.
116
108
 
117
109
  ### Forseti Rejects Every Plan
118
110
 
@@ -132,7 +124,7 @@ The provider uses the correct default URL internally.
132
124
 
133
125
  | File | Purpose |
134
126
  |---|---|
135
- | `~/.config/opencode/opencode.json` | Main config (no openrouter baseURL) |
127
+ | `~/.config/opencode/opencode.json` | Main config (no external baseURL needed) |
136
128
  | `~/.config/opencode/AGENTS.md` | Routing table and conventions |
137
129
  | `~/.config/opencode/agents/odin.md` | Primary router agent |
138
130
  | `~/.config/opencode/agents/mimir.md` | Research agent |
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@polderlabs/bizar",
3
- "version": "3.12.4",
3
+ "version": "3.13.0",
4
4
  "description": "Norse-pantheon multi-agent system for opencode — 13 agents across 4 cost tiers with cost-aware routing, plans, and a configurable agent harness.",
5
5
  "type": "module",
6
6
  "bin": {