oh-my-opencode-slim 0.6.4 → 0.8.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 +29 -2
- package/dist/agents/index.d.ts +1 -1
- package/dist/agents/orchestrator.d.ts +1 -1
- package/dist/background/background-manager.d.ts +44 -0
- package/dist/background/tmux-session-manager.d.ts +5 -0
- package/dist/cli/chutes-selection.d.ts +3 -0
- package/dist/cli/config-io.d.ts +5 -0
- package/dist/cli/config-manager.d.ts +8 -0
- package/dist/cli/dynamic-model-selection.d.ts +14 -0
- package/dist/cli/external-rankings.d.ts +8 -0
- package/dist/cli/index.js +2888 -166
- package/dist/cli/model-key-normalization.d.ts +1 -0
- package/dist/cli/model-selection.d.ts +30 -0
- package/dist/cli/opencode-models.d.ts +18 -0
- package/dist/cli/opencode-selection.d.ts +3 -0
- package/dist/cli/paths.d.ts +2 -0
- package/dist/cli/precedence-resolver.d.ts +16 -0
- package/dist/cli/providers.d.ts +127 -2
- package/dist/cli/scoring-v2/engine.d.ts +4 -0
- package/dist/cli/scoring-v2/features.d.ts +3 -0
- package/dist/cli/scoring-v2/index.d.ts +4 -0
- package/dist/cli/scoring-v2/types.d.ts +17 -0
- package/dist/cli/scoring-v2/weights.d.ts +2 -0
- package/dist/cli/system.d.ts +2 -0
- package/dist/cli/types.d.ts +104 -0
- package/dist/config/constants.d.ts +2 -0
- package/dist/config/loader.d.ts +3 -2
- package/dist/config/schema.d.ts +119 -0
- package/dist/index.js +305 -71
- package/dist/utils/env.d.ts +1 -0
- package/dist/utils/index.d.ts +1 -0
- package/package.json +8 -8
package/README.md
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
<div align="center">
|
|
2
2
|
<img src="img/team.png" alt="Pantheon agents" width="420">
|
|
3
3
|
<p><i>Six 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
|
-
<p><b>Multi Agent Suite</b> · Mix any models · Auto delegate tasks</p>
|
|
4
|
+
<p><b>Open Multi Agent Suite</b> · Mix any models · Auto delegate tasks</p>
|
|
5
|
+
<p><a href="https://moltfounders.com/project/0f5874c7-9291-415b-9622-7509d96a2c73"><img src="https://moltfounders.com/badges/4.png" alt="MoltFounders" height="30"></a></p>
|
|
5
6
|
</div>
|
|
6
7
|
|
|
7
8
|
---
|
|
@@ -14,6 +15,12 @@
|
|
|
14
15
|
bunx oh-my-opencode-slim@latest install
|
|
15
16
|
```
|
|
16
17
|
|
|
18
|
+
The installer can refresh and use OpenCode free models directly:
|
|
19
|
+
|
|
20
|
+
```bash
|
|
21
|
+
bunx oh-my-opencode-slim@latest install --no-tui --kimi=yes --openai=yes --antigravity=yes --chutes=yes --opencode-free=yes --opencode-free-model=auto --tmux=no --skills=yes
|
|
22
|
+
```
|
|
23
|
+
|
|
17
24
|
Then authenticate:
|
|
18
25
|
|
|
19
26
|
```bash
|
|
@@ -22,7 +29,13 @@ opencode auth login
|
|
|
22
29
|
|
|
23
30
|
Run `ping all agents` to verify everything works.
|
|
24
31
|
|
|
25
|
-
|
|
32
|
+
OpenCode free-model mode uses `opencode models --refresh --verbose`, filters to free `opencode/*` models, and applies coding-first selection:
|
|
33
|
+
- OpenCode-only mode can use multiple OpenCode free models across agents.
|
|
34
|
+
- Hybrid mode can combine OpenCode free models with OpenAI, Kimi, and/or Antigravity.
|
|
35
|
+
- In hybrid mode, `designer` stays on the external provider mapping.
|
|
36
|
+
- Chutes mode auto-selects primary/support models with daily-cap awareness (300/2000/5000).
|
|
37
|
+
|
|
38
|
+
> **💡 Models are fully customizable.** Edit `~/.config/opencode/oh-my-opencode-slim.json` (or `.jsonc` for comments support) to assign any model to any agent.
|
|
26
39
|
|
|
27
40
|
### For LLM Agents
|
|
28
41
|
|
|
@@ -35,6 +48,10 @@ https://raw.githubusercontent.com/alvinunreal/oh-my-opencode-slim/refs/heads/mas
|
|
|
35
48
|
|
|
36
49
|
**Detailed installation guide:** [docs/installation.md](docs/installation.md)
|
|
37
50
|
|
|
51
|
+
**Additional guides:**
|
|
52
|
+
- **[Antigravity Setup](docs/antigravity.md)** - Complete guide for Antigravity provider configuration
|
|
53
|
+
- **[Tmux Integration](docs/tmux-integration.md)** - Real-time agent monitoring with tmux
|
|
54
|
+
|
|
38
55
|
---
|
|
39
56
|
|
|
40
57
|
## 🏛️ Meet the Pantheon
|
|
@@ -229,9 +246,19 @@ https://raw.githubusercontent.com/alvinunreal/oh-my-opencode-slim/refs/heads/mas
|
|
|
229
246
|
|
|
230
247
|
- **[Quick Reference](docs/quick-reference.md)** - Presets, Skills, MCPs, Tools, Configuration
|
|
231
248
|
- **[Installation Guide](docs/installation.md)** - Detailed installation and troubleshooting
|
|
249
|
+
- **[Cartography Skill](docs/cartography.md)** - Custom skill for repository mapping + codemap generation
|
|
250
|
+
- **[Antigravity Setup](docs/antigravity.md)** - Complete guide for Antigravity provider configuration
|
|
251
|
+
- **[Tmux Integration](docs/tmux-integration.md)** - Real-time agent monitoring with tmux
|
|
232
252
|
|
|
233
253
|
---
|
|
234
254
|
|
|
235
255
|
## 📄 License
|
|
236
256
|
|
|
237
257
|
MIT
|
|
258
|
+
|
|
259
|
+
---
|
|
260
|
+
|
|
261
|
+
<!-- MoltFounders Banner -->
|
|
262
|
+
<a href="https://moltfounders.com/project/0f5874c7-9291-415b-9622-7509d96a2c73">
|
|
263
|
+
<img src="img/moltfounders-banner.png" alt="MoltFounders - The Agent Co-Founder Network">
|
|
264
|
+
</a>
|
package/dist/agents/index.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { AgentConfig as SDKAgentConfig } from '@opencode-ai/sdk';
|
|
1
|
+
import type { AgentConfig as SDKAgentConfig } from '@opencode-ai/sdk/v2';
|
|
2
2
|
import { type PluginConfig, SUBAGENT_NAMES } from '../config';
|
|
3
3
|
import { type AgentDefinition } from './orchestrator';
|
|
4
4
|
export type { AgentDefinition } from './orchestrator';
|
|
@@ -45,6 +45,7 @@ export interface LaunchOptions {
|
|
|
45
45
|
export declare class BackgroundTaskManager {
|
|
46
46
|
private tasks;
|
|
47
47
|
private tasksBySessionId;
|
|
48
|
+
private agentBySessionId;
|
|
48
49
|
private client;
|
|
49
50
|
private directory;
|
|
50
51
|
private tmuxEnabled;
|
|
@@ -55,6 +56,25 @@ export declare class BackgroundTaskManager {
|
|
|
55
56
|
private maxConcurrentStarts;
|
|
56
57
|
private completionResolvers;
|
|
57
58
|
constructor(ctx: PluginInput, tmuxConfig?: TmuxConfig, config?: PluginConfig);
|
|
59
|
+
/**
|
|
60
|
+
* Look up the delegation rules for an agent type.
|
|
61
|
+
* Unknown agent types default to explorer-only access, making it easy
|
|
62
|
+
* to add new background agent types without updating SUBAGENT_DELEGATION_RULES.
|
|
63
|
+
*/
|
|
64
|
+
private getSubagentRules;
|
|
65
|
+
/**
|
|
66
|
+
* Check if a parent session is allowed to delegate to a specific agent type.
|
|
67
|
+
* @param parentSessionId - The session ID of the parent
|
|
68
|
+
* @param requestedAgent - The agent type being requested
|
|
69
|
+
* @returns true if allowed, false if not
|
|
70
|
+
*/
|
|
71
|
+
isAgentAllowed(parentSessionId: string, requestedAgent: string): boolean;
|
|
72
|
+
/**
|
|
73
|
+
* Get the list of allowed subagents for a parent session.
|
|
74
|
+
* @param parentSessionId - The session ID of the parent
|
|
75
|
+
* @returns Array of allowed agent names, empty if none
|
|
76
|
+
*/
|
|
77
|
+
getAllowedSubagents(parentSessionId: string): readonly string[];
|
|
58
78
|
/**
|
|
59
79
|
* Launch a new background task (fire-and-forget).
|
|
60
80
|
*
|
|
@@ -73,6 +93,17 @@ export declare class BackgroundTaskManager {
|
|
|
73
93
|
* Process start queue with concurrency limit.
|
|
74
94
|
*/
|
|
75
95
|
private processQueue;
|
|
96
|
+
private resolveFallbackChain;
|
|
97
|
+
private promptWithTimeout;
|
|
98
|
+
/**
|
|
99
|
+
* Calculate tool permissions for a spawned agent based on its own delegation rules.
|
|
100
|
+
* Agents that cannot delegate (leaf nodes) get delegation tools disabled entirely,
|
|
101
|
+
* preventing models from even seeing tools they can never use.
|
|
102
|
+
*
|
|
103
|
+
* @param agentName - The agent type being spawned
|
|
104
|
+
* @returns Tool permissions object with background_task and task enabled/disabled
|
|
105
|
+
*/
|
|
106
|
+
private calculateToolPermissions;
|
|
76
107
|
/**
|
|
77
108
|
* Start a task in the background (Phase B).
|
|
78
109
|
*/
|
|
@@ -90,6 +121,19 @@ export declare class BackgroundTaskManager {
|
|
|
90
121
|
};
|
|
91
122
|
};
|
|
92
123
|
}): Promise<void>;
|
|
124
|
+
/**
|
|
125
|
+
* Handle session.deleted events for cleanup.
|
|
126
|
+
* When a session is deleted, cancel associated tasks and clean up.
|
|
127
|
+
*/
|
|
128
|
+
handleSessionDeleted(event: {
|
|
129
|
+
type: string;
|
|
130
|
+
properties?: {
|
|
131
|
+
info?: {
|
|
132
|
+
id?: string;
|
|
133
|
+
};
|
|
134
|
+
sessionID?: string;
|
|
135
|
+
};
|
|
136
|
+
}): Promise<void>;
|
|
93
137
|
/**
|
|
94
138
|
* Extract task result and mark complete.
|
|
95
139
|
*/
|
|
@@ -42,6 +42,11 @@ export declare class TmuxSessionManager {
|
|
|
42
42
|
* When a session becomes idle (completed), close its pane.
|
|
43
43
|
*/
|
|
44
44
|
onSessionStatus(event: SessionEvent): Promise<void>;
|
|
45
|
+
/**
|
|
46
|
+
* Handle session.deleted events.
|
|
47
|
+
* When a session is deleted, close its tmux pane immediately.
|
|
48
|
+
*/
|
|
49
|
+
onSessionDeleted(event: SessionEvent): Promise<void>;
|
|
45
50
|
private startPolling;
|
|
46
51
|
private stopPolling;
|
|
47
52
|
/**
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import type { OpenCodeFreeModel } from './types';
|
|
2
|
+
export declare function pickBestCodingChutesModel(models: OpenCodeFreeModel[]): OpenCodeFreeModel | null;
|
|
3
|
+
export declare function pickSupportChutesModel(models: OpenCodeFreeModel[], primaryModel?: string): OpenCodeFreeModel | null;
|
package/dist/cli/config-io.d.ts
CHANGED
|
@@ -18,4 +18,9 @@ export declare function writeConfig(configPath: string, config: OpenCodeConfig):
|
|
|
18
18
|
export declare function addPluginToOpenCodeConfig(): Promise<ConfigMergeResult>;
|
|
19
19
|
export declare function writeLiteConfig(installConfig: InstallConfig): ConfigMergeResult;
|
|
20
20
|
export declare function disableDefaultAgents(): ConfigMergeResult;
|
|
21
|
+
export declare function canModifyOpenCodeConfig(): boolean;
|
|
22
|
+
export declare function addAntigravityPlugin(): ConfigMergeResult;
|
|
23
|
+
export declare function addGoogleProvider(): ConfigMergeResult;
|
|
24
|
+
export declare function addChutesProvider(): ConfigMergeResult;
|
|
25
|
+
export declare function detectAntigravityConfig(): boolean;
|
|
21
26
|
export declare function detectCurrentConfig(): DetectedConfig;
|
|
@@ -1,4 +1,12 @@
|
|
|
1
|
+
export * from './chutes-selection';
|
|
1
2
|
export * from './config-io';
|
|
3
|
+
export * from './dynamic-model-selection';
|
|
4
|
+
export * from './external-rankings';
|
|
5
|
+
export * from './model-selection';
|
|
6
|
+
export * from './opencode-models';
|
|
7
|
+
export * from './opencode-selection';
|
|
2
8
|
export * from './paths';
|
|
9
|
+
export * from './precedence-resolver';
|
|
3
10
|
export * from './providers';
|
|
11
|
+
export * from './scoring-v2';
|
|
4
12
|
export * from './system';
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { DiscoveredModel, DynamicModelPlan, ExternalSignalMap, InstallConfig, ScoringEngineVersion } from './types';
|
|
2
|
+
declare const AGENTS: readonly ["orchestrator", "oracle", "designer", "explorer", "librarian", "fixer"];
|
|
3
|
+
type AgentName = (typeof AGENTS)[number];
|
|
4
|
+
export type V1RankedScore = {
|
|
5
|
+
model: string;
|
|
6
|
+
totalScore: number;
|
|
7
|
+
baseScore: number;
|
|
8
|
+
externalSignalBoost: number;
|
|
9
|
+
};
|
|
10
|
+
export declare function rankModelsV1WithBreakdown(models: DiscoveredModel[], agent: AgentName, externalSignals?: ExternalSignalMap): V1RankedScore[];
|
|
11
|
+
export declare function buildDynamicModelPlan(catalog: DiscoveredModel[], config: InstallConfig, externalSignals?: ExternalSignalMap, options?: {
|
|
12
|
+
scoringEngineVersion?: ScoringEngineVersion;
|
|
13
|
+
}): DynamicModelPlan | null;
|
|
14
|
+
export {};
|