README.md 13 KB

# oh-my-opencode-slim **A lightweight, powerful agent orchestration plugin for OpenCode** Agent Orchestration - Hub and Spoke Model *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 without the extra bells and whistles.


Installation

For Humans

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 --cerebras=no

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

For LLM Agents

Instructions for LLM Agents (click to expand)

If you're an LLM Agent helping set up oh-my-opencode-slim, follow these steps exactly in order. Ask questions one at a time and wait for the user's response before proceeding.


Step 1: Check OpenCode Installation

First, verify OpenCode is installed:

if command -v opencode &> /dev/null; then
    echo "OpenCode $(opencode --version) is installed"
else
    echo "OpenCode is not installed. Please install it first."
    echo "Ref: https://opencode.ai/docs"
fi

If OpenCode is not installed, STOP and ask the user to install it first.


Step 2: Ask About Provider Access (ONE QUESTION AT A TIME)

IMPORTANT: Ask these questions one by one. Wait for the user's answer before asking the next question. Store their answers to determine the final configuration.

Question 1 (ask first, wait for response):

"Do you have an Antigravity subscription? (yes/no)"

Antigravity provides access to Claude and Gemini models via the google/ prefix.

Question 2 (ask after Question 1 is answered):

"Do you have access to OpenAI API? (yes/no)"

This enables openai/ models like GPT-5.2 Codex.

Question 3 (ask after Question 2 is answered):

"Do you have access to Cerebras API? (yes/no)"

This enables cerebras/ models for fast exploration tasks.


Step 3: Run the Installer

Based on the user's answers, run the installer with appropriate flags:

bunx oh-my-opencode-slim install --no-tui --antigravity=<yes|no> --openai=<yes|no> --cerebras=<yes|no>

Examples:

  • User has Antigravity + OpenAI: bunx oh-my-opencode-slim install --no-tui --antigravity=yes --openai=yes --cerebras=no
  • User has only OpenAI: bunx oh-my-opencode-slim install --no-tui --antigravity=no --openai=yes --cerebras=no
  • User has Cerebras only: bunx oh-my-opencode-slim install --no-tui --antigravity=no --openai=no --cerebras=yes

Alternative: Manual Configuration

If the installer doesn't work, create the configuration files manually:

3a. Create ~/.config/opencode/opencode.json

If user has Antigravity (regardless of other providers):

{
  "plugin": [
    "oh-my-opencode-slim",
    "opencode-antigravity-auth@latest"
  ],
  "provider": {
    "google": {
      "name": "Google",
      "models": {
        "gemini-3-pro-high": {
          "name": "Gemini 3 Pro High",
          "limit": { "context": 1048576, "output": 65535 }
        },
        "gemini-3-flash": {
          "name": "Gemini 3 Flash",
          "limit": { "context": 1048576, "output": 65536 }
        },
        "claude-opus-4-5-thinking": {
          "name": "Claude Opus 4.5 Thinking",
          "limit": { "context": 200000, "output": 32000 }
        }
      }
    }
  }
}

If user does NOT have Antigravity:

{
  "plugin": [
    "oh-my-opencode-slim"
  ]
}
3b. Create ~/.config/opencode/oh-my-opencode-slim.json

Select the appropriate configuration based on the user's answers:

Scenario A: Antigravity ONLY (no OpenAI, no Cerebras)

{
  "agents": {
    "orchestrator": { "model": "google/claude-opus-4-5-thinking" },
    "oracle": { "model": "google/claude-opus-4-5-thinking" },
    "librarian": { "model": "google/gemini-3-flash" },
    "explore": { "model": "google/gemini-3-flash" },
    "frontend-ui-ux-engineer": { "model": "google/gemini-3-flash" },
    "document-writer": { "model": "google/gemini-3-flash" },
    "multimodal-looker": { "model": "google/gemini-3-flash" },
    "code-simplicity-reviewer": { "model": "google/claude-opus-4-5-thinking" }
  }
}

Scenario B: Antigravity + OpenAI (no Cerebras)

