mirror of
https://github.com/coli-dev/oh-my-droid.git
synced 2026-04-26 12:05:54 +03:00
Multi-agent orchestration for Factory Droid with 5 execution modes: Autopilot (autonomous), Ultrapilot (3-5x parallel), Swarm (coordinated agents), Pipeline (sequential chains), Ecomode (token-efficient). 31+ skills, 32 specialized droids, zero learning curve.
introduces a new mechanism for defining custom agents using markdown files with frontmatter. these droids can be loaded from `~/.factory/droids` and `./.factory/droids` directories. the frontmatter supports `name`, `description`, `model`, and `tools` properties. tools can be specified as a comma-separated list, a yaml list, or by using predefined categories like `read`, `edit`, `execute`, `search`, or `all`. this change enhances agent customization by allowing users to define their own agents with specific configurations and tools. |
||
|---|---|---|
| .factory-plugin | ||
| .github | ||
| bridge | ||
| commands | ||
| docs | ||
| droids | ||
| examples | ||
| hooks | ||
| scripts | ||
| skills | ||
| src | ||
| templates | ||
| .gitattributes | ||
| .gitignore | ||
| .mcp.json | ||
| .npmignore | ||
| AGENTS.md | ||
| bun.lock | ||
| CHANGELOG.md | ||
| eslint.config.js | ||
| LICENSE | ||
| package.json | ||
| README.md | ||
| tsconfig.json | ||
| typos.toml | ||
| vitest.config.ts | ||
oh-my-droid
Multi-droid orchestration for Droid CLI. Zero learning curve.
oh-my-droid extends Droid with execution modes, specialized droids, skills, hooks, model routing, and MCP bridge servers.
Quick Start
Install plugin
/plugin marketplace add https://github.com/coli-dev/oh-my-droid
/plugin install oh-my-droid
Initial setup
/oh-my-droid:omd-setup
First task
autopilot: build a small REST API with auth and tests
Core Features
- Multi-droid delegation with task-aware model routing
- Execution modes:
autopilot,ultrawork,ralph,ultrapilot,swarm,pipeline,ecomode - 30+ skills and command wrappers
- Hook system for automation and context injection
- MCP bridge servers for Codex/Gemini orchestration
- LSP/AST integrated tooling and verification workflows
Magic Keywords
You can use natural language, but these shortcuts give explicit control:
| Keyword | Effect | Example |
|---|---|---|
autopilot |
Full autonomous execution | autopilot: implement OAuth login |
ralph |
Persistent completion loop | ralph fix flaky test suite |
ulw / ultrawork |
Maximum parallelism | ulw migrate all API handlers |
eco / ecomode |
Token-efficient execution | eco refactor this module |
plan |
Strategic planning flow | plan this feature end-to-end |
Configuration
Main user configuration file:
~/.factory/.omd-config.json
Example:
{
"defaultExecutionMode": "ultrawork",
"mcpServers": {
"context7": { "enabled": true },
"exa": { "enabled": true, "apiKey": "YOUR_EXA_KEY" }
}
}
Full example:
{
"defaultExecutionMode": "ultrawork",
"maxParallelAgents": 5,
"verification": {
"enabled": true,
"defaultModel": "custom:claude-sonnet-4.5-5"
},
"models": {
"default": "custom:gpt-5.3-codex-3",
"low": "custom:gpt-5.2-codex-mini-0",
"medium": "custom:claude-sonnet-4.5-5",
"high": "custom:claude-opus-4.5-6"
},
"droids": {
"architect": { "model": "custom:claude-opus-4.5-6", "enabled": true },
"planner": { "model": "custom:claude-opus-4.5-6", "enabled": true },
"executor": { "model": "custom:gpt-5.3-codex-3", "enabled": true },
"explore": { "model": "custom:gpt-5.2-codex-mini-0", "enabled": true },
"researcher": { "model": "custom:gpt-5.2-1", "enabled": true },
"frontendEngineer": { "model": "custom:gemini-3-pro-8", "enabled": true },
"documentWriter": { "model": "custom:claude-haiku-4.5-4", "enabled": true },
"multimodalLooker": { "model": "custom:gemini-3-pro-8", "enabled": true }
},
"mcpServers": {
"context7": { "enabled": true },
"exa": { "enabled": true, "apiKey": "YOUR_EXA_KEY" },
"x": { "enabled": true },
"g": { "enabled": true }
},
"features": {
"parallelExecution": true,
"lspTools": true,
"astTools": true,
"continuationEnforcement": true,
"autoContextInjection": true
},
"permissions": {
"allowBash": true,
"allowEdit": true,
"allowWrite": true,
"maxBackgroundTasks": 5
},
"magicKeywords": {
"ultrawork": ["ulw", "ultrawork"],
"search": ["search", "find"],
"analyze": ["analyze", "debug", "investigate"],
"ultrathink": ["ultrathink", "deep think"]
}
}
MCP bridge config
Project MCP bridge definition lives in .mcp.json:
{
"mcpServers": {
"t": { "command": "node", "args": ["${DROID_PLUGIN_ROOT}/bridge/mcp-server.cjs"] },
"x": { "command": "node", "args": ["${DROID_PLUGIN_ROOT}/bridge/codex-server.cjs"] },
"g": { "command": "node", "args": ["${DROID_PLUGIN_ROOT}/bridge/gemini-server.cjs"] }
}
}
Model IDs (Supported)
oh-my-droid supports explicit custom model IDs:
custom:gpt-5.2-codex-mini-0custom:gpt-5.2-1custom:gpt-5.2-codex-2custom:gpt-5.3-codex-3custom:claude-haiku-4.5-4custom:claude-sonnet-4.5-5custom:claude-opus-4.5-6custom:gemini-3-flash-7custom:gemini-3-pro-8
Droid defaults are defined in:
droids/*.md(frontmattermodel)src/agents/*.tssrc/agents/definitions.tssrc/config/loader.ts
Development
Requirements
- Node.js
>= 20 - npm
Build and test
npm install
npm run build
npm run lint
npm test
Useful scripts
npm run dev
npm run test:coverage
npm run sync-metadata
Project Structure
src/core TypeScript sourcedroids/droid promptsskills/skill definitionscommands/command wrappershooks/hook templatesbridge/compiled MCP bridge serversdocs/detailed references and architecture
Documentation
docs/REFERENCE.mddocs/ARCHITECTURE.mddocs/FEATURES.mddocs/MIGRATION.mddocs/COMPATIBILITY.md
License
MIT
Special thanks to the original author of oh-my-claudecode.