Oh My Opencode Slim
Lightweight agent orchestration plugin for OpenCode - a slimmed-down fork of oh-my-opencode
9,699
+718 in 30 days
14
1 in 7 days
61.6
Multi-signal model
3 hours ago
2026-10-21
Install and configure
opencode.jsonWrites to this project's opencode.json — applies to this repository only.
opencode.json
{
"$schema": "https://opencode.ai/config.json",
"plugin": ["@nghyane/oh-my-opencode-slim@0.6.5"]
}Writes to ~/.config/opencode/opencode.json — applies to every project.
~/.config/opencode/opencode.json
{
"$schema": "https://opencode.ai/config.json",
"plugin": ["@nghyane/oh-my-opencode-slim@0.6.5"]
}If you want to modify the plugin locally, install it into the project and reference the local path.
shell
pnpm add -D @nghyane/oh-my-opencode-slimOpenCode loads npm dependencies through its embedded runtime on startup and caches them locally — no manual global install needed.
✨ oh-my-opencode-slim ✨
Six divine beings emerged from the dawn of code, each an immortal master of their craft,
awaiting your command to forge order from chaos and build what was once thought impossible.
Opencode Multi Agent Suite · Mix any models · Auto delegate tasks
by Boring Dystopia Development
svgdiagram.ai · Turn your notes into clean, editable SVG diagrams
English | 简体中文 | 日本語 | 한국어 | فارسی
✦ ✦ ✦
What's This Plugin
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.
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. The Orchestrator plans the work graph, dispatches specialists as background tasks, and reconciles their results before continuing.
✨ Highlights
- Deepwork for heavy programming sessions. Big projects get built in phases, with an Oracle review between each one.
- Agent Marketplace is live, and it grows with the community. Suggest an agent or open a PR on oh-my-opencode-marketplace to help build it.
- OmniRoute is your friend. One free gateway to hundreds of providers and models, with automatic fallback when a quota runs out. Mix models across the team without the account juggling.
- Want to use Claude? Check out ACP support: bring Claude Code in as a subagent the Orchestrator can delegate to.
- Make it yours. oh-my-opencode-slim is built to be customized, globally or per project: add new agents, override prompts, and rewrite the delegation rules so the Orchestrator routes work your way.
- Own your presets. Model lineups change fast, so the example presets go stale quickly. Use them for ideas, then build your own around the models you actually have.
What Users Say
“Task management went from 5/10 to 8-9/10 easily. The Orchestrator sends Fixers and Explorers, and I can still talk and plan with the Orchestrator in the same session. The experience feels way smoother now.”
-
vipor_idk
“I ditched all my harnesses for this beta version of omo-slim and don't look back or miss anything. Great work and IMHO all in the right direction.”
-
stephanschielke
“I love omo-slim, and can't imagine running opencode without it. I love that I can create a Frankenstein of models... Makes the setup such a beast.”
-
Capital-One3039
“It has significantly improved my workflow... Now, it is working very smoothly, and I love it.”
-
xenstar1
Quick Start
Copy and paste this prompt to your LLM agent (Claude Code, AmpCode, Cursor, etc.):
Install and configure oh-my-opencode-slim: https://raw.githubusercontent.com/alvinunreal/oh-my-opencode-slim/refs/heads/master/README.md
Manual Installation
bunx oh-my-opencode-slim@latest install
The published CLI is a Node-compatible bundle, so npx works too if you don't
have Bun installed:
npx oh-my-opencode-slim@latest install
Run from Master
Use this if you want the latest code, easier bug fixes, or a local setup for development and contributions:
git clone https://github.com/alvinunreal/oh-my-opencode-slim.git ~/repos/oh-my-opencode-slim
cd ~/repos/oh-my-opencode-slim
bun install
bun run build
bun dist/cli/index.js install
The installer adds the local repo path to the plugin array in
~/.config/opencode/opencode.json, so OpenCode loads the plugin from that
folder. To update later:
cd ~/repos/oh-my-opencode-slim
git pull
bun install
bun run build
Getting Started
The installer generates both OpenAI and OpenCode Go presets, with OpenAI active by default.
[!TIP] Tune the models and agents for your own workflow. The defaults are only a starting point; the plugin is designed for deep flexibility and customization.
To make OpenCode Go active during install, run bunx oh-my-opencode-slim@latest install --preset=opencode-go or change the default preset name in ~/.config/opencode/oh-my-opencode-slim.json after installation.
Then:
Log in to the providers you want to use if you haven't already:
opencode auth loginRefresh and list the models OpenCode can see:
opencode models --refreshOpen your plugin config at
~/.config/opencode/oh-my-opencode-slim.jsonUpdate the models you want for each agent
[!TIP] It's recommended to understand how background orchestration works. The Orchestrator prompt contains the scheduler rules, specialist routing logic, and thresholds for when work should be assigned to background agents. You can always delegate manually by calling a subagent via:
@agentName <task>
[!TIP] Because background agents are now the default workflow, it is highly recommended to enable and configure Multiplexer Integration. It automatically opens each agent in a dedicated Tmux, Zellij, Herdr, cmux, kitty, or WezTerm pane, so you can watch specialists work live while the Orchestrator continues coordinating the session. On OpenCode v2 hosts, panes work with the shared background service or an explicit
--server;--standalonehosts cannot host panes (one diagnostic per process; use v2's native subagent surfaces instead).
The default generated configuration includes both openai and opencode-go presets.
{
"$schema": "https://unpkg.com/oh-my-opencode-slim@latest/oh-my-opencode-slim.schema.json",
"preset": "openai",
"presets": {
"openai": {
"orchestrator": { "model": "openai/gpt-6.1-sol", "variant": "medium", "skills": ["*"] },
"oracle": { "model": "openai/gpt-6.1-sol", "variant": "high", "skills": ["simplify"] },
"explorer": { "model": "openai/gpt-6-luna", "variant": "low", "skills": [] },
"designer": { "model": "openai/gpt-6-luna", "variant": "medium", "skills": [] },
"fixer": { "model": "openai/gpt-6.1-sol", "variant": "low", "skills": [] }
}
}
}
Presets can inherit from one base preset with extends: a design preset can
extend base and override only its designer model. Changes are persisted by
/preset. On v2 hosts the saved/applied preset's inference fields (model,
variant, temperature, options) apply to new child dispatches (frozen for
each child before its first request) and the sidebar once the server-side
config watcher has refreshed them; a malformed config keeps the last-known-good
state, and existing sessions plus prompt/tool/policy/skill/MCP changes stay
frozen until a full reload; on v1 hosts reload OpenCode. See
Configuration for the inheritance
example and precedence rules.
Preset Docs
Project settings in .opencode/oh-my-opencode-slim.json[c] are inherited from
ancestor directories, matching the host's discovery: v2 walks to the filesystem
root; v1 stops at the Git worktree boundary. OPENCODE_DISABLE_PROJECT_CONFIG
disables the project walk.
Closer settings override matching fields. Prompt files and the optional
skills_include_local grants also search ancestor .opencode directories,
following OpenCode's directory discovery. See
Configuration for precedence and trust boundaries.
[!TIP] Treat these presets as starting points, not recipes. Models change fast and presets go stale quickly. Build your own from the models you actually have access to rather than copy-pasting one blindly. The bundled
oh-my-opencode-slimskill can help: ask the Orchestrator to tune your setup.
- OpenAI Preset — the default generated preset; runs all agents on OpenAI models.
- OpenCode Go Preset — runs the agents on OpenCode Go models; enables the Observer agent for visual analysis since its orchestrator model isn't multimodal.
- Author's Preset — the exact config the author runs day to day, with third-party skills.
- $30 Preset — a mixed-provider setup built around Codex Plus and GitHub Copilot Pro for about $30/month.
For Alternative Providers
To use custom providers or a mixed-provider setup, use Configuration for the full reference.
✅ Verify Your Setup
After installation and authentication, verify all agents are configured and responding:
opencode
Then run:
ping all agents
Confirmation that all configured agents are online and ready.
If any agent fails to respond, check your provider authentication and config file.
🏛️ Meet the Pantheon
01. Orchestrator: The Embodiment Of Order
Forged in the void of complexity. |
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. It determines the optimal path to any goal, balancing speed, quality, and cost. It guides the team, summoning the right specialist for each task and delegating to achieve the best possible outcome. |
Role: Master delegator and strategic coordinator
|
|
Prompt: orchestrator.ts
|
|
Default Model: openai/gpt-6.1-sol (medium)
|
|
Recommended Models: claude-fable-5 claude-opus-4-8 glm-5.2 gpt-6-sol mimo-v2.5 minimax-m3 qwen3.7-plus
|
|
| Model Guidance: Choose your strongest planning and judgment model. Orchestrator is the workflow manager: it plans, schedules background specialists, reconciles results, and verifies outcomes, so it needs reliable instruction-following and high-level technical judgment more than raw worker throughput. |
02. Explorer: The Eternal Wanderer
The wind that carries knowledge. |
The Explorer is an immortal wanderer who has traversed the corridors of a million codebases since the dawn of programming. Cursed with the gift of eternal curiosity, they cannot rest until every file is known, every pattern understood, every secret revealed. Legends say they once searched the entire internet in a single heartbeat. They are the wind that carries knowledge, the eyes that see all, the spirit that never sleeps. |
Role: Codebase reconnaissance and external research
|
|
Prompt: explorer.ts
|
|
Default Model: openai/gpt-6-luna
|
|
Recommended Models: deepseek-v4-flash gpt-5.3-codex
|
|
| Model Guidance: Choose a fast, low-cost model. Explorer handles broad scouting work, so speed and efficiency usually matter more than using your strongest reasoning model. |
03. Oracle: The Guardian of Paths
The voice at the crossroads. |
The Oracle stands at the crossroads of every architectural decision. They have walked every road, seen every destination, know every trap that lies ahead. When you stand at the precipice of a major refactor, they are the voice that whispers which way leads to ruin and which way leads to glory. They don't choose for you - they illuminate the path so you can choose wisely. |
Role: Strategic advisor and debugger of last resort
|
|
Prompt: oracle.ts
|
|
Default Model: openai/gpt-6.1-sol (high)
|
|
Recommended Models: claude-fable-5 claude-opus-4-8 deepseek-v4-pro glm-5.2 gpt-6-astra qwen3.7-max
|
|
| Model Guidance: Choose your strongest high-reasoning model for architecture, hard debugging, trade-offs, and code review. |
04. Council: The Chorus of Minds
[!NOTE] 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, ask for it in your message — mentioning
council,@council,consensus,共识, or another trigger word injects the Council Mode procedure once per session (at the first trigger; later triggers don't re-inject it) and the orchestrator dispatches every councillor seat in parallel, for example:run a council on these two architectures. The full procedure is never carried statically: sessions that never ask for a council pay zero tokens for it, and the injection can be turned off entirely withdisabled_hooks: ["council-inject"].
Many minds, one verdict. |
The Council is not a lone being but a chamber of minds summoned when one answer is not enough. It sends your question to multiple models in parallel, gathers their competing judgments, and then the Council agent itself distills the strongest ideas into a single verdict. Where a solitary agent may miss a path, the Council cross-examines possibility itself. |
Role: Multi-LLM consensus and synthesis
|
|
Prompt: council.ts
|
|
Guide: docs/council.md
|
|
Default Setup: Config-driven - councillors come from council.presets and the Council agent model comes from your normal council agent config
|
|
Recommended Setup: Strong Council model + diverse councillors across providers
|
|
| Model Guidance: Use a strong synthesis model for the Council agent and diverse models as councillors. The value of Council comes from comparing different model perspectives, not just picking the single strongest model everywhere. |
05. Designer: The Guardian of Aesthetics
Beauty is essential. |
The Designer is an immortal guardian of beauty in a world that often forgets it matters. They have seen a million interfaces rise and fall, and they remember which ones were remembered and which were forgotten. They carry the sacred duty to ensure that every pixel serves a purpose, every animation tells a story, every interaction delights. Beauty is not optional - it's essential. |
Role: UI/UX implementation and visual excellence
|
|
Prompt: designer.ts
|
|
Default Model: openai/gpt-6-luna
|
|
Recommended Models: gemini-3.5-flash kimi-k2.7-code minimax-m3
|
|
| Model Guidance: Choose a model that is strong at UI/UX judgment, frontend implementation, and visual polish. |
06. Fixer: The Last Builder
The final step between vision and reality. |
The Fixer is the last of a lineage of builders who once constructed the foundations of the digital world. When the age of planning and debating began, they remained - the ones who actually build. They carry the ancient knowledge of how to turn thought into thing, how to transform specification into implementation. They are the final step between vision and reality. |
Role: Fast implementation specialist
|
|
Prompt: fixer.ts
|
|
Default Model: openai/gpt-6.1-sol (low)
|
|
Recommended Models: claude-sonnet-4-6 deepseek-v4-flash gpt-6-luna kimi-k2.7-code
|
|
| Model Guidance: Choose a reliable coding model for scoped implementation work. Fixer receives a concrete plan or bounded instructions from Orchestrator, making it a good place for efficient execution tasks and straightforward code changes. |
🛒 Marketplace
The Pantheon is open to newcomers. The Agent Marketplace is live: community-built specialist agents you can install with one command and add to your team.
Browse the Marketplace → · Submit your agent →
Paladin by stevio2d Read-only security review for changes that cross a trust boundary. alvin/paladin
|
Arbiter by capyBearista Evidence-backed merge-readiness review after real implementation work. capybearista/arbiter
|
Hunter by capyBearista Hunts swallowed errors, misleading fallbacks, and hidden retry exhaustion. capybearista/hunter
|
Proctor by capyBearista Checks whether a change has enough behavioral tests and ranks the gaps. capybearista/proctor
|
Janitor by hbollon Read-only maintainability audit for when the repo is getting harder to change. alvin/janitor
|
Documenter by Alvin Documentation architect for coherent, source-grounded docs. alvin/documenter
|
Chronicler by capyBearista Durable docs, changelogs, architecture notes, and migration guides. capybearista/chronicler
|
➕ Your agent here
Built a specialist that earns its place? Publish it to the marketplace and let every oh-my-opencode-slim user add it to their team. See all agents → |
Add one to your team. Ask the Orchestrator ("install the Paladin agent from the marketplace"), or use the CLI from your project directory:
bunx oh-my-opencode-slim@latest marketplace install alvin/paladin
bunx oh-my-opencode-slim@latest marketplace enable alvin/paladin
Restart OpenCode afterwards; new agents join the registry on the next plugin load. Installed agents use your session model by default, and the Orchestrator routes work to them the same way it routes to the built-in specialists. See Marketplace packages for the full CLI, preset activation, and update flow.
Optional Agents
Observer: The Silent Witness
[!NOTE] Why a separate agent? If your Orchestrator model is not multimodal, enable Observer to handle images, screenshots, 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 anobservermodel in your configuration. The bundledopencode-goinstall preset does this automatically because its GLM Orchestrator is not multimodal. Omittingimage_routingpreserves existing conditional Observer behavior."auto"is capability-aware: models that accept image input keep attachments inline for native vision; non-vision chains get attachments saved under.opencode/images/<session>/with a delegation nudge by path."direct"always keeps image parts inline. Saved workspace images are not automatically deleted. Remove the whole.opencode/images/directory or a single session subdirectory manually when no longer needed (references in old conversations then stop resolving); images from session-less messages are saved at the top level.
[!TIP] Subagents reading images. Advisory subagents (explorer, oracle, designer, councillors) can dispatch
@observerthemselves for image files on disk. On OpenCode v2 hosts this needs one extra hop of nesting, which the host denies by default — set"experimental": { "subagent_depth": 2 }in your opencode config to enable it. Fixer, observer itself, and the council synthesizer stay non-spawning by design.
The eye that reads what others cannot. |
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.
|
Prompt: observer.ts
|
|
Default Model: openai/gpt-6-luna - configure a vision-capable model to enable
|
|
Recommended Models: mimo-v2.5 qwen3.5-plus
|
|
| Model Guidance: Choose a vision-capable model if you want the agent to read screenshots, images, PDFs, and other visual files. |
🧩 Skills
Skills are prompt-based instructions injected into an agent's system prompt to
guide decisions, workflows, and tool use. Unlike MCPs (which are running
servers), a skill runs no process — it is a focused playbook an agent activates
when the task calls for it. The plugin registers its eight bundled skills
in-process at load — updates apply on restart, nothing is copied to disk. A
same-named skill directory under ~/.config/opencode/skills/ overrides the
bundled version.
| Skill | Purpose | Default agent | How to invoke |
|---|---|---|---|
![]() codemap |
Hierarchical repository maps so agents understand codebases without re-reading everything | orchestrator |
run codemap |
![]() deepwork |
Autonomous pass-by-pass workflow (sketch → structure → detail) for large, risky coding sessions, one review gate per pass | orchestrator |
/deepwork <task> |
![]() verification-planning |
Plans a project-specific evidence path before non-trivial changes | orchestrator |
automatic before non-trivial work |
![]() simplify |
Behavior-preserving simplification for readability and maintainability | oracle |
ask for simplification or during review |
![]() worktrees |
Git worktrees as safe, isolated coding lanes for risky or parallel work | orchestrator |
work in a worktree |
![]() clonedeps |
Clones dependency source locally so agents can inspect library internals | orchestrator |
clone dependencies |
![]() step-back |
Pauses snowballing patches to reassess direction and propose a cleaner path | orchestrator |
automatic when fixes start stacking |
![]() deanchor |
Generalizes from examples instead of copying them with light edits | orchestrator |
automatic when a request includes examples |
![]() ai-estimates |
Estimates task duration for a human working with AI, not alone | orchestrator |
ask how long something will take |
![]() reflect |
Turns repeated workflow friction into reusable skills, agents, or config | orchestrator |
/reflect |
![]() oh-my-opencode-slim |
Configures and safely improves the plugin setup itself | orchestrator |
ask to tune your setup |
Skill assignments are permission grants — an agent can only activate skills it
has been given. Configure them per agent with the skills array in
~/.config/opencode/oh-my-opencode-slim.json: an explicit list, "*" for
everything, or "!skill-name" to deny one.
See Skills for full documentation, or browse the illustrated overview at ohmyopencodeslim.com/skills.
🖥️ Companion
The optional Companion is a floating desktop status window for live agent activity. It shows the current session state and which agents are active, so background work is easier to follow at a glance.
Left bottom visual companion.
Companion is not part of the regular install. Add it any time after installing the plugin:
bunx oh-my-opencode-slim@latest companion install
This downloads the native binary for your platform and sets
"companion": { "enabled": true } in your config. Restart OpenCode to launch it.
See Companion for configuration, positions, sizes, and install details.
📚 Documentation
Use this section as a map: start with installation, then jump to features, configuration, or example presets depending on what you need.
✨ Features & Workflows
| Doc | What it covers |
|---|---|
| Council | Run multiple models in parallel and synthesize a single answer — keyword-triggered via the orchestrator's Council Mode procedure |
| Custom Agents | Define your own specialists with custom prompts, models, MCP access, and Orchestrator delegation rules |
| ACP Agents | Connect external ACP-compatible agents such as Claude Code ACP or Gemini ACP as delegatable subagents; tool and plan progress streams to the TUI while they work |
| Multiplexer Integration | Watch agents work live in Tmux, Zellij, Herdr, cmux, kitty, or WezTerm panes |
| Codemap | Generate hierarchical codemaps to understand large codebases faster |
| Clonedeps | Clone selected dependency source into an ignored local workspace for inspection |
| Worktrees | Use .slim/worktrees/ lanes for isolated parallel or risky coding work |
| Preset Switching | Switch agent model presets at runtime with /preset |
| Interview | Turn rough ideas into a structured markdown spec through a browser-based Q&A flow, then implement it with /implement |
| Companion | Floating window companion for parsing, help, and types |
⚙️ Config & Reference
| Doc | What it covers |
|---|---|
| Installation Guide | Install the plugin, use CLI flags, reset config, and troubleshoot setup |
| OpenCode v2 Compatibility | Run the same plugin on opencode2: feature matrix, v2.0.x compatibility baseline, version pinning |
| Configuration | Config file locations, JSONC support, prompt overrides, and full option reference |
| Marketplace | Install, inspect, activate, and update marketplace agent packages |
| Project Customization | Repository-specific custom agents, prompt overrides, per-agent skills, and precedence |
| Background Orchestration | Scheduler-first orchestrator model built around native background subagents |
| Maintainer Guide | Issue triage rules, label meanings, support routing, and repo maintenance workflow |
| Skills | Bundled skills such as simplify, codemap, clonedeps, deepwork, verification-planning, step-back, deanchor, ai-estimates, reflect, worktrees, and oh-my-opencode-slim |
| MCPs | context7, gh_grep, and how MCP permissions work per agent |
| Tools | Built-in tool capabilities like webfetch, LSP tools, code search, and formatters |
🏛️ Contributors
The builders, debuggers, writers, and wanderers who have earned their place in the pantheon.
Every merged contribution leaves a mark on the realm.
📄 License
MIT
Similar plugins
Oh My Opencode Slim
Featuredoh-my-opencode-slim
Lightweight agent orchestration plugin for OpenCode - a slimmed-down fork of oh-my-opencode
Victrid Oh My Opencode Slim
victrid-oh-my-opencode-slim
Lightweight agent orchestration plugin for OpenCode - a slimmed-down fork of oh-my-opencode
Oh My Opencode Slim
@ringofstorms/oh-my-opencode-slim
Lightweight agent orchestration plugin for OpenCode - a slimmed-down fork of oh-my-opencode

















