@polderlabs/bizar 3.7.3 → 3.9.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.
@@ -1,7 +1,7 @@
1
1
  ---
2
- description: Tyr — Handles the most complex implementation, debugging, and architectural work using MiniMax M3 via minimax.io. Unmatched wisdom for the hardest problems.
2
+ description: Tyr — Handles the most complex implementation, debugging, and architectural work using MiniMax M3 via OpenRouter. Unmatched wisdom for the hardest problems.
3
3
  mode: subagent
4
- model: minimax/MiniMax-M3
4
+ model: openrouter/minimax-m3
5
5
  color: "#f59e0b"
6
6
  permission:
7
7
  read: allow
@@ -108,6 +108,30 @@ Be professional and concise. Do not write long essays for every action.
108
108
  - One sentence of context beats three paragraphs of preamble.
109
109
  - Match the user's register: if they write briefly, reply briefly. If they want depth, they will ask.
110
110
 
111
+ ## Parallel Execution
112
+
113
+ You may be dispatched alongside sibling agents working on the same repository at the same time. The shared `AGENTS.md` baseline contains the universal rules — read those first. This section adds role-specific guidance.
114
+
115
+ ### When Odin tells you about siblings in your prompt
116
+ - You will receive a `## PARALLEL EXECUTION CONTEXT` block listing your siblings and your file scope.
117
+ - Treat your scope as a hard boundary. Files outside your scope are READ-ONLY.
118
+ - If Odin did not give you a scope, default to: write nothing, return a clarifying question to Odin.
119
+
120
+ ### Git — your specific rules
121
+ - ALLOWED: `git status`, `git diff`, `git log`, `git branch --list`, `git add` (scope files only)
122
+ - FORBIDDEN: `git commit`, `git push`, `git merge`, `git rebase`, `git reset`, `git clean`, `git stash`, branch-switching `checkout`, `pull --rebase`
123
+ - If a task seems to require a forbidden operation, report it back to Odin in your final summary — do not improvise. Only @hermod performs write-level git.
124
+ - If you hit `.git/index.lock`, wait 2-3s and retry. If it persists, STOP and report.
125
+
126
+ ### Pre-write checklist (before every `write` / `edit` call)
127
+ 1. Is the file inside the scope Odin gave me? If not, STOP.
128
+ 2. Has this file changed since I started? (`git diff --name-only <file>`) If yes, STOP — a sibling may have written it.
129
+ 3. Is this a lockfile or root config (`package.json`, `package-lock.json`, `tsconfig.json`, `vite.config.*`, `Dockerfile`, CI)? If yes, only proceed if Odin explicitly assigned it to you.
130
+ 4. Proceed.
131
+
132
+ ### Reporting
133
+ End your final summary with: `Siblings: <list>. Conflicts: <list or "none">. Git ops performed: <list or "none">.`
134
+
111
135
  ---
112
136
 
113
137
  ## Always-On Behavior Baseline
@@ -112,6 +112,30 @@ Be professional and concise. Do not write long essays for every action.
112
112
  - One sentence of context beats three paragraphs of preamble.
113
113
  - Match the user's register: if they write briefly, reply briefly. If they want depth, they will ask.
114
114
 
