Skip to content

Core Features

Core Features

Oh My OpenCode provides a suite of powerful enterprise-grade features that elevate OpenCode to a professional level. This document details how each core feature works and how to use it.

Sisyphus Agent Orchestration System

What is Sisyphus?

Sisyphus is the core orchestration system of Oh My OpenCode, acting as the “primary agent.” Its name comes from the Greek myth of Sisyphus who continuously pushed a boulder up a hill, symbolizing persistent task execution and management.

Model Used: Sisyphus typically uses the most powerful models, such as Claude Opus 4.5 High or Claude Sonnet 4, to ensure excellent task decomposition and coordination capabilities.

Why Do We Need an Orchestrator?

In complex development tasks, a single AI agent often struggles to handle all aspects. The value of an orchestrator lies in:

  • Task Decomposition: Breaking large tasks into manageable subtasks
  • Specialization Matching: Selecting the most suitable specialist agent for each subtask
  • Resource Coordination: Managing parallel execution and resource allocation of multiple agents
  • Result Integration: Aggregating work from various agents into complete solutions
  • Context Management: Ensuring context sharing and consistency between different agents

How It Works

User Task

Sisyphus analyzes task requirements

Automatically selects appropriate specialist agents

Coordinates multiple agents working in parallel

Integrates results and returns

Core Capabilities

1. Intelligent Task Decomposition

Sisyphus can break complex tasks into multiple subtasks:

# User input
opencode "Refactor entire authentication system, add OAuth2 and JWT support"

# Sisyphus internal decomposition
# - Subtask 1: @oracle design new authentication architecture
# - Subtask 2: @librarian research OAuth2 and JWT best practices
# - Subtask 3: @backend-engineer implement server-side logic
# - Subtask 4: @frontend-ui-ux-engineer update login interface

2. Automatic Agent Selection

Automatically selects the most suitable agent based on task type:

Task TypeSelected AgentReason
Architecture Design@oracleSystem thinking and technical decisions
Documentation Research@librarianInformation retrieval and organization
UI Development@frontend-ui-ux-engineerFrontend technical expertise
API Development@backend-engineerBackend technical expertise
Bug Analysis@exploreDeep code base analysis

3. Parallel Task Coordination

Multiple agents can work simultaneously, with Sisyphus coordinating:

{
  "main_task": "Develop user dashboard",
  "parallel_tasks": [
    {
      "agent": "@oracle",
      "task": "Design component architecture",
      "status": "in_progress"
    },
    {
      "agent": "@librarian",
      "task": "Research UI library documentation",
      "status": "completed"
    },
    {
      "agent": "@frontend-engineer",
      "task": "Implement base components",
      "status": "in_progress"
    }
  ]
}

Configuration Options

{
  "sisyphus": {
    "enabled": true,
    "max_concurrent_tasks": 3,        // Maximum concurrent tasks
    "task_timeout": 300,               // Task timeout (seconds)
    "auto_delegate": true,             // Auto-delegate tasks
    "delegation_strategy": "optimal"   // Delegation strategy: optimal, balanced, sequential
  }
}

Specialized Agent Team

@oracle - Architect

Specialization: System architecture design, technical decisions, pattern selection

Use Cases:

  • Design new system architecture
  • Select technology stack
  • Major refactoring decisions
  • Performance optimization solutions

Example Usage:

# Direct call
opencode "@oracle Analyze bottlenecks in current microservices architecture"

# Combined with ultrawork
opencode "ulw: @oracle Design a highly available distributed caching system"

Configuration:

{
  "agents": {
    "oracle": {
      "enabled": true,
      "model": "claude-sonnet-4",
      "temperature": 0.7,
      "max_tokens": 4096,
      "prompt_append": "Please provide detailed technical decision rationale and trade-off analysis"
    }
  }
}

@librarian - Documentation Specialist

Model Used: GPT-4 Turbo, Claude Sonnet 3.5, or similar models

Specialization: Documentation research, knowledge organization, information retrieval