{
  "agents": {
    "orchestrator": { "model": "google/claude-opus-4-5-thinking" },
    "oracle": { "model": "openai/gpt-5.2-codex" },
    "librarian": { "model": "google/gemini-3-flash" },
    "explore": { "model": "google/gemini-3-flash" },
    "frontend-ui-ux-engineer": { "model": "google/gemini-3-flash" },
    "document-writer": { "model": "google/gemini-3-flash" },
    "multimodal-looker": { "model": "google/gemini-3-flash" },
    "code-simplicity-reviewer": { "model": "google/claude-opus-4-5-thinking" }
  }
}

Scenario C: Antigravity + Cerebras (no OpenAI)

{
  "agents": {
    "orchestrator": { "model": "google/claude-opus-4-5-thinking" },
    "oracle": { "model": "google/claude-opus-4-5-thinking" },
    "librarian": { "model": "google/gemini-3-flash" },
    "explore": { "model": "cerebras/zai-glm-4.6" },
    "frontend-ui-ux-engineer": { "model": "google/gemini-3-flash" },
    "document-writer": { "model": "google/gemini-3-flash" },
    "multimodal-looker": { "model": "google/gemini-3-flash" },
    "code-simplicity-reviewer": { "model": "google/claude-opus-4-5-thinking" }
  }
}

Scenario D: Antigravity + OpenAI + Cerebras (full access)

{
  "agents": {
    "orchestrator": { "model": "google/claude-opus-4-5-thinking" },
    "oracle": { "model": "openai/gpt-5.2-codex" },
    "librarian": { "model": "google/gemini-3-flash" },
    "explore": { "model": "cerebras/zai-glm-4.6" },
    "frontend-ui-ux-engineer": { "model": "google/gemini-3-flash" },
    "document-writer": { "model": "google/gemini-3-flash" },
    "multimodal-looker": { "model": "google/gemini-3-flash" },
    "code-simplicity-reviewer": { "model": "google/claude-opus-4-5-thinking" }
  }
}

Scenario E: OpenAI ONLY (no Antigravity, no Cerebras)

{
  "agents": {
    "orchestrator": { "model": "openai/gpt-5.2-codex" },
    "oracle": { "model": "openai/gpt-5.2-codex" },
    "librarian": { "model": "openai/gpt-4.1-mini" },
    "explore": { "model": "openai/gpt-4.1-mini" },
    "frontend-ui-ux-engineer": { "model": "openai/gpt-4.1-mini" },
    "document-writer": { "model": "openai/gpt-4.1-mini" },
    "multimodal-looker": { "model": "openai/gpt-4.1-mini" },
    "code-simplicity-reviewer": { "model": "openai/gpt-5.2-codex" }
  }
}

Scenario F: OpenAI + Cerebras (no Antigravity)

{
  "agents": {
    "orchestrator": { "model": "openai/gpt-5.2-codex" },
    "oracle": { "model": "openai/gpt-5.2-codex" },
    "librarian": { "model": "openai/gpt-4.1-mini" },
    "explore": { "model": "cerebras/zai-glm-4.6" },
    "frontend-ui-ux-engineer": { "model": "openai/gpt-4.1-mini" },
    "document-writer": { "model": "openai/gpt-4.1-mini" },
    "multimodal-looker": { "model": "openai/gpt-4.1-mini" },
    "code-simplicity-reviewer": { "model": "openai/gpt-5.2-codex" }
  }
}

Scenario G: Cerebras ONLY (no Antigravity, no OpenAI)

{
  "agents": {
    "orchestrator": { "model": "cerebras/zai-glm-4.6" },
    "oracle": { "model": "cerebras/zai-glm-4.6" },
    "librarian": { "model": "cerebras/zai-glm-4.6" },
    "explore": { "model": "cerebras/zai-glm-4.6" },
    "frontend-ui-ux-engineer": { "model": "cerebras/zai-glm-4.6" },
    "document-writer": { "model": "cerebras/zai-glm-4.6" },
    "multimodal-looker": { "model": "cerebras/zai-glm-4.6" },
    "code-simplicity-reviewer": { "model": "cerebras/zai-glm-4.6" }
  }
}

Step 4: Verify Configuration

opencode --version  # Should be 1.0.150 or higher
cat ~/.config/opencode/opencode.json
cat ~/.config/opencode/oh-my-opencode-slim.json

Step 5: Configure Authentication

Guide the user to authenticate with their providers:

For Antigravity users:

