oh-my-opencode-slim 0.9.15 → 1.0.1
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 +38 -18
- package/dist/agents/council.d.ts +7 -8
- package/dist/agents/orchestrator.d.ts +1 -1
- package/dist/background/background-manager.d.ts +11 -0
- package/dist/background/index.d.ts +1 -1
- package/dist/cli/index.js +309 -13804
- package/dist/cli/types.d.ts +1 -1
- package/dist/config/constants.d.ts +3 -3
- package/dist/config/council-schema.d.ts +46 -69
- package/dist/config/index.d.ts +1 -1
- package/dist/config/schema.d.ts +48 -33
- package/dist/config/utils.d.ts +7 -0
- package/dist/council/council-manager.d.ts +9 -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 +7670 -26628
- package/dist/interview/service.d.ts +1 -0
- package/dist/multiplexer/index.d.ts +1 -0
- package/dist/multiplexer/session-manager.d.ts +46 -0
- package/dist/multiplexer/types.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 +2 -2
- package/dist/tools/lsp/types.d.ts +1 -1
- package/dist/tools/preset-manager.d.ts +27 -0
- 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 +35 -50
- package/package.json +9 -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/codemap.md +36 -0
- package/src/skills/cartography/scripts/cartographer.py +0 -456
- package/src/skills/cartography/scripts/test_cartographer.py +0 -87
package/README.md
CHANGED
|
@@ -23,6 +23,16 @@ To explore the agents themselves, see **[Meet the Pantheon](#meet-the-pantheon)*
|
|
|
23
23
|
|
|
24
24
|
### Quick Start
|
|
25
25
|
|
|
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
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
|
|
34
|
+
### Manual Installation
|
|
35
|
+
|
|
26
36
|
```bash
|
|
27
37
|
bunx oh-my-opencode-slim@latest install
|
|
28
38
|
```
|
|
@@ -61,7 +71,7 @@ The default generated configuration looks like this:
|
|
|
61
71
|
"orchestrator": { "model": "openai/gpt-5.4", "variant": "high", "skills": ["*"], "mcps": ["*", "!context7"] },
|
|
62
72
|
"oracle": { "model": "openai/gpt-5.4", "variant": "high", "skills": ["simplify"], "mcps": [] },
|
|
63
73
|
"librarian": { "model": "openai/gpt-5.4-mini", "variant": "low", "skills": [], "mcps": ["websearch", "context7", "grep_app"] },
|
|
64
|
-
"explorer": { "model": "openai/gpt-5.4-mini", "variant": "low", "skills": [
|
|
74
|
+
"explorer": { "model": "openai/gpt-5.4-mini", "variant": "low", "skills": [], "mcps": [] },
|
|
65
75
|
"designer": { "model": "openai/gpt-5.4-mini", "variant": "medium", "skills": ["agent-browser"], "mcps": [] },
|
|
66
76
|
"fixer": { "model": "openai/gpt-5.4-mini", "variant": "low", "skills": [], "mcps": [] }
|
|
67
77
|
}
|
|
@@ -71,7 +81,11 @@ The default generated configuration looks like this:
|
|
|
71
81
|
|
|
72
82
|
### For Alternative Providers
|
|
73
83
|
|
|
74
|
-
To use Kimi, GitHub Copilot, ZAI Coding Plan, or a mixed-provider setup,
|
|
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.
|
|
85
|
+
|
|
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.
|
|
75
89
|
|
|
76
90
|
You can also mix and match any models per agent. For model suggestions, see the **Recommended Models** listed under each agent below.
|
|
77
91
|
|
|
@@ -91,7 +105,7 @@ ping all agents
|
|
|
91
105
|
|
|
92
106
|
<div align="center">
|
|
93
107
|
<img src="img/ping.png" alt="Ping all agents" width="600">
|
|
94
|
-
<p><i>Confirmation that all
|
|
108
|
+
<p><i>Confirmation that all configured agents are online and ready.</i></p>
|
|
95
109
|
</div>
|
|
96
110
|
|
|
97
111
|
If any agent fails to respond, check your provider authentication and config file.
|
|
@@ -225,7 +239,7 @@ If any agent fails to respond, check your provider authentication and config fil
|
|
|
225
239
|
|
|
226
240
|
---
|
|
227
241
|
|
|
228
|
-
### Council: The Chorus of Minds
|
|
242
|
+
### 04. Council: The Chorus of Minds
|
|
229
243
|
|
|
230
244
|
> [!NOTE]
|
|
231
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>.
|
|
@@ -257,7 +271,7 @@ If any agent fails to respond, check your provider authentication and config fil
|
|
|
257
271
|
</tr>
|
|
258
272
|
<tr>
|
|
259
273
|
<td colspan="2">
|
|
260
|
-
<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
|
|
261
275
|
</td>
|
|
262
276
|
</tr>
|
|
263
277
|
<tr>
|
|
@@ -274,7 +288,7 @@ If any agent fails to respond, check your provider authentication and config fil
|
|
|
274
288
|
|
|
275
289
|
---
|
|
276
290
|
|
|
277
|
-
###
|
|
291
|
+
### 05. Librarian: The Weaver of Knowledge
|
|
278
292
|
|
|
279
293
|
<table>
|
|
280
294
|
<tr>
|
|
@@ -315,7 +329,7 @@ If any agent fails to respond, check your provider authentication and config fil
|
|
|
315
329
|
|
|
316
330
|
---
|
|
317
331
|
|
|
318
|
-
###
|
|
332
|
+
### 06. Designer: The Guardian of Aesthetics
|
|
319
333
|
|
|
320
334
|
<table>
|
|
321
335
|
<tr>
|
|
@@ -356,7 +370,7 @@ If any agent fails to respond, check your provider authentication and config fil
|
|
|
356
370
|
|
|
357
371
|
---
|
|
358
372
|
|
|
359
|
-
###
|
|
373
|
+
### 07. Fixer: The Last Builder
|
|
360
374
|
|
|
361
375
|
<table>
|
|
362
376
|
<tr>
|
|
@@ -395,18 +409,22 @@ If any agent fails to respond, check your provider authentication and config fil
|
|
|
395
409
|
</tr>
|
|
396
410
|
</table>
|
|
397
411
|
|
|
398
|
-
|
|
412
|
+
---
|
|
413
|
+
|
|
414
|
+
## Optional Agents
|
|
415
|
+
|
|
416
|
+
### Observer: The Silent Witness
|
|
399
417
|
|
|
400
418
|
> [!NOTE]
|
|
401
419
|
> **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.
|
|
402
420
|
|
|
403
421
|
<table>
|
|
404
422
|
<tr>
|
|
405
|
-
<td width="
|
|
406
|
-
<
|
|
407
|
-
<i>
|
|
423
|
+
<td width="30%" align="center" valign="top">
|
|
424
|
+
<img src="img/observer.jpg" width="240" style="border-radius: 10px;">
|
|
425
|
+
<br><sub><i>The eye that reads what others cannot.</i></sub>
|
|
408
426
|
</td>
|
|
409
|
-
<td>
|
|
427
|
+
<td width="70%" valign="top">
|
|
410
428
|
|
|
411
429
|
**Read-only visual analysis** — interprets images, screenshots, PDFs, and diagrams. Returns structured observations to the orchestrator without loading raw file bytes into the main context window.
|
|
412
430
|
|
|
@@ -444,7 +462,6 @@ Use this section as a map: start with installation, then jump to features, confi
|
|
|
444
462
|
| Doc | What it covers |
|
|
445
463
|
|-----|----------------|
|
|
446
464
|
| **[Installation Guide](docs/installation.md)** | Install the plugin, use CLI flags, reset config, and troubleshoot setup |
|
|
447
|
-
| **[Provider Configurations](docs/provider-configurations.md)** | Configure OpenAI, Kimi, GitHub Copilot, ZAI, Fireworks AI, or mixed-provider presets |
|
|
448
465
|
|
|
449
466
|
<a id="features-and-workflows"></a>
|
|
450
467
|
|
|
@@ -456,16 +473,18 @@ Use this section as a map: start with installation, then jump to features, confi
|
|
|
456
473
|
| **[Interview](docs/interview.md)** | Turn rough ideas into a structured markdown spec through a browser-based Q&A flow |
|
|
457
474
|
| **[Multiplexer Integration](docs/multiplexer-integration.md)** | Watch agents work live in Tmux or Zellij panes |
|
|
458
475
|
| **[Todo Continuation](docs/todo-continuation.md)** | Auto-continue orchestrator sessions with cooldowns and safety checks |
|
|
459
|
-
| **[
|
|
476
|
+
| **[Preset Switching](docs/preset-switching.md)** | Switch agent model presets at runtime with `/preset` |
|
|
477
|
+
| **[Codemap](docs/codemap.md)** | Generate hierarchical codemaps to understand large codebases faster |
|
|
460
478
|
|
|
461
479
|
### ⚙️ Config & Reference
|
|
462
480
|
|
|
463
481
|
| Doc | What it covers |
|
|
464
482
|
|-----|----------------|
|
|
465
483
|
| **[Configuration](docs/configuration.md)** | Config file locations, JSONC support, prompt overrides, and full option reference |
|
|
466
|
-
| **[
|
|
484
|
+
| **[Maintainer Guide](docs/maintainers.md)** | Issue triage rules, label meanings, support routing, and repo maintenance workflow |
|
|
485
|
+
| **[Skills](docs/skills.md)** | Built-in and recommended skills such as `simplify`, `agent-browser`, and `codemap` |
|
|
467
486
|
| **[MCPs](docs/mcps.md)** | `websearch`, `context7`, `grep_app`, and how MCP permissions work per agent |
|
|
468
|
-
| **[Tools](docs/tools.md)** | Built-in tool capabilities like
|
|
487
|
+
| **[Tools](docs/tools.md)** | Built-in tool capabilities like `webfetch`, LSP tools, code search, and formatters |
|
|
469
488
|
|
|
470
489
|
### 💡 Example Presets
|
|
471
490
|
|
|
@@ -483,7 +502,7 @@ Use this section as a map: start with installation, then jump to features, confi
|
|
|
483
502
|
<p><sub>Every merged contribution leaves a mark on the realm.</sub></p>
|
|
484
503
|
|
|
485
504
|
<!-- ALL-CONTRIBUTORS-BADGE:START - Do not remove or modify this section -->
|
|
486
|
-
[](#contributors-)
|
|
487
506
|
<!-- ALL-CONTRIBUTORS-BADGE:END -->
|
|
488
507
|
</div>
|
|
489
508
|
|
|
@@ -547,6 +566,7 @@ Use this section as a map: start with installation, then jump to features, confi
|
|
|
547
566
|
<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>
|
|
548
567
|
<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>
|
|
549
568
|
<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>
|
|
569
|
+
<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>
|
|
550
570
|
</tr>
|
|
551
571
|
</tbody>
|
|
552
572
|
</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.
|
|
@@ -166,6 +168,15 @@ export declare class BackgroundTaskManager {
|
|
|
166
168
|
* @returns The task object, or null if not found in memory or on disk
|
|
167
169
|
*/
|
|
168
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';
|
|
169
180
|
/**
|
|
170
181
|
* Wait for a task to complete.
|
|
171
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';
|