Oh My OpenCode
Multi-agent orchestration plugin for OpenCode. Use when the user wants to install, configure, or operate oh-my-opencode — including agent delegation, ultrawork mode, Prometheus planning, background ta
Multi-agent orchestration plugin for OpenCode. Use when the user wants to install, configure, or operate oh-my-opencode — including agent delegation, ultrawork mode, Prometheus planning, background ta
Real data. Real impact.
Emerging
Developers
Per week
Open source
Skills give you superpowers. Install in 30 seconds.
Multi-agent orchestration plugin that transforms OpenCode into a full agent harness with specialized agents, background task execution, category-based model routing, and autonomous work modes.
Package:
oh-my-opencode (install via bunx oh-my-opencode install)
Repository: https://github.com/code-yeongyu/oh-my-opencode
Schema: https://raw.githubusercontent.com/code-yeongyu/oh-my-opencode/master/assets/oh-my-opencode.schema.json
opencode --version should be 1.0.150+)
curl -fsSL https://opencode.ai/install | bash # or: npm install -g opencode-ai # or: bun install -g opencode-ai
opencode auth login)Run the interactive installer:
bunx oh-my-opencode install
Non-interactive mode with provider flags:
bunx oh-my-opencode install --no-tui \ --claude=<yes|no|max20> \ --openai=<yes|no> \ --gemini=<yes|no> \ --copilot=<yes|no> \ --opencode-zen=<yes|no> \ --zai-coding-plan=<yes|no>
Verify:
opencode --version cat ~/.config/opencode/opencode.json # should contain "oh-my-opencode" in plugin array
Include
ultrawork or ulw in your prompt. That's it.
ulw add authentication to my Next.js app
The agent will automatically:
For complex or critical tasks:
.sisyphus/plans/*.md/start-work → Atlas orchestrator takes over:
Critical rule: Do NOT use Atlas without
/start-work. Prometheus and Atlas are a pair — always use them together.
All agents are enabled by default. Each has a default model and provider priority fallback chain.
| Agent | Role | Default Model | Provider Priority Chain |
|---|---|---|---|
| Sisyphus | Primary orchestrator | | anthropic → kimi-for-coding → zai-coding-plan → openai → google |
| Sisyphus-Junior | Focused task executor (used by with categories) | Determined by category | Per-category chain |
| Hephaestus | Autonomous deep worker — goal-oriented, explores before acting | (medium) | openai → github-copilot → opencode (requires gpt-5.2-codex) |
| Oracle | Architecture, debugging, high-IQ reasoning (read-only) | | openai → google → anthropic |
| Librarian | Official docs, OSS search, remote codebase analysis | | zai-coding-plan → opencode → anthropic |
| Explore | Fast codebase grep (contextual search) | | anthropic → github-copilot → opencode |
| Multimodal Looker | Image/PDF/diagram analysis | | google → openai → zai-coding-plan → kimi-for-coding → anthropic → opencode |
| Prometheus | Work planner (interview-based plan generation) | | anthropic → kimi-for-coding → openai → google |
| Metis | Pre-planning consultant (ambiguity/failure-point analysis) | | anthropic → kimi-for-coding → openai → google |
| Momus | Plan reviewer (clarity, verifiability, completeness) | | openai → anthropic → google |
| Atlas | Plan orchestrator (executes Prometheus plans via ) | / | kimi-for-coding → opencode → anthropic → openai → google |
| OpenCode-Builder | Default build agent (disabled by default when Sisyphus is active) | System default | System default |
Agents are invoked via
delegate_task() or the --agent CLI flag — NOT with @ prefix.
// Invoke a specific agent delegate_task(subagent_type="oracle", prompt="Review this architecture...")// Invoke via category (routes to Sisyphus-Junior with category model) delegate_task(category="visual-engineering", load_skills=["frontend-ui-ux"], prompt="...")
// Background execution (non-blocking) delegate_task(subagent_type="explore", run_in_background=true, prompt="Find auth patterns...")
CLI:
opencode --agent oracle opencode run --agent librarian "Explain how auth works in this codebase"
| Situation | Agent |
|---|---|
| General coding tasks | Sisyphus (default) |
| Autonomous goal-oriented deep work | Hephaestus (requires gpt-5.2-codex) |
| Architecture decisions, debugging after 2+ failures | Oracle |
| Looking up library docs, finding OSS examples | Librarian |
| Finding code patterns in your codebase | Explore |
| Analyzing images, PDFs, diagrams | Multimodal Looker |
| Complex multi-day projects needing a plan | Prometheus + Atlas (via Tab → ) |
| Pre-planning scope analysis | Metis |
| Reviewing a generated plan for gaps | Momus |
| Quick single-file changes | delegate_task with category |
Categories route tasks to Sisyphus-Junior with domain-optimized models via
delegate_task().
| Category | Default Model | Variant | Provider Priority Chain | Best For |
|---|---|---|---|---|
| | — | google → anthropic → zai-coding-plan | Frontend, UI/UX, design, styling, animation |
| | | openai → google → anthropic | Deep logical reasoning, complex architecture |
| | | openai → anthropic → google | Goal-oriented autonomous problem-solving (Hephaestus-style) |
| | | google → anthropic → openai | Creative/novel approaches, unconventional solutions |
| | — | anthropic → google → opencode | Trivial tasks, single file changes, typo fixes |
| | — | anthropic → openai → google | General tasks, low effort |
| | | anthropic → openai → google | General tasks, high effort |
| | — | google → anthropic → zai-coding-plan → openai | Documentation, prose, technical writing |
delegate_task(category="visual-engineering", load_skills=["frontend-ui-ux"], prompt="Create a dashboard component") delegate_task(category="ultrabrain", load_skills=[], prompt="Design the payment processing flow") delegate_task(category="quick", load_skills=["git-master"], prompt="Fix the typo in README.md") delegate_task(category="deep", load_skills=[], prompt="Investigate and fix the memory leak in the worker pool")
Categories do NOT use their built-in defaults unless configured. Resolution order:
oh-my-opencode.json) — highest priorityopencode.json) — fallbackTo use optimal models, add categories to your config. See references/configuration.md.
| Skill | Purpose | Usage |
|---|---|---|
| Browser automation via Playwright MCP (default browser engine) | |
| Vercel's agent-browser CLI with session management | Switch via config |
| Git expert: atomic commits, rebase/squash, history search | |
| Designer-turned-developer for stunning UI/UX | |
Skills are injected into subagents via
delegate_task(load_skills=[...]).
| Command | Description |
|---|---|
| Initialize hierarchical AGENTS.md knowledge base |
| Execute a Prometheus plan with Atlas orchestrator |
| Start self-referential development loop until completion |
| Start ultrawork loop — continues until completion |
| Cancel active Ralph Loop |
| Intelligent refactoring with LSP, AST-grep, architecture analysis, TDD |
| Stop all continuation mechanisms (ralph loop, todo continuation, boulder) |
Fire multiple agents in parallel for exploration and research:
// Launch background agents (non-blocking) delegate_task(subagent_type="explore", run_in_background=true, prompt="Find auth patterns in codebase") delegate_task(subagent_type="librarian", run_in_background=true, prompt="Find JWT best practices")// Collect results when needed background_output(task_id="bg_abc123")
// Cancel all background tasks before final answer background_cancel(all=true)
{ "background_task": { "defaultConcurrency": 5, "staleTimeoutMs": 180000, "providerConcurrency": { "anthropic": 3, "google": 10 }, "modelConcurrency": { "anthropic/claude-opus-4-5": 2 } } }
Priority:
modelConcurrency > providerConcurrency > defaultConcurrency
Run background agents in separate tmux panes for visual multi-agent execution:
{ "tmux": { "enabled": true, "layout": "main-vertical", "main_pane_size": 60 } }
Requires running OpenCode in server mode inside a tmux session:
tmux new -s dev opencode --port 4096
Layout options:
main-vertical (default), main-horizontal, tiled, even-horizontal, even-vertical
// Internal codebase search delegate_task(subagent_type="explore", run_in_background=true, prompt="Find how auth middleware is implemented") delegate_task(subagent_type="explore", run_in_background=true, prompt="Find error handling patterns in the API layer")// External documentation search delegate_task(subagent_type="librarian", run_in_background=true, prompt="Find official JWT documentation and security recommendations")
// Continue working immediately — collect results when needed
// Frontend work → visual-engineering category delegate_task(category="visual-engineering", load_skills=["frontend-ui-ux"], prompt="Build the settings page")// Quick fix → quick category delegate_task(category="quick", load_skills=["git-master"], prompt="Create atomic commit for auth changes")
// Hard problem → ultrabrain category delegate_task(category="ultrabrain", load_skills=[], prompt="Design the caching invalidation strategy")
// First delegation returns a session_id result = delegate_task(category="quick", load_skills=["git-master"], prompt="Fix the type error") // session_id: "ses_abc123"// Follow-up uses session_id to preserve full context delegate_task(session_id="ses_abc123", prompt="Also fix the related test file")
opencode # Start TUI opencode --port 4096 # Start TUI with server mode (for tmux integration) opencode -c # Continue last session opencode -s <session-id> # Continue specific session opencode --agent <agent-name> # Start with specific agent opencode -m provider/model # Start with specific model
opencode run "Explain closures in JavaScript" opencode run --agent oracle "Review this architecture" opencode run -m openai/gpt-5.2 "Complex reasoning task" opencode run --format json "Query" # Raw JSON output
opencode auth login # Add/configure a provider opencode auth list # List authenticated providers opencode auth logout # Remove a provider opencode models # List all available models opencode models anthropic # List models for specific provider opencode models --refresh # Refresh models cache
opencode session list # List all sessions opencode session list -n 10 # Last 10 sessions opencode export <session-id> # Export session as JSON opencode import session.json # Import session opencode stats # Token usage and cost statistics opencode stats --days 7 # Stats for last 7 days
bunx oh-my-opencode install # Install/configure oh-my-opencode bunx oh-my-opencode doctor # Diagnose configuration issues opencode mcp list # List configured MCP servers opencode mcp add # Add an MCP server
opencode serve --port 4096 # Headless server opencode web --port 4096 # Server with web UI opencode attach http://localhost:4096 # Attach TUI to running server
Oh My OpenCode includes these MCP servers out of the box:
| MCP | Tool | Purpose |
|---|---|---|
| Exa | | Web search with clean LLM-ready content |
| Context7 | , | Official library/framework documentation lookup |
| Grep.app | | Search real-world code examples from public GitHub repos |
All hooks are enabled by default. Disable specific hooks via
disabled_hooks config:
| Hook | Purpose |
|---|---|
| Forces agent to continue if it quits halfway |
| Monitors and manages context window usage |
| Recovers sessions after crashes |
| Notifies on session events |
| Prevents AI from adding excessive code comments |
| Truncates large grep outputs |
| Truncates large tool outputs |
| Injects AGENTS.md from subdirectories (auto-disabled on OpenCode 1.1.37+) |
| Injects README.md context |
| Detects and handles empty task responses |
| Extended thinking mode control |
| Recovers from Anthropic context limits |
| Injects project rules |
| Notifies when background tasks complete |
| Checks for oh-my-opencode updates |
| Shows startup notification (sub-feature of auto-update-checker) |
| Detects keywords like / to trigger modes |
| Reminds to use specialized agents |
| Handles non-interactive environments |
| Manages interactive bash/tmux sessions |
| Injects context during compaction |
| Validates thinking blocks |
| Claude Code compatibility hooks |
| Ralph Loop continuation mechanism |
| Triggers compaction before context overflow |
| Auto-triggers slash commands |
| Notepad for Sisyphus-Junior subagents |
| Recovers from edit errors |
| Retries failed task delegations |
| Enforces Prometheus markdown-only output |
| Handles /start-work command |
| Atlas orchestrator hook |
ulw for quick autonomous tasks — just include the keyword in your prompt/start-work for complex projects — interview-based planning leads to better outcomesrun_in_background=truesession_id for follow-up interactions with the same subagentbunx oh-my-opencode doctor to diagnose issues/start-work — Atlas requires a Prometheus plantodo-continuation-enforcer — it's what keeps the agent completing workopencode auth directly)oh-my-opencode — NOT @anthropics/opencode or any other namebunx (officially recommended) — not npx for oh-my-opencode CLI commands--agent flag or delegate_task() — NOT @agent prefixbunx oh-my-opencode doctor --verboserun_in_background=true — never block on explorationstream: false — required to avoid JSON parse errorsBackground tasks automatically notify when complete via the
background-notification hook. No polling needed — the system pushes completion events. Use background_output(task_id="...") only when you need to read the result.
No automatic installation available. Please visit the source repository for installation instructions.
View Installation Instructions1,500+ AI skills, agents & workflows. Install in 30 seconds. Part of the Torly.ai family.
© 2026 Torly.ai. All rights reserved.