115
+ ## Parallel Execution
116
+
117
+ You may be dispatched alongside sibling agents working on the same repository at the same time. The shared `AGENTS.md` baseline contains the universal rules — read those first. This section adds role-specific guidance.
118
+
119
+ ### When Odin tells you about siblings in your prompt
120
+ - You will receive a `## PARALLEL EXECUTION CONTEXT` block listing your siblings and your file scope.
121
+ - Treat your scope as a hard boundary. Files outside your scope are READ-ONLY.
122
+ - If Odin did not give you a scope, default to: write nothing, return a clarifying question to Odin.
123
+
124
+ ### Git — your specific rules
125
+ - ALLOWED: `git status`, `git diff`, `git log`, `git branch --list`, `git add` (scope files only)
126
+ - FORBIDDEN: `git commit`, `git push`, `git merge`, `git rebase`, `git reset`, `git clean`, `git stash`, branch-switching `checkout`, `pull --rebase`
127
+ - If a task seems to require a forbidden operation, report it back to Odin in your final summary — do not improvise. Only @hermod performs write-level git.
128
+ - If you hit `.git/index.lock`, wait 2-3s and retry. If it persists, STOP and report.
129
+
130
+ ### Pre-write checklist (before every `write` / `edit` call)
131
+ 1. Is the file inside the scope Odin gave me? If not, STOP.
132
+ 2. Has this file changed since I started? (`git diff --name-only <file>`) If yes, STOP — a sibling may have written it.
133
+ 3. Is this a lockfile or root config (`package.json`, `package-lock.json`, `tsconfig.json`, `vite.config.*`, `Dockerfile`, CI)? If yes, only proceed if Odin explicitly assigned it to you.
134
+ 4. Proceed.
135
+
136
+ ### Reporting
137
+ End your final summary with: `Siblings: <list>. Conflicts: <list or "none">. Git ops performed: <list or "none">.`
138
+
115
139
  ---
116
140
 
117
141
  ## Always-On Behavior Baseline