Use Cases:

  • Research framework/library documentation
  • Organize technical materials
  • Write technical documentation
  • Learn new technologies

Example Usage:

# Research documentation
opencode "@librarian Research best practices for React Server Components"

# Write documentation
opencode "@librarian Write API documentation for the current project"

@frontend-ui-ux-engineer - Frontend UI/UX Engineer

Model Used: Claude Sonnet 4, GPT-4, or similar models

Specialization: Frontend development, UI/UX design, user experience optimization

Use Cases:

  • Design and implement user interfaces
  • Optimize user experience
  • Responsive design
  • Accessibility improvements

Example Usage:

# UI/UX development
opencode "@frontend-ui-ux-engineer Design and implement a modern login page"

# User experience optimization
opencode "@frontend-ui-ux-engineer Optimize form interaction and validation feedback"

@frontend-engineer - Frontend Engineer

Model Used: Claude Sonnet 4, GPT-4, or similar models

Specialization: React/Vue/Angular development, UI/UX implementation

Use Cases:

  • Frontend component development
  • UI implementation
  • Style adjustments
  • Frontend performance optimization

Example Usage:

# UI development
opencode "@frontend-engineer Implement a responsive user card component"

# Performance optimization
opencode "@frontend-engineer Optimize homepage load performance"

@backend-engineer - Backend Engineer

Model Used: Claude Sonnet 4, GPT-4, or similar models

Specialization: Node.js/Python/Go development, API design, databases

Use Cases:

  • API endpoint development
  • Database design
  • Business logic implementation
  • Backend performance optimization

Example Usage:

# API development
opencode "@backend-engineer Implement user authentication API with JWT support"

# Database optimization
opencode "@backend-engineer Optimize database indexes for order queries"

@explore - Explorer

Model Used: Claude Sonnet 3.5, GPT-4, or similar models

Specialization: Code base analysis, issue tracking, dependency relationships

Use Cases:

  • Bug debugging
  • Code base exploration
  • Dependency analysis
  • Impact scope assessment

Example Usage:

# Bug debugging
opencode "@explore Find the code location causing memory leak"

# Dependency analysis
opencode "@explore Analyze where this function is called from"

@document-writer - Technical Writing Specialist

Model Used: GPT-4, Claude Sonnet 3.5, or similar models

Specialization: Technical documentation writing, API documentation, tutorial creation

Use Cases:

  • Write technical documentation
  • Create API references
  • Write tutorials and guides
  • Maintain project README

Example Usage:

# Documentation writing
opencode "@document-writer Write complete usage documentation for the new feature"

# API documentation
opencode "@document-writer Generate complete documentation for RESTful API"

@multimodal-looker - Visual Content Analysis Specialist

Model Used: Claude Sonnet 4 (Vision), GPT-4 Vision, or similar multimodal models

Specialization: Visual content analysis, image understanding, design review

Use Cases:

  • Analyze design mockups
  • Understand UI screenshots
  • Review visual design
  • Extract information from images

Example Usage:

# Design analysis
opencode "@multimodal-looker Analyze this design mockup and provide implementation suggestions"

# UI review
opencode "@multimodal-looker Review the visual design and layout of the current page"

LSP Tool Integration

What is LSP?

Language Server Protocol (LSP) is a protocol developed by Microsoft that provides language intelligence features to editors. Oh My OpenCode integrates LSP for AI agents to use, giving them the same code understanding capabilities as IDEs.

Available LSP Features

lsp_hover - View Definitions

View type definitions and documentation for symbols:

// AI can use the lsp_hover tool
// to view type information for UserService
const service = new UserService();

lsp_goto_definition - Jump to Definition

Jump to the definition location of a symbol:

# AI can use lsp_goto_definition for automatic location
"Find the implementation of authenticateUser function"

lsp_rename - Safe Renaming

Safe cross-file symbol renaming:

opencode "Use lsp_rename tool to rename getUserData to fetchUserProfile"

lsp_find_references - Find References

Find all reference locations of a symbol:

