🔗 View on GitHub: oh-my-openagent
omo; the best agent harness
🚀 Quick Installation
Install and configure oh-my-opencode as an OpenCode plugin. The easiest way is to let an agent do it.
Agent Installation Prompt
Copy and paste this to your LLM agent (Claude Code, AmpCode, Cursor, etc.):
Install and configure oh-my-opencode by following the instructions here:
https://raw.githubusercontent.com/code-yeongyu/oh-my-openagent/refs/heads/dev/docs/guide/installation.mdManual Installation
Fetch the installation guide:
curl -s https://raw.githubusercontent.com/code-yeongyu/oh-my-openagent/refs/heads/dev/docs/guide/installation.mdThen add to your OpenCode config (~/.config/opencode/opencode.json):
{
"plugin": ["oh-my-opencode"]
}What is Oh My OpenCode?
You're juggling Claude Code, Codex, random OSS models. Configuring workflows. Debugging agents.
We did the work. Tested everything. Kept what actually shipped.
Install OmO. Type ultrawork. Done.
Anthropic blocked OpenCode because of us. Yes this is true.
They want you locked in. Claude Code's a nice prison, but it's still a prison.
We don't do lock-in here. We ride every model. Claude / Kimi / GLM for orchestration. GPT for reasoning. Minimax for speed. Gemini for creativity.
The future isn't picking one winner—it's orchestrating them all.
✨ Key Features
| Feature | What it does |
|---|---|
| 🤖 Discipline Agents | Sisyphus orchestrates Hephaestus, Oracle, Librarian, Explore. A full AI dev team in parallel. |
| ⚡ ultrawork / ulw | One word. Every agent activates. Doesn't stop until done. |
| 🚪 IntentGate | Analyzes true user intent before classifying or acting. No more literal misinterpretations. |
| 🔗 Hash-Anchored Edit Tool | LINE#ID content hash validates every change. Zero stale-line errors. Inspired by oh-my-pi. |
| 🛠️ LSP + AST-Grep | Workspace rename, pre-build diagnostics, AST-aware rewrites. IDE precision for agents. |
| 🧠 Background Agents | Fire 5+ specialists in parallel. Context stays lean. Results when ready. |
| 📚 Built-in MCPs | Exa (web search), Context7 (official docs), Grep.app (GitHub search). Always on. |
| 🔁 Ralph Loop / /ulw-loop | Self-referential loop. Doesn't stop until 100% done. |
| ✅ Todo Enforcer | Agent goes idle? System yanks it back. Your task gets done, period. |
| 💬 Comment Checker | No AI slop in comments. Code reads like a senior wrote it. |
| 🖥️ Tmux Integration | Full interactive terminal. REPLs, debuggers, TUIs. All live. |
| 🔌 Claude Code Compatible | Your hooks, commands, skills, MCPs, and plugins? All work here. |
| 🎯 Skill-Embedded MCPs | Skills carry their own MCP servers. No context bloat. |
| 📋 Prometheus Planner | Interview-mode strategic planning before any execution. |
| 🔍 /init-deep | Auto-generates hierarchical AGENTS.md files throughout your project. |
🎭 Discipline Agents
Sisyphus (claude-opus-4-6 / kimi-k2.5 / glm-5) is your main orchestrator. He plans, delegates to specialists, and drives tasks to completion with aggressive parallel execution. He does not stop halfway.
Hephaestus (gpt-5.3-codex) is your autonomous deep worker. Give him a goal, not a recipe. He explores the codebase, researches patterns, and executes end-to-end without hand-holding. The Legitimate Craftsman.
Prometheus (claude-opus-4-6 / kimi-k2.5 / glm-5) is your strategic planner. Interview mode: it questions, identifies scope, and builds a detailed plan before a single line of code is touched.
Every agent is tuned to its model's specific strengths. No manual model-juggling.
🎯 Agent Orchestration
When Sisyphus delegates to a subagent, it doesn't pick a model. It picks a category. The category maps automatically to the right model:
| Category | What it's for |
|---|---|
visual-engineering |
Frontend, UI/UX, design |
deep |
Autonomous research + execution |
quick |
Single-file changes, typos |
ultrabrain |
Hard logic, architecture decisions |
Agent says what kind of work. Harness picks the right model. ultrabrain now routes to GPT-5.4 xhigh by default. You touch nothing.
🔧 World-Class Tools
LSP, AST-Grep, Tmux, MCP actually integrated, not duct-taped together.
- LSP:
lsp_rename,lsp_goto_definition,lsp_find_references,lsp_diagnostics. IDE precision for every agent - AST-Grep: Pattern-aware code search and rewriting across 25 languages
- Tmux: Full interactive terminal. REPLs, debuggers, TUI apps. Your agent stays in session
- MCP: Web search, official docs, GitHub code search. All baked in
🔗 Hash-Anchored Edits
The harness problem is real. Most agent failures aren't the model. It's the edit tool.
"None of these tools give the model a stable, verifiable identifier for the lines it wants to change... They all rely on the model reproducing content it already saw. When it can't - and it often can't - the user blames the model."
— Can Bölük, The Harness Problem
Inspired by oh-my-pi, we implemented Hashline. Every line the agent reads comes back tagged with a content hash:
11#VK| function hello() {
22#XJ| return "world";
33#MB| }The agent edits by referencing those tags. If the file changed since the last read, the hash won't match and the edit is rejected before corruption. No whitespace reproduction. No stale-line errors.
Grok Code Fast 1: 6.7% → 68.3% success rate. Just from changing the edit tool.
🗂️ Deep Initialization (/init-deep)
Run /init-deep. It generates hierarchical AGENTS.md files:
project/
├── AGENTS.md ← project-wide context
├── src/
│ ├── AGENTS.md ← src-specific context
│ └── components/
│ └── AGENTS.md ← component-specific contextAgents auto-read relevant context. Zero manual management.
📝 User Testimonials
"It made me cancel my Cursor subscription. Unbelievable things are happening in the open source community."
— Arthur Guiot
"If Claude Code does in 7 days what a human does in 3 months, Sisyphus does it in 1 hour. It just works until the task is done. It is a discipline agent."
— B, Quant Researcher
"Knocked out 8000 eslint warnings with Oh My Opencode, just in a day"
— Jacob Ferrari
"I converted a 45k line tauri app into a SaaS web app overnight using Ohmyopencode and ralph loop."
— James Hargis
"You guys should pull this into core and recruit him. Seriously. It's really, really, really good."
— Henning Kilset
🔌 Claude Code Compatibility
You dialed in your Claude Code setup. Good.
Every hook, command, skill, MCP, plugin works here unchanged. Full compatibility, including plugins.
📦 Built-in Skills
Skills aren't just prompts. Each brings:
- Domain-tuned system instructions
- Embedded MCP servers, on-demand
- Scoped permissions. Agents stay in bounds
Built-ins:
playwright— Browser automationgit-master— Atomic commits, rebase surgeryfrontend-ui-ux— Design-first UI
Add your own: .opencode/skills/*/SKILL.md or ~/.config/opencode/skills/*/SKILL.md
⚙️ Configuration
Opinionated defaults, adjustable if you insist.
- Config Locations:
.opencode/oh-my-opencode.jsonc(project) or~/.config/opencode/oh-my-opencode.jsonc(user) - JSONC Support: Comments and trailing commas supported
- Agents: Override models, temperatures, prompts, and permissions for any agent
- Hooks: 25+ built-in hooks, all configurable via
disabled_hooks - Experimental: Aggressive truncation, auto-resume, and more
❤️ Loved By
- Indent — Making Spray (influencer marketing), vovushop (crossborder commerce), vreview (AI commerce review marketing)
- Microsoft
- ELESTYLE — Making elepay (multi-mobile payment gateway), OneQR (mobile application SaaS)
📚 Documentation
- Overview — Understand what you have
- Orchestration Guide — How agents collaborate
- Features Documentation — Complete feature reference
- Configuration Documentation — Full config reference
- Ultrawork Manifesto — The philosophy
🔗 Links
- 🌐 GitHub Repository
- 💬 Discord Community
- 🐦 @justsisyphus on X
- 🏢 Sisyphus Labs — Productized version coming soon