oh-my-opencode-slim 0.9.14 → 1.0.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 +131 -56
- package/dist/agents/council.d.ts +7 -8
- package/dist/agents/orchestrator.d.ts +1 -0
- package/dist/background/background-manager.d.ts +20 -1
- package/dist/background/index.d.ts +1 -1
- package/dist/background/multiplexer-session-manager.d.ts +2 -0
- package/dist/cli/index.js +351 -13849
- package/dist/cli/types.d.ts +1 -2
- package/dist/config/constants.d.ts +3 -3
- package/dist/config/council-schema.d.ts +45 -69
- package/dist/config/index.d.ts +1 -1
- package/dist/config/schema.d.ts +52 -33
- package/dist/config/utils.d.ts +7 -0
- package/dist/council/council-manager.d.ts +6 -13
- package/dist/hooks/auto-update-checker/types.d.ts +1 -1
- package/dist/hooks/foreground-fallback/index.d.ts +1 -1
- package/dist/hooks/phase-reminder/index.d.ts +1 -1
- package/dist/hooks/todo-continuation/todo-hygiene.d.ts +0 -1
- package/dist/index.js +7339 -26210
- package/dist/interview/service.d.ts +1 -0
- package/dist/multiplexer/factory.d.ts +5 -1
- package/dist/multiplexer/index.d.ts +1 -0
- package/dist/multiplexer/session-manager.d.ts +46 -0
- package/dist/multiplexer/tmux/index.d.ts +3 -1
- package/dist/multiplexer/types.d.ts +3 -3
- package/dist/multiplexer/zellij/index.d.ts +1 -1
- package/dist/tools/ast-grep/index.d.ts +1 -1
- package/dist/tools/background.d.ts +1 -1
- package/dist/tools/council.d.ts +2 -1
- package/dist/tools/index.d.ts +0 -2
- package/dist/tools/lsp/types.d.ts +1 -1
- package/dist/utils/agent-variant.d.ts +15 -1
- package/dist/utils/subagent-depth.d.ts +35 -0
- package/dist/utils/tmux-debug-log.d.ts +2 -0
- package/oh-my-opencode-slim.schema.json +47 -50
- package/package.json +11 -10
- package/src/skills/{cartography → codemap}/README.md +11 -9
- package/src/skills/{cartography → codemap}/SKILL.md +21 -18
- package/src/skills/codemap/codemap.md +36 -0
- package/src/skills/codemap/scripts/codemap.mjs +483 -0
- package/src/skills/codemap/scripts/codemap.test.ts +129 -0
- package/src/skills/codemap.md +40 -0
- package/src/skills/simplify/README.md +19 -0
- package/src/skills/simplify/SKILL.md +138 -0
- package/src/skills/simplify/codemap.md +36 -0
- package/dist/background/tmux-session-manager.d.ts +0 -63
- package/dist/cli/chutes-selection.d.ts +0 -3
- package/dist/cli/dynamic-model-selection.d.ts +0 -14
- package/dist/cli/external-rankings.d.ts +0 -8
- package/dist/cli/model-selection.d.ts +0 -30
- package/dist/cli/opencode-models.d.ts +0 -18
- package/dist/cli/opencode-selection.d.ts +0 -3
- package/dist/cli/precedence-resolver.d.ts +0 -16
- package/dist/cli/scoring-v2/engine.d.ts +0 -4
- package/dist/cli/scoring-v2/features.d.ts +0 -3
- package/dist/cli/scoring-v2/index.d.ts +0 -4
- package/dist/cli/scoring-v2/types.d.ts +0 -17
- package/dist/cli/scoring-v2/weights.d.ts +0 -2
- package/dist/hooks/post-read-nudge/index.d.ts +0 -18
- package/dist/interview/store.d.ts +0 -9
- package/dist/tools/grep/cli.d.ts +0 -3
- package/dist/tools/grep/constants.d.ts +0 -18
- package/dist/tools/grep/downloader.d.ts +0 -3
- package/dist/tools/grep/index.d.ts +0 -5
- package/dist/tools/grep/tools.d.ts +0 -2
- package/dist/tools/grep/types.d.ts +0 -35
- package/dist/tools/grep/utils.d.ts +0 -2
- package/dist/tools/quota/api.d.ts +0 -5
- package/dist/tools/quota/command.d.ts +0 -1
- package/dist/tools/quota/index.d.ts +0 -21
- package/dist/tools/quota/types.d.ts +0 -41
- package/dist/utils/tmux.d.ts +0 -32
- package/src/skills/cartography/scripts/cartographer.py +0 -456
- package/src/skills/cartography/scripts/test_cartographer.py +0 -87
package/README.md
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
<div align="center">
|
|
2
|
-
<img src="img/team.
|
|
2
|
+
<img src="img/team.jpeg" alt="Pantheon agents" style="border-radius: 10px;">
|
|
3
3
|
<p><i>Seven divine beings emerged from the dawn of code, each an immortal master of their craft await your command to forge order from chaos and build what was once thought impossible.</i></p>
|
|
4
4
|
<p><b>Open Multi Agent Suite</b> · Mix any models · Auto delegate tasks</p>
|
|
5
|
-
|
|
5
|
+
|
|
6
6
|
<p><sub>by <b>Boring Dystopia Development</b></sub></p>
|
|
7
7
|
<p>
|
|
8
8
|
<a href="https://boringdystopia.ai/"><img src="https://img.shields.io/badge/boringdystopia.ai-111111?style=for-the-badge&logo=vercel&logoColor=white" alt="boringdystopia.ai"></a>
|
|
@@ -13,57 +13,81 @@
|
|
|
13
13
|
|
|
14
14
|
---
|
|
15
15
|
|
|
16
|
-
##
|
|
16
|
+
## What's This Plugin
|
|
17
|
+
|
|
18
|
+
oh-my-opencode-slim is an agent orchestration plugin for OpenCode. It includes a built-in team of specialized agents that can scout a codebase, look up fresh documentation, review architecture, handle UI work, and execute well-scoped implementation tasks under one orchestrator.
|
|
19
|
+
|
|
20
|
+
The main idea is simple: instead of forcing one model to do everything, the plugin routes each part of the job to the agent best suited for it, balancing **quality, speed and cost**.
|
|
21
|
+
|
|
22
|
+
To explore the agents themselves, see **[Meet the Pantheon](#meet-the-pantheon)**. For the full feature set, see **[Features & Workflows](#features-and-workflows)** below.
|
|
17
23
|
|
|
18
24
|
### Quick Start
|
|
19
25
|
|
|
20
|
-
|
|
21
|
-
|
|
26
|
+
Copy and paste this prompt to your LLM agent (Claude Code, AmpCode, Cursor, etc.):
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
```
|
|
30
|
+
Install and configure oh-my-opencode-slim: https://raw.githubusercontent.com/alvinunreal/oh-my-opencode-slim/refs/heads/master/README.md
|
|
22
31
|
```
|
|
23
32
|
|
|
24
|
-
The installer generates an OpenAI configuration by default (using `gpt-5.4` and `gpt-5.4-mini`). No provider questions asked.
|
|
25
33
|
|
|
26
|
-
|
|
34
|
+
### Manual Installation
|
|
27
35
|
|
|
28
36
|
```bash
|
|
29
|
-
bunx oh-my-opencode-slim@latest install
|
|
37
|
+
bunx oh-my-opencode-slim@latest install
|
|
30
38
|
```
|
|
31
39
|
|
|
32
|
-
|
|
33
|
-
```bash
|
|
34
|
-
bunx oh-my-opencode-slim@latest install --reset
|
|
35
|
-
```
|
|
40
|
+
### Getting Started
|
|
36
41
|
|
|
37
|
-
|
|
42
|
+
The installer generates an OpenAI preset by default, using `openai/gpt-5.4` for the higher-judgment agents and `openai/gpt-5.4-mini` for the faster scoped agents.
|
|
38
43
|
|
|
39
|
-
|
|
44
|
+
Then:
|
|
40
45
|
|
|
41
|
-
|
|
42
|
-
|
|
46
|
+
1. **Log in to the providers you want to use if you haven't already**:
|
|
47
|
+
|
|
48
|
+
```bash
|
|
49
|
+
opencode auth login
|
|
50
|
+
```
|
|
51
|
+
2. **Refresh and list the models OpenCode can see**:
|
|
43
52
|
|
|
44
|
-
|
|
53
|
+
```bash
|
|
54
|
+
opencode models --refresh
|
|
55
|
+
```
|
|
56
|
+
3. **Open your plugin config** at `~/.config/opencode/oh-my-opencode-slim.json`
|
|
45
57
|
|
|
46
|
-
|
|
58
|
+
4. **Update the models you want for each agent**
|
|
59
|
+
|
|
60
|
+
> [!TIP]
|
|
61
|
+
> Want to understand how automatic delegation works in practice? Review the **[Orchestrator prompt](https://github.com/alvinunreal/oh-my-opencode-slim/blob/master/src/agents/orchestrator.ts#L28)** — it contains the delegation rules, specialist routing logic, and the thresholds for when the main agent should hand work off to subagents.
|
|
62
|
+
|
|
63
|
+
The default generated configuration looks like this:
|
|
47
64
|
|
|
48
65
|
```jsonc
|
|
49
66
|
{
|
|
50
67
|
"$schema": "https://unpkg.com/oh-my-opencode-slim@latest/oh-my-opencode-slim.schema.json",
|
|
51
|
-
|
|
68
|
+
"preset": "openai",
|
|
69
|
+
"presets": {
|
|
70
|
+
"openai": {
|
|
71
|
+
"orchestrator": { "model": "openai/gpt-5.4", "variant": "high", "skills": ["*"], "mcps": ["*", "!context7"] },
|
|
72
|
+
"oracle": { "model": "openai/gpt-5.4", "variant": "high", "skills": ["simplify"], "mcps": [] },
|
|
73
|
+
"librarian": { "model": "openai/gpt-5.4-mini", "variant": "low", "skills": [], "mcps": ["websearch", "context7", "grep_app"] },
|
|
74
|
+
"explorer": { "model": "openai/gpt-5.4-mini", "variant": "low", "skills": [], "mcps": [] },
|
|
75
|
+
"designer": { "model": "openai/gpt-5.4-mini", "variant": "medium", "skills": ["agent-browser"], "mcps": [] },
|
|
76
|
+
"fixer": { "model": "openai/gpt-5.4-mini", "variant": "low", "skills": [], "mcps": [] }
|
|
77
|
+
}
|
|
78
|
+
}
|
|
52
79
|
}
|
|
53
80
|
```
|
|
54
81
|
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
### For LLM Agents
|
|
82
|
+
### For Alternative Providers
|
|
58
83
|
|
|
59
|
-
|
|
84
|
+
To use Kimi, GitHub Copilot, ZAI Coding Plan, or a mixed-provider setup, use **[Configuration](docs/configuration.md)** for the full reference. If you want a ready-made starting point, check the **[Author's Preset](docs/authors-preset.md)** and **[$30 Preset](docs/thirty-dollars-preset.md)** - the `$30` preset is the best cheap setup.
|
|
60
85
|
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
```
|
|
86
|
+
The configuration guide also covers custom subagents via `agents.<name>`, where
|
|
87
|
+
you can define both a normal `prompt` and an `orchestratorPrompt` block for
|
|
88
|
+
delegation.
|
|
65
89
|
|
|
66
|
-
**
|
|
90
|
+
You can also mix and match any models per agent. For model suggestions, see the **Recommended Models** listed under each agent below.
|
|
67
91
|
|
|
68
92
|
### ✅ Verify Your Setup
|
|
69
93
|
|
|
@@ -88,6 +112,8 @@ If any agent fails to respond, check your provider authentication and config fil
|
|
|
88
112
|
|
|
89
113
|
---
|
|
90
114
|
|
|
115
|
+
<a id="meet-the-pantheon"></a>
|
|
116
|
+
|
|
91
117
|
## 🏛️ Meet the Pantheon
|
|
92
118
|
|
|
93
119
|
### 01. Orchestrator: The Embodiment Of Order
|
|
@@ -122,6 +148,11 @@ If any agent fails to respond, check your provider authentication and config fil
|
|
|
122
148
|
<b>Recommended Models:</b> <code>openai/gpt-5.4</code> <code>anthropic/claude-opus-4.6</code>
|
|
123
149
|
</td>
|
|
124
150
|
</tr>
|
|
151
|
+
<tr>
|
|
152
|
+
<td colspan="2">
|
|
153
|
+
<b>Model Guidance:</b> Choose your default, strongest all-around coding model. Orchestrator is both the main coding agent and the delegator, so it needs strong implementation ability, good judgment, and reliable instruction-following.
|
|
154
|
+
</td>
|
|
155
|
+
</tr>
|
|
125
156
|
</table>
|
|
126
157
|
|
|
127
158
|
---
|
|
@@ -158,6 +189,11 @@ If any agent fails to respond, check your provider authentication and config fil
|
|
|
158
189
|
<b>Recommended Models:</b> <code>cerebras/zai-glm-4.7</code> <code>fireworks-ai/accounts/fireworks/routers/kimi-k2p5-turbo</code> <code>openai/gpt-5.4-mini</code>
|
|
159
190
|
</td>
|
|
160
191
|
</tr>
|
|
192
|
+
<tr>
|
|
193
|
+
<td colspan="2">
|
|
194
|
+
<b>Model Guidance:</b> Choose a fast, low-cost model. Explorer handles broad scouting work, so speed and efficiency usually matter more than using your strongest reasoning model.
|
|
195
|
+
</td>
|
|
196
|
+
</tr>
|
|
161
197
|
</table>
|
|
162
198
|
|
|
163
199
|
---
|
|
@@ -194,12 +230,20 @@ If any agent fails to respond, check your provider authentication and config fil
|
|
|
194
230
|
<b>Recommended Models:</b> <code>openai/gpt-5.4 (high)</code> <code>google/gemini-3.1-pro-preview (high)</code>
|
|
195
231
|
</td>
|
|
196
232
|
</tr>
|
|
233
|
+
<tr>
|
|
234
|
+
<td colspan="2">
|
|
235
|
+
<b>Model Guidance:</b> Choose your strongest high-reasoning model for architecture, hard debugging, trade-offs, and code review.
|
|
236
|
+
</td>
|
|
237
|
+
</tr>
|
|
197
238
|
</table>
|
|
198
239
|
|
|
199
240
|
---
|
|
200
241
|
|
|
201
242
|
### Council: The Chorus of Minds
|
|
202
243
|
|
|
244
|
+
> [!NOTE]
|
|
245
|
+
> **Why doesn't Orchestrator auto-call Council more often?** This is intentional. Council runs multiple models at once, so automatic delegation is kept strict because it is usually the highest-cost path in the system. In practice, Council is meant to be used manually when you want it, for example: <code>@council compare these two architectures</code>.
|
|
246
|
+
|
|
203
247
|
<table>
|
|
204
248
|
<tr>
|
|
205
249
|
<td width="30%" align="center" valign="top">
|
|
@@ -227,7 +271,7 @@ If any agent fails to respond, check your provider authentication and config fil
|
|
|
227
271
|
</tr>
|
|
228
272
|
<tr>
|
|
229
273
|
<td colspan="2">
|
|
230
|
-
<b>Default Setup:</b> <code>Config-driven</code> —
|
|
274
|
+
<b>Default Setup:</b> <code>Config-driven</code> — councillors are chosen from your configured preset and the council agent synthesizes their responses
|
|
231
275
|
</td>
|
|
232
276
|
</tr>
|
|
233
277
|
<tr>
|
|
@@ -235,6 +279,11 @@ If any agent fails to respond, check your provider authentication and config fil
|
|
|
235
279
|
<b>Recommended Setup:</b> <code>Strong master</code> + <code>diverse councillors</code> across providers
|
|
236
280
|
</td>
|
|
237
281
|
</tr>
|
|
282
|
+
<tr>
|
|
283
|
+
<td colspan="2">
|
|
284
|
+
<b>Model Guidance:</b> Use a strong synthesis model as the master and diverse models as councillors. The value of Council comes from comparing different model perspectives, not just picking the single strongest model everywhere.
|
|
285
|
+
</td>
|
|
286
|
+
</tr>
|
|
238
287
|
</table>
|
|
239
288
|
|
|
240
289
|
---
|
|
@@ -271,6 +320,11 @@ If any agent fails to respond, check your provider authentication and config fil
|
|
|
271
320
|
<b>Recommended Models:</b> <code>cerebras/zai-glm-4.7</code> <code>fireworks-ai/accounts/fireworks/routers/kimi-k2p5-turbo</code> <code>openai/gpt-5.4-mini</code>
|
|
272
321
|
</td>
|
|
273
322
|
</tr>
|
|
323
|
+
<tr>
|
|
324
|
+
<td colspan="2">
|
|
325
|
+
<b>Model Guidance:</b> Choose a fast, low-cost model. Librarian handles research and documentation lookups, so speed and efficiency usually matter more than using your strongest reasoning model.
|
|
326
|
+
</td>
|
|
327
|
+
</tr>
|
|
274
328
|
</table>
|
|
275
329
|
|
|
276
330
|
---
|
|
@@ -307,6 +361,11 @@ If any agent fails to respond, check your provider authentication and config fil
|
|
|
307
361
|
<b>Recommended Models:</b> <code>google/gemini-3.1-pro-preview</code> <code>kimi-for-coding/k2p5</code>
|
|
308
362
|
</td>
|
|
309
363
|
</tr>
|
|
364
|
+
<tr>
|
|
365
|
+
<td colspan="2">
|
|
366
|
+
<b>Model Guidance:</b> Choose a model that is strong at UI/UX judgment, frontend implementation, and visual polish.
|
|
367
|
+
</td>
|
|
368
|
+
</tr>
|
|
310
369
|
</table>
|
|
311
370
|
|
|
312
371
|
---
|
|
@@ -343,12 +402,17 @@ If any agent fails to respond, check your provider authentication and config fil
|
|
|
343
402
|
<b>Recommended Models:</b> <code>cerebras/zai-glm-4.7</code> <code>fireworks-ai/accounts/fireworks/routers/kimi-k2p5-turbo</code> <code>openai/gpt-5.4-mini</code>
|
|
344
403
|
</td>
|
|
345
404
|
</tr>
|
|
405
|
+
<tr>
|
|
406
|
+
<td colspan="2">
|
|
407
|
+
<b>Model Guidance:</b> Choose a fast, reliable coding model for routine, scoped implementation work. Fixer usually receives a concrete plan or bounded instructions from Orchestrator, making it a good place for efficient execution tasks such as tests, test updates, and straightforward code changes.
|
|
408
|
+
</td>
|
|
409
|
+
</tr>
|
|
346
410
|
</table>
|
|
347
411
|
|
|
348
412
|
### 07. Observer: The Silent Witness
|
|
349
413
|
|
|
350
414
|
> [!NOTE]
|
|
351
|
-
> **Why a separate agent?**
|
|
415
|
+
> **Why a separate agent?** If your Orchestrator model is not multimodal, enable Observer to handle images, screenshots, PDFs, and other visual files. Observer is disabled by default and gives the Orchestrator a dedicated multimodal reader without forcing you to change your main reasoning model. Set `disabled_agents: []` and an `observer` model in your configuration.
|
|
352
416
|
|
|
353
417
|
<table>
|
|
354
418
|
<tr>
|
|
@@ -376,45 +440,53 @@ If any agent fails to respond, check your provider authentication and config fil
|
|
|
376
440
|
<b>Default Model:</b> <code>openai/gpt-5.4-mini</code> — <i>configure a vision-capable model to enable</i>
|
|
377
441
|
</td>
|
|
378
442
|
</tr>
|
|
443
|
+
<tr>
|
|
444
|
+
<td colspan="2">
|
|
445
|
+
<b>Model Guidance:</b> Choose a vision-capable model if you want the agent to read screenshots, images, PDFs, and other visual files.
|
|
446
|
+
</td>
|
|
447
|
+
</tr>
|
|
379
448
|
</table>
|
|
380
449
|
|
|
381
450
|
---
|
|
382
451
|
|
|
383
452
|
## 📚 Documentation
|
|
384
453
|
|
|
385
|
-
|
|
454
|
+
Use this section as a map: start with installation, then jump to features, configuration, or example presets depending on what you need.
|
|
386
455
|
|
|
387
|
-
|
|
388
|
-
|-----|----------|
|
|
389
|
-
| **[Installation Guide](docs/installation.md)** | CLI flags, `--reset`, auth, troubleshooting |
|
|
390
|
-
| **[Provider Configurations](docs/provider-configurations.md)** | OpenAI, Kimi, Copilot, ZAI, Fireworks AI — mixing providers, fallback chains |
|
|
456
|
+
### 🚀 Start Here
|
|
391
457
|
|
|
392
|
-
|
|
458
|
+
| Doc | What it covers |
|
|
459
|
+
|-----|----------------|
|
|
460
|
+
| **[Installation Guide](docs/installation.md)** | Install the plugin, use CLI flags, reset config, and troubleshoot setup |
|
|
393
461
|
|
|
394
|
-
|
|
395
|
-
|---------|-----|--------------|
|
|
396
|
-
| **Council** | [council.md](docs/council.md) | Run N models in parallel, synthesize one answer (`@council`) |
|
|
397
|
-
| **Interview** | [interview.md](docs/interview.md) | Browser-based Q&A flow for turning rough ideas into a live markdown spec |
|
|
398
|
-
| **Multiplexer Integration** | [multiplexer-integration.md](docs/multiplexer-integration.md) | Watch agents work in real-time with auto-spawned panes (Tmux/Zellij) |
|
|
399
|
-
| **Cartography Skill** | [cartography.md](docs/cartography.md) | Auto-generate hierarchical codemaps for any codebase |
|
|
462
|
+
<a id="features-and-workflows"></a>
|
|
400
463
|
|
|
401
|
-
###
|
|
464
|
+
### ✨ Features & Workflows
|
|
465
|
+
|
|
466
|
+
| Doc | What it covers |
|
|
467
|
+
|-----|----------------|
|
|
468
|
+
| **[Council](docs/council.md)** | Run multiple models in parallel and synthesize a single answer with `@council` |
|
|
469
|
+
| **[Interview](docs/interview.md)** | Turn rough ideas into a structured markdown spec through a browser-based Q&A flow |
|
|
470
|
+
| **[Multiplexer Integration](docs/multiplexer-integration.md)** | Watch agents work live in Tmux or Zellij panes |
|
|
471
|
+
| **[Todo Continuation](docs/todo-continuation.md)** | Auto-continue orchestrator sessions with cooldowns and safety checks |
|
|
472
|
+
| **[Codemap](docs/codemap.md)** | Generate hierarchical codemaps to understand large codebases faster |
|
|
402
473
|
|
|
403
|
-
|
|
404
|
-
|-----|----------|
|
|
405
|
-
| **[Skills](docs/skills.md)** | `simplify`, `agent-browser`, `cartography` — assignment syntax |
|
|
406
|
-
| **[MCPs](docs/mcps.md)** | `websearch`, `context7`, `grep_app` — permissions per agent |
|
|
407
|
-
| **[Tools](docs/tools.md)** | Background tasks, LSP, code search, formatters |
|
|
408
|
-
| **[Configuration](docs/configuration.md)** | Config files, prompt overriding, JSONC, full option reference |
|
|
474
|
+
### ⚙️ Config & Reference
|
|
409
475
|
|
|
410
|
-
|
|
476
|
+
| Doc | What it covers |
|
|
477
|
+
|-----|----------------|
|
|
478
|
+
| **[Configuration](docs/configuration.md)** | Config file locations, JSONC support, prompt overrides, and full option reference |
|
|
479
|
+
| **[Maintainer Guide](docs/maintainers.md)** | Issue triage rules, label meanings, support routing, and repo maintenance workflow |
|
|
480
|
+
| **[Skills](docs/skills.md)** | Built-in and recommended skills such as `simplify`, `agent-browser`, and `codemap` |
|
|
481
|
+
| **[MCPs](docs/mcps.md)** | `websearch`, `context7`, `grep_app`, and how MCP permissions work per agent |
|
|
482
|
+
| **[Tools](docs/tools.md)** | Built-in tool capabilities like `webfetch`, LSP tools, code search, and formatters |
|
|
411
483
|
|
|
412
|
-
### 💡 Presets
|
|
484
|
+
### 💡 Example Presets
|
|
413
485
|
|
|
414
|
-
| Doc |
|
|
415
|
-
|
|
416
|
-
| **[Author's Preset](docs/authors-preset.md)** | The
|
|
417
|
-
| **[$30 Preset](docs/thirty-dollars-preset.md)** | A mixed setup
|
|
486
|
+
| Doc | What it covers |
|
|
487
|
+
|-----|----------------|
|
|
488
|
+
| **[Author's Preset](docs/authors-preset.md)** | The author's daily mixed-provider setup |
|
|
489
|
+
| **[$30 Preset](docs/thirty-dollars-preset.md)** | A budget mixed-provider setup for around $30/month |
|
|
418
490
|
|
|
419
491
|
---
|
|
420
492
|
|
|
@@ -425,7 +497,7 @@ Slim only intercepts `apply_patch` before native execution. It rewrites recovera
|
|
|
425
497
|
<p><sub>Every merged contribution leaves a mark on the realm.</sub></p>
|
|
426
498
|
|
|
427
499
|
<!-- ALL-CONTRIBUTORS-BADGE:START - Do not remove or modify this section -->
|
|
428
|
-
[](#contributors-)
|
|
429
501
|
<!-- ALL-CONTRIBUTORS-BADGE:END -->
|
|
430
502
|
</div>
|
|
431
503
|
|
|
@@ -487,6 +559,9 @@ Slim only intercepts `apply_patch` before native execution. It rewrites recovera
|
|
|
487
559
|
<tr>
|
|
488
560
|
<td align="center" valign="top" width="16.66%"><a href="https://github.com/dkovacevic15"><img src="https://avatars.githubusercontent.com/u/24757821?v=4?s=100" width="100px;" alt="Dusan Kovacevic"/><br /><sub><b>Dusan Kovacevic</b></sub></a><br /><a href="https://github.com/alvinunreal/oh-my-opencode-slim/commits?author=dkovacevic15" title="Code">💻</a></td>
|
|
489
561
|
<td align="center" valign="top" width="16.66%"><a href="https://github.com/jwcrystal"><img src="https://avatars.githubusercontent.com/u/121911854?v=4?s=100" width="100px;" alt="jwcrystal"/><br /><sub><b>jwcrystal</b></sub></a><br /><a href="https://github.com/alvinunreal/oh-my-opencode-slim/commits?author=jwcrystal" title="Code">💻</a></td>
|
|
562
|
+
<td align="center" valign="top" width="16.66%"><a href="https://zenstudio.cv/"><img src="https://avatars.githubusercontent.com/u/10528635?v=4?s=100" width="100px;" alt="Nguyen Canh Toan"/><br /><sub><b>Nguyen Canh Toan</b></sub></a><br /><a href="https://github.com/alvinunreal/oh-my-opencode-slim/commits?author=ZenStudioLab" title="Code">💻</a></td>
|
|
563
|
+
<td align="center" valign="top" width="16.66%"><a href="https://github.com/tom-dyar"><img src="https://avatars.githubusercontent.com/u/8899513?v=4?s=100" width="100px;" alt="Thomas Dyar"/><br /><sub><b>Thomas Dyar</b></sub></a><br /><a href="https://github.com/alvinunreal/oh-my-opencode-slim/commits?author=tom-dyar" title="Code">💻</a></td>
|
|
564
|
+
<td align="center" valign="top" width="16.66%"><a href="https://github.com/zuuky"><img src="https://avatars.githubusercontent.com/u/6713415?v=4?s=100" width="100px;" alt="zero"/><br /><sub><b>zero</b></sub></a><br /><a href="https://github.com/alvinunreal/oh-my-opencode-slim/commits?author=zuuky" title="Code">💻</a></td>
|
|
490
565
|
</tr>
|
|
491
566
|
</tbody>
|
|
492
567
|
</table>
|
package/dist/agents/council.d.ts
CHANGED
|
@@ -11,18 +11,17 @@ export declare function createCouncilAgent(model: string, customPrompt?: string,
|
|
|
11
11
|
*/
|
|
12
12
|
export declare function formatCouncillorPrompt(userPrompt: string, councillorPrompt?: string): string;
|
|
13
13
|
/**
|
|
14
|
-
*
|
|
14
|
+
* Format councillor results for the council agent to synthesize.
|
|
15
15
|
*
|
|
16
|
-
* Formats councillor results as structured data
|
|
17
|
-
* (
|
|
18
|
-
*
|
|
19
|
-
*
|
|
20
|
-
* @param masterPrompt - Optional per-master guidance appended to the synthesis.
|
|
16
|
+
* Formats councillor results as structured data that the council agent
|
|
17
|
+
* (which called the tool) will receive as the tool response. The council
|
|
18
|
+
* agent's system prompt contains synthesis instructions.
|
|
19
|
+
* Returns a special message when all councillors failed to produce output.
|
|
21
20
|
*/
|
|
22
|
-
export declare function
|
|
21
|
+
export declare function formatCouncillorResults(originalPrompt: string, councillorResults: Array<{
|
|
23
22
|
name: string;
|
|
24
23
|
model: string;
|
|
25
24
|
status: string;
|
|
26
25
|
result?: string;
|
|
27
26
|
error?: string;
|
|
28
|
-
}
|
|
27
|
+
}>): string;
|
|
@@ -16,6 +16,7 @@ import type { PluginInput } from '@opencode-ai/plugin';
|
|
|
16
16
|
import type { BackgroundTaskConfig, PluginConfig } from '../config';
|
|
17
17
|
import type { MultiplexerConfig } from '../config/schema';
|
|
18
18
|
import { SubagentDepthTracker } from './subagent-depth';
|
|
19
|
+
export declare function loadPersistedTask(taskId: string): BackgroundTask | null;
|
|
19
20
|
/**
|
|
20
21
|
* Represents a background task running in an isolated session.
|
|
21
22
|
* Tasks are tracked from creation through completion or failure.
|
|
@@ -33,6 +34,7 @@ export interface BackgroundTask {
|
|
|
33
34
|
startedAt: Date;
|
|
34
35
|
completedAt?: Date;
|
|
35
36
|
prompt: string;
|
|
37
|
+
questions: string[];
|
|
36
38
|
}
|
|
37
39
|
/**
|
|
38
40
|
* Options for launching a new background task.
|
|
@@ -65,6 +67,11 @@ export declare class BackgroundTaskManager {
|
|
|
65
67
|
* to add new background agent types without updating SUBAGENT_DELEGATION_RULES.
|
|
66
68
|
*/
|
|
67
69
|
private getSubagentRules;
|
|
70
|
+
/**
|
|
71
|
+
* Resolve the agent associated with a session.
|
|
72
|
+
* Untracked sessions are treated as orchestrator sessions by default.
|
|
73
|
+
*/
|
|
74
|
+
private getSessionAgent;
|
|
68
75
|
/**
|
|
69
76
|
* Check if a parent session is allowed to delegate to a specific agent type.
|
|
70
77
|
* @param parentSessionId - The session ID of the parent
|
|
@@ -154,10 +161,22 @@ export declare class BackgroundTaskManager {
|
|
|
154
161
|
/**
|
|
155
162
|
* Retrieve the current state of a background task.
|
|
156
163
|
*
|
|
164
|
+
* Checks in-memory first. If not found (e.g. after plugin reinitialization
|
|
165
|
+
* caused by context compaction), falls back to the persisted state on disk.
|
|
166
|
+
*
|
|
157
167
|
* @param taskId - The task ID to retrieve
|
|
158
|
-
* @returns The task object, or null if not found
|
|
168
|
+
* @returns The task object, or null if not found in memory or on disk
|
|
159
169
|
*/
|
|
160
170
|
getResult(taskId: string): BackgroundTask | null;
|
|
171
|
+
/**
|
|
172
|
+
* Add a question relayed from a background subagent via ask_orchestrator.
|
|
173
|
+
* Resolves the task from the session ID in toolContext.
|
|
174
|
+
* Returns true if the question was recorded, false if the task wasn't found
|
|
175
|
+
* or is no longer active (completed/failed/cancelled).
|
|
176
|
+
*
|
|
177
|
+
* Questions are persisted to disk immediately for crash safety.
|
|
178
|
+
*/
|
|
179
|
+
addQuestion(sessionId: string, question: string): 'recorded' | 'not-found' | 'terminal' | 'cap-reached';
|
|
161
180
|
/**
|
|
162
181
|
* Wait for a task to complete.
|
|
163
182
|
*
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export { type BackgroundTask, BackgroundTaskManager, type LaunchOptions, } from './background-manager';
|
|
1
|
+
export { type BackgroundTask, BackgroundTaskManager, type LaunchOptions, loadPersistedTask, } from './background-manager';
|
|
2
2
|
export { MultiplexerSessionManager, TmuxSessionManager, } from './multiplexer-session-manager';
|
|
3
3
|
export { SubagentDepthTracker } from './subagent-depth';
|
|
@@ -10,6 +10,7 @@ interface SessionEvent {
|
|
|
10
10
|
id?: string;
|
|
11
11
|
parentID?: string;
|
|
12
12
|
title?: string;
|
|
13
|
+
directory?: string;
|
|
13
14
|
};
|
|
14
15
|
sessionID?: string;
|
|
15
16
|
status?: {
|
|
@@ -26,6 +27,7 @@ interface SessionEvent {
|
|
|
26
27
|
export declare class MultiplexerSessionManager {
|
|
27
28
|
private client;
|
|
28
29
|
private serverUrl;
|
|
30
|
+
private directory;
|
|
29
31
|
private multiplexer;
|
|
30
32
|
private sessions;
|
|
31
33
|
private pollInterval?;
|