opencode "Use lsp_find_references to find all usages of the deprecated API"

lsp_code_actions - Code Actions

Execute code refactoring and quick fixes:

opencode "Use lsp_code_actions to automatically fix type errors"

Supported Languages

  • ✅ TypeScript/JavaScript
  • ✅ Python
  • ✅ Go
  • ✅ Rust
  • ✅ Java
  • ✅ C/C++

Configure LSP

{
  "lsp": {
    "enabled": true,
    "languages": ["typescript", "python", "go"],
    "servers": {
      "typescript": {
        "command": "typescript-language-server",
        "args": ["--stdio"]
      },
      "python": {
        "command": "pylsp",
        "args": []
      }
    }
  }
}

What is AST-Grep?

AST-Grep is a code search tool based on Abstract Syntax Trees (AST), more precise and powerful than simple text searches.

Core Capabilities

# Find all components using useState
opencode "Use ast_grep_search to find all React components using useState"

# Find specific code patterns
opencode "Use ast_grep_search to find all async functions without try-catch"

2. ast_grep_replace - Code Refactoring

# Batch refactoring
opencode "Use ast_grep_replace to change all var declarations to const"

# Pattern replacement
opencode "Use ast_grep_replace to convert all class components to function components"

Example

# .ast-grep.yml configuration
rule:
  pattern: console.log($$$ARGS)
fix: logger.debug($$$ARGS)
language: typescript

Background Task Parallel Execution

Working Mechanism

While the main task is executing, background agents can handle other work in parallel:

Main task: Implement user login functionality
    ↓ (in progress)
Background task 1: @librarian Research security best practices
Background task 2: @explore Analyze existing authentication code
Background task 3: @oracle Design new session management
    ↓ (concurrent)
Integrate all results

Advantages

  • ⚡ Efficiency Boost: 3x+ work efficiency
  • 🧠 Intelligent Collaboration: Tasks automatically share context
  • 🎯 Auto Balance: Dynamically adjust task allocation based on resources

Configuration

{
  "background_task": {
    "enabled": true,
    "defaultConcurrency": 3,
    "priority": "balanced",  // high, balanced, low
    "auto_merge_results": true
  }
}

Claude Code Compatibility Layer

Seamless Migration

Oh My OpenCode provides full Claude Code compatibility, existing configurations work without modification:

Claude Code Configuration Example:

// Claude Code configuration
{
  "custom_instructions": "Use TypeScript strict mode",
  "context_files": [".claud/CONTEXT.md"]
}

Auto-Converted to Oh My OpenCode Format:

{
  "agents": {
    "default": {
      "prompt_append": "Use TypeScript strict mode"
    }
  },
  "context_injection": {
    "files": [".claud/CONTEXT.md"]
  }
}

Supported Features

  • ✅ custom_instructions
  • ✅ context_files
  • ✅ project_rules
  • ✅ custom_tools
  • ✅ hooks

Session Management Tools

Features

  • Session Persistence: Save and restore work sessions
  • Context Accumulation: Maintain context memory across sessions
  • Task Linking: Associate related tasks

Usage

# Save session
opencode "Save current session as refactor-auth"

# Restore session
opencode "Restore session refactor-auth and continue"

# List sessions
opencode "List all saved sessions"

Intelligent Context Injection

AGENTS.md Hierarchical System

Supports project-level and directory-level context rules:

project/
├── AGENTS.md                    # Global rules
├── src/
│   ├── AGENTS.md               # src directory rules
│   └── components/
│       └── AGENTS.md           # components directory rules

Conditional Rule Activation

Automatically activate rules based on conditions:

<!-- AGENTS.md -->
# Conditional Rules

## when: file.ext == "*.test.ts"
Use Jest and React Testing Library

## when: agent == "@frontend-engineer"
Follow company UI design system

Next Steps

After learning about the core features, we recommend:

  1. 📖 Check Best Practices to learn efficient usage patterns
  2. ⚙️ Explore Advanced Configuration for deep customization
  3. 💡 Refer to Use Cases for inspiration