Oh My OpenAgent (OmO) / oh-my-opencode¶
What it is¶
Oh My OpenAgent (previously oh-my-opencode) is an open-source agent harness designed to provide a "world-class" development experience across multiple LLM providers. It acts as an orchestration layer on top of OpenCode, offering a full AI developer team in your terminal. It is a free, self-hostable tool released under the SUL 1.0 license.
What problem it solves¶
It solves the "harness problem" where models fail not because of intelligence, but because of poor edit tools and narrow context. It provides reliable multi-model orchestration, surgical editing via Hashline (content hashes), and a "Discipline Agent" system that ensures tasks are driven to 100% completion using frontier models like Claude 4.8 and GPT-5.5.
Where it fits in the stack¶
Development & Ops / Agent Harness. It is the open-source alternative to proprietary "walled garden" agents like Claude Code or Windsurf.
Typical use cases¶
- Complex Feature Building: Using the
ultraworkcommand to trigger a multi-agent plan-and-execute loop. - Large-scale Refactoring: Leveraging LSP and AST-Grep integration for deterministic code changes (e.g., workspace-level renames).
- Autonomous Debugging: Deploying specialized agents (Oracle, Librarian) to root cause and fix elusive bugs.
- Browser Automation: Using the built-in Playwright skill for UI testing or data scraping.
- Context Injection: Auto-generating hierarchical
AGENTS.mdfiles for lean, project-specific context.
Key Agents (The Sisyphus Team)¶
OmO uses a "Discipline Agent" system where specialized agents collaborate in parallel: - Sisyphus: The main orchestrator. Plans, delegates, and ensures tasks never stop halfway. - Hephaestus: The "Deep Worker" (Implementer). Explores codebases and executes edits using Hashline. - Prometheus: The Strategic Planner. Interviews the user to refine requirements before execution starts. - Oracle: The Reasoner. Specialized in architecture decisions and deep debugging. - Librarian: Focuses on documentation and context retrieval. - Explore: Handles web search and research via Exa MCP.
Strengths¶
- Multi-Model Orchestration: Routes tasks to the best model (e.g., Claude 4.8 for logic, Gemini 3.5 for creativity).
- Hashline (Hash-Anchored Edits): Edits lines by referencing content hashes, eliminating stale-line errors.
- Claude Code Compatibility: Supports
CLAUDE.mdandAGENTS.mdskills, hooks, and MCP 3.0. - LSP + AST-Grep: IDE-quality refactoring and AST-aware code search/rewrites.
- Transparent & Open: No vendor lock-in; supports local models like Llama 4 Maverick.
Limitations¶
- Setup Complexity: While improved with
/init-deep, advanced multi-model configuration requires API key management for several providers. - Resource Usage: Running multiple specialized agents in parallel can consume more tokens than a single-agent approach.
- CLI-Centric: Lacks a native heavy-GUI for users who prefer visual IDE integrations over terminal-based workflows.
When to use it¶
- When you want a "Ubuntu" like experience for AI coding—stable, open, and powerful.
- When surgical precision and high success rates for complex edits are more important than speed.
- For large-scale refactors where AST-aware tools are required.
When not to use it¶
- For trivial, single-file changes where a simple chat interface suffices.
- If you prefer the simplicity of a single-provider, managed experience.
- In resource-constrained environments where running multiple agent loops is prohibitive.
Getting started¶
Installation¶
You can install OmO via npm:
npm install -g oh-my-opencode
Initializing a Project¶
Run the deep initialization to set up hierarchical context for your agents:
/init-deep
Basic Example¶
omo "Explain how the authentication flow works in this project"
CLI examples¶
# Start the "Ultrawork" loop (Plan -> Execute -> Verify)
ultrawork "Implement the authentication flow using NextAuth"
# Trigger a planning session with Prometheus
/start-work
# Self-referential loop until 100% done
/ulw-loop "Fix all linting errors and update dependencies"
# Run project diagnostics
bunx oh-my-opencode doctor
API examples¶
OmO can be integrated into custom scripts using its CLI-first interface or by importing its core modules in a Bun/Node environment.
// Example using the internal task runner
import { Sisyphus } from "oh-my-openagent/core";
const task = await Sisyphus.plan("Refactor the payment gateway to use Stripe v2026");
await task.execute();
Related tools / concepts¶
Sources / references¶
- Oh My OpenAgent (GitHub)
- The Harness Problem (Can Bölük)
- Oh My OpenCode Documentation
- OmO Agent Deep Dive
Contribution Metadata¶
- Last reviewed: 2026-06-26
- Confidence: high