oh-my-opencode-slim 0.4.0 → 0.5.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
@@ -28,6 +28,7 @@
28
28
  - [Oracle](#oracle)
29
29
  - [Librarian](#librarian)
30
30
  - [Designer](#designer)
31
+ - [Fixer](#fixer)
31
32
  - [🧩 **Skills**](#-skills)
32
33
  - [Available Skills](#available-skills)
33
34
  - [Default Skill Assignments](#default-skill-assignments)
@@ -62,7 +63,7 @@ bunx oh-my-opencode-slim install
62
63
  Or use non-interactive mode:
63
64
 
64
65
  ```bash
65
- bunx oh-my-opencode-slim install --no-tui --antigravity=yes --openai=yes --cerebras=no
66
+ bunx oh-my-opencode-slim install --no-tui --antigravity=yes --openai=yes --tmux=no
66
67
  ```
67
68
 
68
69
  After installation, authenticate with your providers:
@@ -113,7 +114,11 @@ Ask these questions **one at a time**, waiting for responses:
113
114
 
114
115
  1. "Do you have an **Antigravity** subscription?" *(Provides Claude + Gemini via `google/` prefix)*
115
116
  2. "Do you have access to **OpenAI** API?" *(Enables `openai/` models)*
116
- 3. "Do you have access to **Cerebras** API?" *(Enables `cerebras/` for fast exploration)*
117
+
118
+ Help the user understand the tradeoffs:
119
+ - Antigravity is the recommended path for Claude + Gemini routing.
120
+ - OpenAI is optional; it enables `openai/` models.
121
+ - If the user has **no providers**, the plugin still works using **OpenCode Zen** free models. They can switch to paid providers later by editing `~/.config/opencode/oh-my-opencode-slim.json`.
117
122
 
118
123
  ---
119
124
 
@@ -122,19 +127,19 @@ Ask these questions **one at a time**, waiting for responses:
122
127
  Based on answers, run:
123
128
 
124
129
  ```bash
125
- bunx oh-my-opencode-slim install --no-tui --antigravity=<yes|no> --openai=<yes|no> --cerebras=<yes|no>
130
+ bunx oh-my-opencode-slim install --no-tui --antigravity=<yes|no> --openai=<yes|no>
126
131
  ```
127
132
 
128
133
  **Examples:**
129
134
  ```bash
130
135
  # Antigravity + OpenAI
131
- bunx oh-my-opencode-slim install --no-tui --antigravity=yes --openai=yes --cerebras=no
136
+ bunx oh-my-opencode-slim install --no-tui --antigravity=yes --openai=yes --tmux=no
132
137
 
133
138
  # OpenAI only
134
- bunx oh-my-opencode-slim install --no-tui --antigravity=no --openai=yes --cerebras=no
139
+ bunx oh-my-opencode-slim install --no-tui --antigravity=no --openai=yes --tmux=no
135
140
 
136
- # All providers
137
- bunx oh-my-opencode-slim install --no-tui --antigravity=yes --openai=yes --cerebras=yes
141
+ # No providers (Zen free models only)
142
+ bunx oh-my-opencode-slim install --no-tui --antigravity=no --openai=no --tmux=no
138
143
  ```
139
144
 
140
145
  The installer automatically:
@@ -143,13 +148,18 @@ The installer automatically:
143
148
  - Configures Google provider with model definitions
144
149
  - Generates agent model mappings in `~/.config/opencode/oh-my-opencode-slim.json`
145
150
 
151
+ **Crucial Advice for the User:**
152
+ - They can easily assign **different models to different agents** by editing `~/.config/opencode/oh-my-opencode-slim.json`.
153
+ - If they add a new provider later, they just need to update this file.
154
+ - Read generated `~/.config/opencode/oh-my-opencode-slim.json` file and report the model configuration.
155
+
146
156
  ---
147
157
 
148
158
  #### Step 4: Authentication
149
159
 
150
160
  After installation, guide the user:
151
161
 
152
- **For Antigravity:**
162
+ **For Antigravity/OpenAI:**
153
163
  ```bash
154
164
  opencode auth login
155
165
  # Select: Google → OAuth with Google (Antigravity)
@@ -166,7 +176,6 @@ bunx oh-my-opencode-slim install --help
166
176
  ```
167
177
 
168
178
  Then manually create the config files at:
169
- - `~/.config/opencode/opencode.json`
170
179
  - `~/.config/opencode/oh-my-opencode-slim.json`
171
180
 
172
181
  </details>
@@ -190,7 +199,21 @@ The plugin follows a "Hub and Spoke" model:
190
199
  3. **Delegation**:
191
200
  - Launches an `@explorer` background task to find all auth-related files.
192
201
  - Launches a `@librarian` task to check the latest documentation for the auth library used.
193
- 4. **Integration**: Once background results are ready, the Orchestrator performs the refactor.
202
+ 4. **Integration**: Once background results are ready, the Orchestrator delegates to `@fixer` to perform the refactor efficiently.
203
+
204
+ ---
205
+
206
+ ### Primary vs Subagents
207
+
208
+ Primary agents appear in the OpenCode UI selector, while subagents are hidden from the UI and intended for delegation through `background_task`.
209
+
210
+ **Primary agents (UI):**
211
+ - OpenCode built-ins: `Build`, `Plan` (disabled by the installer by default)
212
+ - Plugin primary: `orchestrator`
213
+
214
+ **Subagents (background_task):** `explorer`, `librarian`, `oracle`, `designer`, `fixer`
215
+
216
+ The `background_task` tool lists only subagents. If the UI list looks stale after changes, restart OpenCode.
194
217
 
195
218
  ---
196
219
 
@@ -221,7 +244,7 @@ Write and execute code, orchestrate multi-agent workflows, parse the unspoken fr
221
244
  > **The Explorer** moves through codebases like wind through trees - swift, silent, everywhere at once. When The Orchestrator whispers "find me the auth module," The Explorer has already returned with forty file paths and a map. They were born from the first `grep` command, evolved beyond it, and now see patterns mortals miss.
222
245
 
223
246
  **Role:** `Codebase reconnaissance`
224
- **Model:** `cerebras/zai-glm-4.7`
247
+ **Model:** `google/gemini-3-flash`
225
248
  **Prompt:** [src/agents/explorer.ts](src/agents/explorer.ts)
226
249
 
227
250
  Regex search, AST pattern matching, file discovery, parallel exploration. *Read-only: they chart the territory; others conquer it.*
@@ -278,6 +301,22 @@ Modern responsive design, CSS/Tailwind mastery, micro-animations, component arch
278
301
 
279
302
  ---
280
303
 
304
+ ### Fixer
305
+
306
+ <a href="src/agents/fixer.ts"><img src="img/fixer.png" alt="Fixer" align="right" width="240"></a>
307
+
308
+ > **The Fixer** is the hands that build what others envision. While The Orchestrator plans and The Oracle advises, The Fixer executes. They receive complete context from research agents and clear task specifications, then implement with surgical precision. Fast, efficient, and focused - they don't think about what to build, they just build it.
309
+
310
+ **Role:** `Fast implementation specialist`
311
+ **Model:** `google/gemini-3-flash`
312
+ **Prompt:** [src/agents/fixer.ts](src/agents/fixer.ts)
313
+
314
+ Code implementation, refactoring, testing, verification. *Execute the plan - no research, no delegation, no planning.*
315
+
316
+ <br clear="both">
317
+
318
+ ---
319
+
281
320
  ## Tools & Capabilities
282
321
 
283
322
  ### Tmux Integration
@@ -397,6 +436,7 @@ Skills are specialized capabilities that agents can use. Each agent has a defaul
397
436
  | `oracle` | none |
398
437
  | `librarian` | none |
399
438
  | `explorer` | none |
439
+ | `fixer` | none |
400
440
 
401
441
  ### YAGNI Enforcement
402
442
 
@@ -463,33 +503,63 @@ You can disable specific MCP servers by adding them to the `disabled_mcps` array
463
503
 
464
504
  ### Plugin Config (`oh-my-opencode-slim.json`)
465
505
 
466
- All plugin options in one file:
506
+ The installer generates this file based on your providers. You can manually customize it to mix and match models.
507
+
508
+ <details open>
509
+ <summary><b>Example: Antigravity + OpenAI (Recommended)</b></summary>
467
510
 
468
511
  ```json
469
512
  {
513
+ "agents": {
514
+ "orchestrator": { "model": "google/claude-opus-4-5-thinking", "skills": ["*"] },
515
+ "oracle": { "model": "openai/gpt-5.2-codex", "skills": [] },
516
+ "librarian": { "model": "google/gemini-3-flash", "skills": [] },
517
+ "explorer": { "model": "google/gemini-3-flash", "skills": [] },
518
+ "designer": { "model": "google/gemini-3-flash", "skills": ["playwright"] },
519
+ "fixer": { "model": "google/gemini-3-flash", "skills": [] }
520
+ },
470
521
  "tmux": {
471
522
  "enabled": true,
472
523
  "layout": "main-vertical",
473
524
  "main_pane_size": 60
474
- },
475
- "disabled_agents": [],
476
- "disabled_mcps": ["websearch", "grep_app"],
525
+ }
526
+ }
527
+ ```
528
+ </details>
529
+
530
+ <details>
531
+ <summary><b>Example: Antigravity Only</b></summary>
532
+
533
+ ```json
534
+ {
477
535
  "agents": {
478
- "orchestrator": {
479
- "model": "openai/gpt-5.2-codex",
480
- "variant": "high",
481
- "skills": ["*"]
482
- },
483
- "explorer": {
484
- "model": "opencode/glm-4.7",
485
- "variant": "low"
486
- },
487
- "designer": {
488
- "skills": ["playwright"]
489
- }
536
+ "orchestrator": { "model": "google/claude-opus-4-5-thinking", "skills": ["*"] },
537
+ "oracle": { "model": "google/claude-opus-4-5-thinking", "skills": [] },
538
+ "librarian": { "model": "google/gemini-3-flash", "skills": [] },
539
+ "explorer": { "model": "google/gemini-3-flash", "skills": [] },
540
+ "designer": { "model": "google/gemini-3-flash", "skills": ["playwright"] },
541
+ "fixer": { "model": "google/gemini-3-flash", "skills": [] }
542
+ }
543
+ }
544
+ ```
545
+ </details>
546
+
547
+ <details>
548
+ <summary><b>Example: OpenAI Only</b></summary>
549
+
550
+ ```json
551
+ {
552
+ "agents": {
553
+ "orchestrator": { "model": "openai/gpt-5.2-codex", "skills": ["*"] },
554
+ "oracle": { "model": "openai/gpt-5.2-codex", "skills": [] },
555
+ "librarian": { "model": "openai/gpt-5.1-codex-mini", "skills": [] },
556
+ "explorer": { "model": "openai/gpt-5.1-codex-mini", "skills": [] },
557
+ "designer": { "model": "openai/gpt-5.1-codex-mini", "skills": ["playwright"] },
558
+ "fixer": { "model": "openai/gpt-5.1-codex-mini", "skills": [] }
490
559
  }
491
560
  }
492
561
  ```
562
+ </details>
493
563
 
494
564
  #### Option Reference
495
565
 
@@ -503,6 +573,10 @@ All plugin options in one file:
503
573
  | `agents.<name>.model` | string | — | Override the LLM for a specific agent |
504
574
  | `agents.<name>.variant` | string | — | Reasoning effort: `"low"`, `"medium"`, `"high"` |
505
575
  | `agents.<name>.skills` | string[] | — | Skills this agent can use (`"*"` = all) |
576
+ | `agents.<name>.temperature` | number | — | Temperature for this agent (0.0 to 2.0) |
577
+ | `agents.<name>.prompt` | string | — | Base prompt override for this agent |
578
+ | `agents.<name>.prompt_append` | string | — | Text to append to the base prompt |
579
+ | `agents.<name>.disable` | boolean | — | Disable this specific agent |
506
580
 
507
581
  ---
508
582