opencode auth login
# Select: Google → OAuth with Google (Antigravity)

For OpenAI users:

# Set OPENAI_API_KEY environment variable
export OPENAI_API_KEY="sk-..."

For Cerebras users:

# Set CEREBRAS_API_KEY environment variable
export CEREBRAS_API_KEY="..."

Step 6: Print Final Instructions for User

After writing the configuration files, print this message:

Configuration complete!

To authenticate with your providers, run:

    $ opencode auth login

After authentication, start OpenCode:

    $ opencode

Quick Reference: Provider to Scenario Mapping

Antigravity OpenAI Cerebras Scenario Auth Plugin Required
Yes No No A Yes
Yes Yes No B Yes
Yes No Yes C Yes
Yes Yes Yes D Yes
No Yes No E No
No Yes Yes F No
No No Yes G No


Architecture & Flow

The plugin follows a "Hub and Spoke" model:

  1. The Orchestrator (Hub): The main entry point for user requests. It analyzes the task and decides which specialized agents to call.
  2. Specialized Agents (Spokes): Domain-specific experts (e.g., UI/UX, Documentation, Architecture) that handle narrow tasks with high precision.
  3. Background Manager: A robust engine that allows the Orchestrator to "fire and forget" tasks (like deep codebase searches or documentation research) while continuing to work on other parts of the problem.

The Flow of a Request

  1. User Prompt: "Refactor the auth logic and update the docs."
  2. Orchestrator: Creates a TODO list.
  3. Delegation:
    • Launches an @explore background task to find all auth-related files.
    • Launches a @librarian task to check the latest documentation for the auth library used.
  4. Integration: Once background results are ready, the Orchestrator performs the refactor.
  5. Finalization: Passes the changes to @document-writer to update the README.

Agents

Agent Role Default Model Best Used For
orchestrator Manager google/claude-opus-4-5-thinking Planning, task delegation, and overall coordination.
oracle Architect openai/gpt-5.2-codex Complex debugging, architectural decisions, and code reviews.
explore Searcher cerebras/zai-glm-4.6 Fast codebase grep, finding patterns, and locating definitions.
librarian Researcher google/gemini-3-flash External library docs, GitHub examples, and API research.
frontend-ui-ux-engineer Designer google/gemini-3-flash Visual changes, CSS/styling, and React/Vue component polish.
document-writer Scribe google/gemini-3-flash Technical documentation, READMEs, and inline code comments.
multimodal-looker Visionary google/gemini-3-flash Analyzing screenshots, wireframes, or UI designs.
code-simplicity-reviewer Minimalist google/claude-opus-4-5-thinking Ruthless code simplification and YAGNI principle enforcement.

Tools & Capabilities

Background Tasks

The plugin provides three core tools to manage asynchronous work:

  • background_task: Launches an agent in a new session.
    • sync=true: Blocks until the agent finishes (ideal for quick sub-tasks).
    • sync=false: Runs in the background (ideal for long searches or research).
  • background_output: Fetches the result of a background task using its ID.
  • background_cancel: Aborts running tasks if they are no longer needed.

Configuration

You can customize the behavior of the plugin via JSON configuration files.

Configuration Files

The plugin looks for configuration in two places (and merges them):

  1. User Global: ~/.config/opencode/oh-my-opencode-slim.json (or OS equivalent)
  2. Project Local: ./.opencode/oh-my-opencode-slim.json
Platform User Config Path
Windows ~/.config/opencode/oh-my-opencode-slim.json or %APPDATA%\opencode\oh-my-opencode-slim.json
macOS/Linux ~/.config/opencode/oh-my-opencode-slim.json

Disabling Agents

You can disable specific agents using the disabled_agents array:

{
  "disabled_agents": ["multimodal-looker", "code-simplicity-reviewer"]
}

Uninstallation

  1. Remove the plugin from your OpenCode config:

Edit ~/.config/opencode/opencode.json and remove "oh-my-opencode-slim" from the plugin array.

  1. Remove configuration files (optional): bash rm -f ~/.config/opencode/oh-my-opencode-slim.json rm -f .opencode/oh-my-opencode-slim.json

Credits

This is a slimmed-down fork of oh-my-opencode by @code-yeongyu.


License

MIT