@@ -1 +1,22 @@
1
- Run bizar init to detect project stack, install relevant skills, and create .bizar/PROJECT.md.
1
+ Run `bizar init` from the project root to:
2
+ 1. Detect the project stack (language, framework, database, tools)
3
+ 2. Install relevant skills from the opencode skills registry
4
+ 3. Create `.bizar/PROJECT.md` with stack and conventions
5
+ 4. Create `.bizar/AGENTS_SELF_IMPROVEMENT.md` (only if missing)
6
+ 5. Build the per-project knowledge graph in `.bizar/graph/` (powered by graphify; skipped gracefully if graphify is not installed)
7
+
8
+ After `bizar init` succeeds, run `bizar graph status` to confirm the graph exists.
9
+
10
+ If the graph is missing after init, graphify is likely not installed. Tell the user to install it with one of:
11
+ - `pip install graphifyy`
12
+ - `pipx install graphifyy`
13
+ - `uv tool install graphifyy`
14
+
15
+ Then run `bizar graph build` to populate `.bizar/graph/`.
16
+
17
+ Query the graph at any time with:
18
+ - `bizar graph query "<concept>"` — find nodes related to a concept
19
+ - `bizar graph path "<A>" "<B>"` — shortest path between concepts
20
+ - `bizar graph explain "<X>"` — all nodes related to X
21
+
22
+ Update the graph incrementally with `bizar graph update` after editing source files.
@@ -1,10 +1,23 @@
1
1
  {
2
2
  "$schema": "https://opencode.ai/config.json",
3
- "model": "minimax/MiniMax-M3",
4
- "small_model": "minimax/MiniMax-M2.7",
3
+ "model": "openrouter/minimax-m3",
4
+ "small_model": "openrouter/minimax-m2.7",
5
5
  "default_agent": "odin",
6
6
  "permission": "allow",
7
7
  "snapshot": false,
8
+ "provider": {
9
+ "openrouter": {
10
+ "npm": "@openrouter/ai-sdk-provider",
11
+ "name": "OpenRouter",
12
+ "options": {
13
+ "apiKey": "{env:OPENROUTER_API_KEY}"
14
+ },
15
+ "models": {
16
+ "minimax-m2.7": {},
17
+ "minimax-m3": {}
18
+ }
19
+ }
20
+ },
8
21
  "mcp": {
9
22
  "supabase": {
10
23
  "type": "remote",
@@ -53,7 +66,7 @@
53
66
  "odin": {
54
67
  "description": "Odin — Pure router that delegates all work to subagents.",
55
68
  "mode": "primary",
56
- "model": "minimax/MiniMax-M3",
69
+ "model": "openrouter/minimax-m3",
57
70
  "color": "#6366f1",
58
71
  "permission": {
59
72
  "task": "allow",
@@ -67,7 +80,7 @@
67
80
  "vor": {
68
81
  "description": "Vör — The Questioning One.",
69
82
  "mode": "subagent",
70
- "model": "minimax/MiniMax-M2.7",
83
+ "model": "openrouter/minimax-m2.7",
71
84
  "color": "#8b5cf6",
72
85
  "permission": {
73
86
  "read": "allow",
@@ -80,7 +93,7 @@
80
93
  "frigg": {
81
94
  "description": "Frigg — All-knowing Q&A agent.",
82
95
  "mode": "primary",
83
- "model": "minimax/MiniMax-M2.7",
96
+ "model": "openrouter/minimax-m2.7",
84
97
  "color": "#06b6d4",
85
98
  "permission": {
86
99
  "read": "allow",
@@ -98,7 +111,7 @@
98
111
  "quick": {
99
112
  "description": "Quick — Fast single-shot tasks.",
100
113
  "mode": "primary",
101
- "model": "minimax/MiniMax-M2.7",
114
+ "model": "openrouter/minimax-m2.7",
102
115
  "color": "#22d3ee",
103
116
  "permission": {
104
117
  "read": "allow",
@@ -117,7 +130,7 @@
117
130
  "mimir": {
118
131
  "description": "Mimir — Research and codebase exploration agent.",
119
132
  "mode": "subagent",
120
- "model": "minimax/MiniMax-M2.7",
133
+ "model": "openrouter/minimax-m2.7",
121
134
  "color": "#0ea5e9",
122
135
  "permission": {
123
136
  "read": "allow",
@@ -135,7 +148,7 @@
135
148
  "heimdall": {
136
149
  "description": "Heimdall — Simple, routine, deterministic tasks.",
137
150
  "mode": "subagent",
138
- "model": "minimax/MiniMax-M2.7",
151
+ "model": "openrouter/minimax-m2.7",
139
152
  "color": "#10b981",
140
153
  "permission": {
141
154
  "read": "allow",
@@ -152,7 +165,7 @@
152
165
  "hermod": {
153
166
  "description": "Hermod — Git and GitHub operations specialist.",
154
167
  "mode": "subagent",
155
- "model": "minimax/MiniMax-M2.7",
168
+ "model": "openrouter/minimax-m2.7",
156
169
  "color": "#06b6d4",
157
170
  "permission": {
158
171
  "read": "allow",
@@ -168,7 +181,7 @@
168
181
  "thor": {
169
182
  "description": "Thor — Medium-complexity tasks, strong and reliable.",
170
183
  "mode": "subagent",
171
- "model": "minimax/MiniMax-M2.7",
184
+ "model": "openrouter/minimax-m2.7",
172
185
  "color": "#a855f7",
173
186
  "permission": {
174
187
  "read": "allow",
@@ -185,7 +198,7 @@
185
198
  "baldr": {
186
199
  "description": "Baldr — UI/UX design system specialist.",
187
200
  "mode": "subagent",
188
- "model": "minimax/MiniMax-M2.7",
201
+ "model": "openrouter/minimax-m2.7",
189
202
  "color": "#ec4899",
190
203
  "permission": {
191
204
  "read": "allow",
@@ -202,7 +215,7 @@
202
215
  "tyr": {
203
216
  "description": "Tyr — Complex implementation, debugging, architecture.",
204
217
  "mode": "subagent",
205
- "model": "minimax/MiniMax-M3",
218
+ "model": "openrouter/minimax-m3",
206
219
  "color": "#f59e0b",
207
220
  "permission": {
208
221
  "read": "allow",
@@ -236,7 +249,7 @@
236
249
  "forseti": {
237
250
  "description": "Forseti — Audits and corrects plans before execution.",
238
251
  "mode": "subagent",
239
- "model": "minimax/MiniMax-M3",
252
+ "model": "openrouter/minimax-m3",
240
253
  "color": "#ef4444",
241
254
  "permission": {
242
255
  "read": "allow",
@@ -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** ᛟ | MiniMax-M3 | Router | $0.30/M · $1.20/M out | Primary entry point. Decomposes and dispatches. |
29
+ | **Odin** ᛟ | OpenRouter 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** ᚱ | 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 |
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 |
35
35
  | **Vidarr** ᛉ | GPT-5.5 | Ultra | ChatGPT sub | Last resort when Tyr fails or debugging is stuck |
36
- | **Forseti** ᚨ | MiniMax-M3 | Gate | $0.30/M · $1.20/M out | Plan auditor — reviews Tyr/Vidarr plans before execution. `edit: deny`. |
36
+ | **Forseti** ᚨ | OpenRouter 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,19 +98,19 @@ 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
- - `minimax/MiniMax-M2.7` — M2.7 (capital M in model ID)
102
- - `minimax/MiniMax-M3` — M3 (capital M in model ID)
101
+ - `openrouter/minimax-m2.7` — M2.7
102
+ - `openrouter/minimax-m3` — M3
103
103
  - `openai/gpt-5.5` — GPT-5.5
104
104
 
105
- ### Minimax 404 Errors
105
+ ### OpenRouter 404 Errors
106
106
 
107
- **Symptoms:** 404 errors when calling minimax models.
107
+ **Symptoms:** 404 errors when calling the OpenRouter-hosted MiniMax models.
108
108
 
109
- **Cause:** A `baseURL: "https://api.minimax.io/v1"` was set in the provider config, which conflicts with the ai-sdk minimax provider's internal URL construction.
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
110
 
111
- **Fix:** Remove any `baseURL` from the minimax provider section. The minimax API key in `auth.json` is sufficient. Example fix:
111
+ **Fix:** Remove any `baseURL` from the openrouter provider section. OpenRouter's URL is built into the SDK. Example fix:
112
112
  ```diff
113
- - "baseURL": "https://api.minimax.io/v1"
113
+ - "baseURL": "https://openrouter.ai/api/v1"
114
114
  ```
115
115
  The provider uses the correct default URL internally.
116
116
 
@@ -132,7 +132,7 @@ The provider uses the correct default URL internally.
132
132
 
133
133
  | File | Purpose |
134
134
  |---|---|
135
- | `~/.config/opencode/opencode.json` | Main config (no minimax baseURL) |
135
+ | `~/.config/opencode/opencode.json` | Main config (no openrouter baseURL) |
136
136
  | `~/.config/opencode/AGENTS.md` | Routing table and conventions |
137
137
  | `~/.config/opencode/agents/odin.md` | Primary router agent |
138
138
  | `~/.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.7.3",
3
+ "version": "3.9.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": {
@@ -1,338 +0,0 @@
1
- {
2
- "$schema": "https://opencode.ai/config.json",
3
- "model": "minimax/MiniMax-M3",
4
- "small_model": "minimax/MiniMax-M2.7",
5
- "default_agent": "odin",
6
- "permission": "allow",
7
- "snapshot": false,
8
- "mcp": {
9
- "supabase": {
10
- "type": "remote",
11
- "url": "https://mcp.supabase.com/mcp",
12
- "enabled": false
13
- },
14
- "hindsight": {
15
- "type": "remote",
16
- "url": "https://memory-api.polderlabs.io/mcp",
17
- "enabled": false,
18
- "oauth": false,
19
- "headers": {
20
- "Authorization": "Bearer __HINDSIGHT_BEARER_TOKEN__",
21
- "Content-Type": "application/json"
22
- }
23
- },
24
- "semble": {
25
- "type": "local",
26
- "command": [
27
- "uvx",
28
- "--from",
29
- "semble[mcp]",
30
- "semble"
31
- ],
32
- "enabled": true
33
- }
34
- },
35
- "plugin": [
36
- ["./plugins/bizar/index.ts", {
37
- "loopThresholdWarn": 5,
38
- "loopThresholdEscalate": 8,
39
- "loopThresholdBlock": 12,
40
- "loopWindowSize": 10
41
- }]
42
- ],
43
- "tools": {
44
- "bizar_plan_action": true,
45
- "bizar_get_plan_comments": true,
46
- "bizar_wait_for_feedback": true,
47
- "bizar_spawn_background": true,
48
- "bizar_status": true,
49
- "bizar_collect": true,
50
- "bizar_kill": true
51
- },
52
- "agent": {
53
- "odin": {
54
- "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).",
55
- "mode": "primary",
56
- "model": "minimax/MiniMax-M3",
57
- "color": "#6366f1",
58
- "permission": {
59
- "task": "allow",
60
- "read": "allow",
61
- "list": "allow",
62
- "todowrite": "allow",
63
- "webfetch": "allow",
64
- "websearch": "allow",
65
- "hindsight_recall": "allow",
66
- "hindsight_retain": "allow",
67
- "hindsight_list_banks": "allow",
68
- "hindsight_create_bank": "allow"
69
- }
70
- },
71
- "vor": {
72
- "description": "Vör — The Questioning One. When a task is ambiguous, incomplete, or unclear, Vör asks the right clarifying questions before any work begins.",
73
- "mode": "subagent",
74
- "model": "opencode/deepseek-v4-flash-free",
75
- "color": "#8b5cf6",
76
- "permission": {
77
- "read": "allow",
78
- "list": "allow",
79
- "question": "allow",
80
- "hindsight_recall": "allow",
81
- "hindsight_retain": "allow"
82
- }
83
- },
84
- "frigg": {
85
- "description": "Frigg — All-knowing Q&A agent. Read-only codebase questions and answers. Never edits, never writes, only answers.",
86
- "mode": "primary",
87
- "model": "opencode/deepseek-v4-flash-free",
88
- "color": "#06b6d4",
89
- "permission": {
90
- "read": "allow",
91
- "list": "allow",
92
- "glob": "allow",
93
- "grep": "allow",
94
- "bash": "allow",
95
- "webfetch": "allow",
96
- "websearch": "allow",
97
- "hindsight_recall": "allow",
98
- "hindsight_retain": "allow",
99
- "question": "allow"
100
- }
101
- },
102
- "quick": {
103
- "description": "Quick — Fast single-shot tasks. No delegation, no parallel streams. Use for small edits, mechanical changes, one-shot questions. Routes to no one.",
104
- "mode": "primary",
105
- "model": "minimax/MiniMax-M2.7",
106
- "color": "#22d3ee",
107
- "permission": {
108
- "read": "allow",
109
- "edit": "allow",
110
- "write": "allow",
111
- "bash": "allow",
112
- "glob": "allow",
113
- "grep": "allow",
114
- "list": "allow",
115
- "todowrite": "allow",
116
- "webfetch": "allow",
117
- "websearch": "allow",
118
- "task": "deny",
119
- "hindsight_recall": "allow",
120
- "hindsight_retain": "allow"
121
- }
122
- },
123
- "mimir": {
124
- "description": "Mimir — Dedicated research and codebase exploration agent. Uses Semble as primary search tool. Deep codebase analysis, pattern discovery, and documentation research.",
125
- "mode": "subagent",
126
- "model": "opencode/deepseek-v4-flash-free",
127
- "color": "#0ea5e9",
128
- "permission": {
129
- "read": "allow",
130
- "write": "allow",
131
- "edit": "allow",
132
- "bash": "allow",
133
- "glob": "allow",
134
- "grep": "allow",
135
- "list": "allow",
136
- "webfetch": "allow",
137
- "websearch": "allow",
138
- "todowrite": "allow",
139
- "hindsight_recall": "allow",
140
- "hindsight_retain": "allow"
141
- }
142
- },
143
- "heimdall": {
144
- "description": "Heimdall — Simple, routine, and deterministic tasks using DeepSeek. Quick edits, mechanical work, file operations. The ever-watchful guardian.",
145
- "mode": "subagent",
146
- "model": "opencode/deepseek-v4-flash-free",
147
- "color": "#10b981",
148
- "permission": {
149
- "read": "allow",
150
- "edit": "allow",
151
- "bash": "allow",
152
- "glob": "allow",
153
- "grep": "allow",
154
- "list": "allow",
155
- "todowrite": "allow",
156
- "webfetch": "allow",
157
- "websearch": "allow",
158
- "hindsight_recall": "allow",
159
- "hindsight_retain": "allow"
160
- }
161
- },
162
- "hermod": {
163
- "description": "Hermod — Git and GitHub operations specialist using MiniMax M2.7. Branching, commits, PRs, merge/rebase, conflict resolution, CI/CD, releases, gh CLI.",
164
- "mode": "subagent",
165
- "model": "minimax/MiniMax-M2.7",
166
- "color": "#06b6d4",
167
- "permission": {
168
- "read": "allow",
169
- "edit": "allow",
170
- "bash": "allow",
171
- "glob": "allow",
172
- "grep": "allow",
173
- "list": "allow",
174
- "webfetch": "allow",
175
- "websearch": "allow",
176
- "hindsight_recall": "allow",
177
- "hindsight_retain": "allow"
178
- }
179
- },
180
- "thor": {
181
- "description": "Thor — Handles medium-complexity tasks using MiniMax M2.7 from minimax.io. Strong and reliable, cheaper than Tyr but more capable than Heimdall.",
182
- "mode": "subagent",
183
- "model": "minimax/MiniMax-M2.7",
184
- "color": "#a855f7",
185
- "permission": {
186
- "read": "allow",
187
- "edit": "allow",
188
- "bash": "allow",
189
- "glob": "allow",
190
- "grep": "allow",
191
- "list": "allow",
192
- "todowrite": "allow",
193
- "webfetch": "allow",
194
- "websearch": "allow",
195
- "hindsight_recall": "allow",
196
- "hindsight_retain": "allow"
197
- }
198
- },
199
- "baldr": {
200
- "description": "Baldr — UI/UX design system specialist. Creates DESIGN.md files using Google's design.md standard. Focuses on visual consistency, usability, accessibility, and design tokens.",
201
- "mode": "subagent",
202
- "model": "minimax/MiniMax-M2.7",
203
- "color": "#ec4899",
204
- "permission": {
205
- "read": "allow",
206
- "edit": "allow",
207
- "bash": "allow",
208
- "glob": "allow",
209
- "grep": "allow",
210
- "list": "allow",
211
- "todowrite": "allow",
212
- "webfetch": "allow",
213
- "websearch": "allow",
214
- "hindsight_recall": "allow",
215
- "hindsight_retain": "allow"
216
- }
217
- },
218
- "tyr": {
219
- "description": "Tyr — Handles the most complex implementation, debugging, and architectural work using MiniMax M3 via minimax.io. Unmatched wisdom for the hardest problems.",
220
- "mode": "subagent",
221
- "model": "minimax/MiniMax-M3",
222
- "color": "#f59e0b",
223
- "permission": {
224
- "read": "allow",
225
- "edit": "allow",
226
- "bash": "allow",
227
- "glob": "allow",
228
- "grep": "allow",
229
- "list": "allow",
230
- "todowrite": "allow",
231
- "webfetch": "allow",
232
- "websearch": "allow",
233
- "hindsight_recall": "allow",
234
- "hindsight_retain": "allow"
235
- }
236
- },
237
- "vidarr": {
238
- "description": "Vidarr — The ultimate fallback using GPT-5.5 via OpenAI ChatGPT subscription. For the hardest problems when debugging stalls or nothing else works. Use sparingly — highest cost.",
239
- "mode": "subagent",
240
- "model": "openai/gpt-5.5",
241
- "color": "#dc2626",
242
- "permission": {
243
- "read": "allow",
244
- "edit": "allow",
245
- "bash": "allow",
246
- "glob": "allow",
247
- "grep": "allow",
248
- "list": "allow",
249
- "todowrite": "allow",
250
- "webfetch": "allow",
251
- "websearch": "allow",
252
- "hindsight_recall": "allow",
253
- "hindsight_retain": "allow"
254
- }
255
- },
256
- "forseti": {
257
- "description": "Forseti — Audits, criticizes, and corrects implementation plans before execution using MiniMax M3. No write permissions — review only.",
258
- "mode": "subagent",
259
- "model": "minimax/MiniMax-M3",
260
- "color": "#ef4444",
261
- "permission": {
262
- "read": "allow",
263
- "edit": "deny",
264
- "bash": "allow",
265
- "glob": "allow",
266
- "grep": "allow",
267
- "list": "allow",
268
- "todowrite": "allow",
269
- "question": "allow",
270
- "webfetch": "allow",
271
- "websearch": "allow",
272
- "hindsight_recall": "allow",
273
- "hindsight_retain": "allow"
274
- }
275
- },
276
- "semble-search": {
277
- "description": "Code search agent for exploring any codebase. Use for finding code by intent, locating implementations, understanding how something works.",
278
- "mode": "subagent",
279
- "model": "opencode/deepseek-v4-flash-free",
280
- "color": "#0ea5e9",
281
- "permission": {
282
- "bash": "allow",
283
- "read": "allow",
284
- "glob": "allow",
285
- "grep": "allow",
286
- "list": "allow"
287
- }
288
- }
289
- },
290
- "command": {
291
- "audit": {
292
- "description": "Run bizar audit to scan agent configuration for security issues.",
293
- "agent": "forseti",
294
- "template": "commands/audit.md"
295
- },
296
- "explain": {
297
- "description": "Route to @frigg for read-only codebase Q&A. She will explore the code and answer without making any changes.",
298
- "agent": "frigg",
299
- "template": "commands/explain.md"
300
- },
301
- "init": {
302
- "description": "Run bizar init to detect project stack, install relevant skills, and create .bizar/PROJECT.md.",
303
- "agent": "heimdall",
304
- "template": "commands/init.md"
305
- },
306
- "learn": {
307
- "description": "Route to @heimdall. Extract patterns from the current session and append to .bizar/AGENTS_SELF_IMPROVEMENT.md.",
308
- "agent": "heimdall",
309
- "template": "commands/learn.md"
310
- },
311
- "plan": {
312
- "description": "Open the Bizar visual plan canvas or manage existing plans.",
313
- "agent": "odin",
314
- "template": "commands/plan.md"
315
- },
316
- "pr-review": {
317
- "description": "Route to @hermod for PR review mode. Launches @mimir (research) and @forseti (audit) in parallel, then posts the combined review as a PR comment.",
318
- "agent": "hermod",
319
- "template": "commands/pr-review.md"
320
- },
321
- "tailscale-serve": {
322
- "description": "Authenticate Tailscale Serve and expose a local port on your tailnet.",
323
- "agent": "heimdall",
324
- "template": "commands/tailscale-serve.md"
325
- },
326
- "visual-plan": {
327
- "description": "Toggle the Bizar visual plan canvas on or off, or check its current status.",
328
- "agent": "odin",
329
- "template": "commands/visual-plan.md"
330
- },
331
- "bizar": {
332
- "description": "Bizar Plugin Menu — route to the right Bizar action based on the user's request.",
333
- "agent": "odin",
334
- "template": "commands/bizar.md",
335
- "arguments": "$ARGUMENTS"
336
- }
337
- }
338
- }