|
|
2 months ago | |
|---|---|---|
| .github | 2 months ago | |
| img | 2 months ago | |
| src | 2 months ago | |
| .gitignore | 2 months ago | |
| LICENSE | 2 months ago | |
| README.md | 2 months ago | |
| README.zh-CN.md | 2 months ago | |
| bun.lock | 2 months ago | |
| package.json | 2 months ago | |
| tsconfig.json | 3 months ago |
*Transform your AI assistant into a manager capable of delegating complex tasks to specialized sub-agents, running searches in the background, and managing multi-step workflows with ease.*
Slimmed-down fork of oh-my-opencode - focused on core agent orchestration with low token consumption.
Antigravity subscription recommended. The pantheon is tuned for Antigravity's model routing. Other providers work, but you'll get the best experience with Antigravity.
Run the interactive installer:
bunx oh-my-opencode-slim install
Or use non-interactive mode:
bunx oh-my-opencode-slim install --no-tui --antigravity=yes --openai=yes --tmux=no
After installation, authenticate with your providers:
opencode auth login
# Select your provider → Complete OAuth flow
# Repeat for each provider you enabled
Once authenticated, run opencode and ping all agents to verify all agents respond.
💡 Tip: Models are fully customizable. The installer sets sensible defaults, but you can assign any model to any agent. Edit
~/.config/opencode/oh-my-opencode-slim.jsonto override models, adjust reasoning effort, or disable agents entirely. See Configuration for details.
Alternative: Ask any coding agent
Paste this into Claude Code, AmpCode, Cursor, or any coding agent:
Install and configure by following the instructions here:
https://raw.githubusercontent.com/alvinunreal/oh-my-opencode-slim/refs/heads/master/README.md
Instructions for LLM Agents (click to expand)
If you're an LLM Agent helping set up oh-my-opencode-slim, follow these steps.
opencode --version
If not installed, direct the user to https://opencode.ai/docs first.
Ask these questions one at a time, waiting for responses:
google/ prefix)openai/ models)Help the user understand the tradeoffs:
openai/ models.~/.config/opencode/oh-my-opencode-slim.json.Based on answers, run:
bunx oh-my-opencode-slim install --no-tui --antigravity=<yes|no> --openai=<yes|no>
Examples:
# Antigravity + OpenAI
bunx oh-my-opencode-slim install --no-tui --antigravity=yes --openai=yes --tmux=no
# OpenAI only
bunx oh-my-opencode-slim install --no-tui --antigravity=no --openai=yes --tmux=no
# No providers (Zen free models only)
bunx oh-my-opencode-slim install --no-tui --antigravity=no --openai=no --tmux=no
The installer automatically:
~/.config/opencode/opencode.jsonopencode-antigravity-auth plugin (if Antigravity enabled)~/.config/opencode/oh-my-opencode-slim.jsonCrucial Advice for the User:
~/.config/opencode/oh-my-opencode-slim.json.~/.config/opencode/oh-my-opencode-slim.json file and report the model configuration.After installation, guide the user:
For Antigravity/OpenAI:
opencode auth login
# Select: Google → OAuth with Google (Antigravity)
# Repeat for all other providers
If the installer fails, check the expected config format:
bunx oh-my-opencode-slim install --help
Then manually create the config files at:
~/.config/opencode/oh-my-opencode-slim.jsonThe plugin follows a "Hub and Spoke" model:
@explorer background task to find all auth-related files.@librarian task to check the latest documentation for the auth library used.@fixer to perform the refactor efficiently.Primary agents appear in the OpenCode UI selector, while subagents are hidden from the UI and intended for delegation through background_task.
Primary agents (UI):
Build, Plan (disabled by the installer by default)orchestratorSubagents (background_task): explorer, librarian, oracle, designer, fixer
The background_task tool lists only subagents. If the UI list looks stale after changes, restart OpenCode.
The Orchestrator was born when the first codebase collapsed under its own complexity. Neither god nor mortal would claim responsibility - so The Orchestrator emerged from the void, forging order from chaos. They don't merely command armies; they fight alongside them. Every line of code passes through their hands before they decide which lesser deity deserves a piece of the puzzle.
Role: Supreme executor, delegator, and overseer
Model: google/claude-opus-4-5-thinking
Prompt: src/agents/orchestrator.ts
Write and execute code, orchestrate multi-agent workflows, parse the unspoken from the spoken, summon specialists mid-battle. Shape reality directly - and assign realms to others when the universe grows too vast.
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
grepcommand, evolved beyond it, and now see patterns mortals miss.
Role: Codebase reconnaissance
Model: google/gemini-3-flash
Prompt: src/agents/explorer.ts
Regex search, AST pattern matching, file discovery, parallel exploration. Read-only: they chart the territory; others conquer it.
The Oracle does not code - they know. When bugs defy logic and architectures crumble, The Oracle gazes into the abyss of your codebase and speaks truth. They've seen a thousand systems rise and fall. They'll tell you which path leads to ruin, and which to production.
Role: Strategic advisor and debugger of last resort
Model: openai/gpt-5.2-codex
Prompt: src/agents/oracle.ts
Root cause analysis, architecture review, debugging guidance, tradeoff analysis. Read-only: Oracles advise; they don't intervene.
The Librarian guards a library with no walls - every GitHub repo, every npm package, every StackOverflow answer ever written. Ask them "how does React handle concurrent rendering?" and they'll return with official docs, real-world examples, and a warning about the footgun you're about to step on.
Role: External knowledge retrieval
Model: google/gemini-3-flash
Prompt: src/agents/librarian.ts
Documentation lookup, GitHub code search, library research, best practice retrieval. Read-only: they fetch wisdom; implementation is for others.
The Designer believes code should be beautiful - and so should everything it renders. Born from the frustration of a thousand ugly MVPs, they wield CSS like a brush and components like clay. Hand them a feature request; receive a masterpiece. They don't do "good enough."
Role: UI/UX implementation and visual excellence
Model: google/gemini-3-flash
Prompt: src/agents/designer.ts
Modern responsive design, CSS/Tailwind mastery, micro-animations, component architecture. Visual excellence over code perfection - beauty is the priority.
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.
Role: Fast implementation specialist
Model: google/gemini-3-flash
Prompt: src/agents/fixer.ts
Code implementation, refactoring, testing, verification. Execute the plan - no research, no delegation, no planning.
⚠️ Known Issue: When the server port is enabled, only one OpenCode instance can be opened at a time. We're tracking this in issue #15, and there's an upstream PR to OpenCode: opencode#9099.
Watch your agents work in real-time. When the Orchestrator launches sub-agents or initiates background tasks, new tmux panes automatically spawn showing each agent's live progress. No more waiting in the dark.
| Without Tmux Integration | With Tmux Integration |
|---|---|
| Fire off a background task, wait anxiously | See the agent thinking, searching, coding |
| "Is it stuck or just slow?" | Watch tool calls happen in real-time |
| Results appear out of nowhere | Follow the journey from question to answer |
| Debug by guessing | Debug by observation |
task tool AND our background_task toolopencode.json (see OpenCode Config).oh-my-opencode-slim.json (see Plugin Config).bash
tmux
opencode
| Layout | Description |
|---|---|
main-vertical |
Your session on the left (60%), agents stacked on the right |
main-horizontal |
Your session on top (60%), agents stacked below |
tiled |
All panes in equal-sized grid |
even-horizontal |
All panes side by side |
even-vertical |
All panes stacked vertically |
See the Option Reference for detailed configuration.
For Antigravity users. You can trigger this at any time by asking the agent to "check my quota" or "show status."
| Tool | Description |
|---|---|
antigravity_quota |
Check API quota for all Antigravity accounts (compact view with progress bars) |
The plugin provides tools to manage asynchronous work:
| Tool | Description |
|---|---|
background_task |
Launch an agent in a new session (sync=true blocks, sync=false runs in background) |
background_output |
Fetch the result of a background task by ID |
background_cancel |
Abort running tasks |
Language Server Protocol integration for code intelligence:
| Tool | Description |
|---|---|
lsp_goto_definition |
Jump to symbol definition |
lsp_find_references |
Find all usages of a symbol across the workspace |
lsp_diagnostics |
Get errors/warnings from the language server |
lsp_rename |
Rename a symbol across all files |
Fast code search and refactoring:
| Tool | Description |
|---|---|
grep |
Fast content search using ripgrep |
ast_grep_search |
AST-aware code pattern matching (25 languages) |
ast_grep_replace |
AST-aware code refactoring with dry-run support |
Skills are specialized capabilities that agents can use. Each agent has a default set of skills, which you can override in the agent config.
| Skill | Description |
|---|---|
yagni-enforcement |
Code complexity analysis and YAGNI enforcement |
playwright |
Browser automation via Playwright MCP |
| Agent | Default Skills |
|---|---|
orchestrator |
* (all skills) |
designer |
playwright |
oracle |
none |
librarian |
none |
explorer |
none |
fixer |
none |
The Minimalist's sacred truth: every line of code is a liability.
Use after major refactors or before finalizing PRs. Identifies unnecessary complexity, challenges premature abstractions, estimates LOC reduction, and enforces minimalism.
Browser automation for visual verification and testing.
Override skills per-agent in your Plugin Config:
{
"agents": {
"orchestrator": {
"skills": ["*"]
},
"designer": {
"skills": ["playwright"]
}
}
}
Built-in Model Context Protocol servers (enabled by default):
| MCP | Purpose | URL |
|---|---|---|
websearch |
Real-time web search via Exa AI | https://mcp.exa.ai/mcp |
context7 |
Official library documentation | https://mcp.context7.com/mcp |
grep_app |
GitHub code search via grep.app | https://mcp.grep.app |
You can disable specific MCP servers by adding them to the disabled_mcps array in your Plugin Config.
| File | Purpose |
|---|---|
~/.config/opencode/opencode.json |
OpenCode core settings (server port for tmux) |
~/.config/opencode/oh-my-opencode-slim.json |
Plugin settings (agents, tmux, MCPs) |
.opencode/oh-my-opencode-slim.json |
Project-local plugin overrides (optional) |
Platform paths: On Windows, user config may also be at
%APPDATA%\opencode\.
oh-my-opencode-slim.json)The installer generates this file based on your providers. You can manually customize it to mix and match models.
Example: Antigravity + OpenAI (Recommended)
{
"agents": {
"orchestrator": { "model": "google/claude-opus-4-5-thinking", "skills": ["*"] },
"oracle": { "model": "openai/gpt-5.2-codex", "skills": [] },
"librarian": { "model": "google/gemini-3-flash", "skills": [] },
"explorer": { "model": "google/gemini-3-flash", "skills": [] },
"designer": { "model": "google/gemini-3-flash", "skills": ["playwright"] },
"fixer": { "model": "google/gemini-3-flash", "skills": [] }
},
"tmux": {
"enabled": true,
"layout": "main-vertical",
"main_pane_size": 60
}
}
Example: Antigravity Only
{
"agents": {
"orchestrator": { "model": "google/claude-opus-4-5-thinking", "skills": ["*"] },
"oracle": { "model": "google/claude-opus-4-5-thinking", "skills": [] },
"librarian": { "model": "google/gemini-3-flash", "skills": [] },
"explorer": { "model": "google/gemini-3-flash", "skills": [] },
"designer": { "model": "google/gemini-3-flash", "skills": ["playwright"] },
"fixer": { "model": "google/gemini-3-flash", "skills": [] }
}
}
Example: OpenAI Only
{
"agents": {
"orchestrator": { "model": "openai/gpt-5.2-codex", "skills": ["*"] },
"oracle": { "model": "openai/gpt-5.2-codex", "skills": [] },
"librarian": { "model": "openai/gpt-5.1-codex-mini", "skills": [] },
"explorer": { "model": "openai/gpt-5.1-codex-mini", "skills": [] },
"designer": { "model": "openai/gpt-5.1-codex-mini", "skills": ["playwright"] },
"fixer": { "model": "openai/gpt-5.1-codex-mini", "skills": [] }
}
}
| Option | Type | Default | Description |
|---|---|---|---|
tmux.enabled |
boolean | false |
Enable tmux pane spawning for sub-agents |
tmux.layout |
string | "main-vertical" |
Layout preset: main-vertical, main-horizontal, tiled, even-horizontal, even-vertical |
tmux.main_pane_size |
number | 60 |
Main pane size as percentage (20-80) |
disabled_agents |
string[] | [] |
Agent IDs to disable (e.g., "explorer") |
disabled_mcps |
string[] | [] |
MCP server IDs to disable (e.g., "websearch") |
agents.<name>.model |
string | — | Override the LLM for a specific agent |
agents.<name>.variant |
string | — | Reasoning effort: "low", "medium", "high" |
agents.<name>.skills |
string[] | — | Skills this agent can use ("*" = all) |
agents.<name>.temperature |
number | — | Temperature for this agent (0.0 to 2.0) |
agents.<name>.prompt |
string | — | Base prompt override for this agent |
agents.<name>.prompt_append |
string | — | Text to append to the base prompt |
agents.<name>.disable |
boolean | — | Disable this specific agent |
Edit ~/.config/opencode/opencode.json and remove "oh-my-opencode-slim" from the plugin array.
bash
rm -f ~/.config/opencode/oh-my-opencode-slim.json
rm -f .opencode/oh-my-opencode-slim.json
This is a slimmed-down fork of oh-my-opencode by @code-yeongyu.
MIT