{"id":50530704,"url":"https://github.com/addy1997/omi","last_synced_at":"2026-06-03T13:02:10.301Z","repository":{"id":361455876,"uuid":"1254526302","full_name":"addy1997/omi","owner":"addy1997","description":"Omi — multi-agent platform with Helix coding agent","archived":false,"fork":false,"pushed_at":"2026-05-30T19:12:48.000Z","size":163,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-05-30T19:13:21.121Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/addy1997.png","metadata":{"files":{"readme":"docs/README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"docs/SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":"docs/AGENTS.md","dco":null,"cla":null}},"created_at":"2026-05-30T17:17:55.000Z","updated_at":"2026-05-30T19:12:52.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/addy1997/omi","commit_stats":null,"previous_names":["addy1997/omi"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/addy1997/omi","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/addy1997%2Fomi","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/addy1997%2Fomi/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/addy1997%2Fomi/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/addy1997%2Fomi/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/addy1997","download_url":"https://codeload.github.com/addy1997/omi/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/addy1997%2Fomi/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33865655,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-03T02:00:06.370Z","response_time":59,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2026-06-03T13:02:09.229Z","updated_at":"2026-06-03T13:02:10.296Z","avatar_url":"https://github.com/addy1997.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"![Omi Logo](assets/logo.svg)\n\n# Omi — Multi-Agent Platform\n\nA production-ready platform for building, orchestrating, and deploying autonomous coding agents at scale. Omi provides a unified framework where specialist agents collaborate to tackle complex software engineering tasks.\n\n## What is Omi?\n\nOmi is a **multi-agent orchestration platform** designed for autonomous code generation, review, planning, and research. Instead of a monolithic AI, Omi routes tasks to specialized agents that work together:\n\n- **Helix** (Coding Agent) — writes, tests, commits, and ships code\n- **Explorer** — reads code, searches symbols, understands architecture  \n- **Planner** — decomposes features into structured GitHub issues\n- **Researcher** — searches the web for docs, APIs, and best practices\n- **Triager** — categorizes and manages issue backlogs\n\nThe platform intelligently routes each user request to the right agent (or agents) and streams results in real-time.\n\n---\n\n## Core Features\n\n### 🧠 Multi-Agent Orchestration\n- **LangGraph StateGraph** — explicit, auditable decision flow\n- **Keyword + LLM routing** — fast heuristics backed by Claude for ambiguous tasks\n- **Specialist agents** — each agent optimized for a single responsibility\n- **Collaborative chains** — agents can call each other sequentially\n\n### 🔐 Security \u0026 Isolation\n- **Git worktree isolation** — each code modification on a safe branch (`omi/*`)\n- **Docker sandbox** — shell execution runs in memory-limited containers\n- **Read-only access controls** — Explorer and Researcher have no write permissions\n- **No API key exposure** — all LLM credentials stay server-side\n\n### 📊 Observability\n- **Token \u0026 cost tracking** — per-agent usage metrics\n- **Task history** — full audit log of all operations\n- **Real-time streaming** — WebSocket support for live progress updates\n- **Health monitoring** — automatic agent heartbeat + offline detection\n\n### ⚡ Production Ready\n- **REST + WebSocket API** — sync and async task submission\n- **FastAPI** — async-first, high-performance\n- **SQLAlchemy ORM** — PostgreSQL or SQLite, migration-friendly\n- **Multi-LLM support** — Anthropic Claude, OpenAI GPT, Ollama (local)\n\n---\n\n## Platform Architecture\n\n![Omi Architecture Diagram](assets/architecture.png)\n\n**Architecture Overview:**\n\n- **Client Layer** — React dashboard streams tasks via HTTP + WebSocket\n- **Platform Layer** — FastAPI gateway with pluggable components:\n  - **Task Router** — routes by keyword heuristics or LLM judgment\n  - **Agent Registry** — tracks availability, capabilities, health\n  - **Storage** — persistent task history, sessions (SQLite or PostgreSQL)\n  - **Observability** — token counting, cost tracking, latency metrics\n- **Agent Layer** — five specialist agents, each with isolated toolsets:\n  - **Helix** — code generation, testing, commits (write access)\n  - **Explorer** — code search, architecture review (read-only)\n  - **Planner** — feature decomposition into issues\n  - **Researcher** — web search, documentation lookup\n  - **Triager** — issue labeling, backlog management\n\nEach agent runs in a **git worktree** (safe branching) with **Docker sandbox** for shell execution. Read-only agents cannot write code or create PRs.\n\n---\n\n## Installation\n\n### Prerequisites\n- **Python 3.11+**\n- **Node.js 18+** (for dashboard)\n- **Ollama** (for local inference, or use Anthropic/OpenAI API keys)\n- **Git** (for code operations)\n\n### Quick Start\n\n#### 1. Clone the Repository\n```bash\ngit clone https://github.com/addy1997/omi.git\ncd omi\n```\n\n#### 2. Install the Platform\n```bash\npip install -e platform/\n```\n\n#### 3. Install Helix Agent\n```bash\npip install -e agents/helix/\n```\n\n#### 4. Configure Environment Variables\n\n**For the platform** (`platform/.env`):\n```bash\ncp platform/.env.example platform/.env\n# Edit platform/.env with:\nPLATFORM_SECRET_KEY=your-secret-key\nPLATFORM_DB_URL=sqlite+aiosqlite:///./platform.db\nANTHROPIC_API_KEY=sk-ant-...  # or leave empty for Ollama\nPLATFORM_ROUTER_MODEL=anthropic/claude-haiku-4-5\n```\n\n**For Helix** (`agents/helix/.env`):\n```bash\ncp agents/helix/.env.example agents/helix/.env\n# Edit with:\nANTHROPIC_API_KEY=sk-ant-...\nGITHUB_TOKEN=ghp_...\nGITHUB_OWNER=your-username\nOMI_SUPERVISOR_MODEL=ollama/llama3.2\nOMI_CODER_MODEL=ollama/qwen2.5-coder:7b\n```\n\n#### 5. Start Ollama (if using local models)\n```bash\nollama serve\n```\n\nIn a new terminal, pull the models:\n```bash\nollama pull llama3.2\nollama pull qwen2.5-coder:7b\n```\n\n#### 6. Start the Services\n\n**Terminal 1 — Platform API:**\n```bash\nomi-platform serve --port 9000\n```\n\n**Terminal 2 — Helix Agent:**\n```bash\ncd agents/helix\nhelix serve-agent --platform http://localhost:9000\n```\n\n**Terminal 3 — Dashboard:**\n```bash\ncd dashboard\nnpm install\nnpm run dev\n```\n\n#### 7. Access the Dashboard\nOpen **http://localhost:5173** in your browser.\n\n---\n\n## Usage\n\n### Via Web Dashboard\n1. Go to **http://localhost:5173**\n2. Select **Chat** tab\n3. Submit a task: `\"Add a feature to parse JSON files\"`\n4. Watch the platform auto-route to **Helix** (Coder)\n5. View results in the chat, task history, and metrics\n\n### Via CLI\n```bash\n# Interactive chat with Helix\nhelix chat\n\n# Start as standalone server (no platform)\nhelix serve\n\n# Print session history\nhelix history \u003csession-id\u003e\n```\n\n### Via REST API\n```bash\n# Submit a task\ncurl -X POST http://localhost:9000/tasks \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\"message\": \"Review my code\", \"session_id\": \"abc123\"}'\n\n# Check agent status\ncurl http://localhost:9000/health\n\n# List registered agents\ncurl http://localhost:9000/agents\n\n# Get usage metrics\ncurl http://localhost:9000/tasks/usage/summary\n```\n\n### Via WebSocket\n```javascript\nconst ws = new WebSocket('ws://localhost:9000/ws/session-123');\nws.send(JSON.stringify({ message: 'Generate a test file' }));\nws.onmessage = (e) =\u003e console.log(JSON.parse(e.data));\n```\n\n---\n\n## Agent Capabilities\n\n### Helix (Coder)\n**Task Types:** Feature implementation, bug fixes, refactoring, testing\n\n**Tools:**\n- File read/write/edit (surgical, line-aware)\n- Git (clone, worktree, commit, push)\n- GitHub (PRs, issues, code search)\n- Shell (run tests, build scripts)\n- Tree-sitter AST (semantic code search)\n\n**Example:**\n```\nUser: \"Add error handling to the payment module\"\n→ Helix explores the codebase\n→ Creates a worktree (omi/payment-errors)\n→ Edits payment.py with try/except blocks\n→ Runs tests\n→ Creates a PR on GitHub\n```\n\n### Explorer\n**Task Types:** Code review, architecture questions, symbol search\n\n**Tools:** Read-only file access, grep, AST symbol lookup, Git blame/log\n\n**Example:**\n```\nUser: \"How is authentication implemented?\"\n→ Explorer searches for auth-related code\n→ Returns architecture overview and file references\n```\n\n### Planner\n**Task Types:** Feature decomposition, roadmap planning\n\n**Tools:** Issue creation, labeling, GitHub integration\n\n**Example:**\n```\nUser: \"Break down a user dashboard into tasks\"\n→ Planner generates 5 GitHub issues\n→ Assigns labels (frontend, backend, testing)\n→ Orders by dependency\n```\n\n### Researcher\n**Task Types:** Documentation lookup, error investigation, API learning\n\n**Tools:** DuckDuckGo web search, Jina URL reader\n\n**Example:**\n```\nUser: \"How do I implement OAuth2 in FastAPI?\"\n→ Researcher finds top results\n→ Extracts code examples and docs\n```\n\n### Triager\n**Task Types:** Issue categorization, backlog management\n\n**Labels:** MAJOR_BUG, BUG, LOW_HANGING_FRUIT, ENHANCEMENT, QUESTION, DUPLICATE, STALE\n\n**Example:**\n```\nUser: \"Triage our open issues\"\n→ Triager reads and labels each issue\n→ Closes duplicates\n```\n\n---\n\n## Configuration\n\n### Model Selection\nEdit `.env` files to swap LLM providers:\n\n**Anthropic Claude:**\n```\nOMI_CODER_MODEL=anthropic/claude-sonnet-4-5\nOMI_SUPERVISOR_MODEL=anthropic/claude-haiku-4-5\n```\n\n**OpenAI:**\n```\nOMI_CODER_MODEL=openai/gpt-4o\nOMI_SUPERVISOR_MODEL=openai/gpt-4o-mini\n```\n\n**Ollama (local):**\n```\nOMI_CODER_MODEL=ollama/qwen2.5-coder:7b\nOMI_SUPERVISOR_MODEL=ollama/llama3.2\n```\n\n### Storage Backend\nDefault: SQLite (zero setup)\n\nFor production, use PostgreSQL:\n```bash\n# platform/.env\nPLATFORM_DB_URL=postgresql+psycopg://user:pass@localhost:5432/omi\n\n# agents/helix/.env\nOMI_DB_URL=postgresql+psycopg://user:pass@localhost:5432/helix\n```\n\n### Docker Sandbox\nBy default, shell commands run in Docker containers for safety.\n\nTo use unsafe subprocess (dev only):\n```\nOMI_SANDBOX=subprocess\n```\n\n---\n\n## Project Structure\n\n```\nomi/\n├── agents/helix/              Helix coding agent\n│   ├── helix/\n│   │   ├── agents/            Specialist sub-agents (coder, explorer, etc.)\n│   │   ├── supervisor/        LangGraph orchestration\n│   │   ├── tools/             Code, git, GitHub, search, shell, AST\n│   │   ├── memory/            Session \u0026 knowledge persistence\n│   │   ├── cli.py             Command-line interface\n│   │   └── platform_adapter.py Platform integration\n│   └── pyproject.toml\n│\n├── platform/                  Omi platform core\n│   ├── omi_platform/\n│   │   ├── api/               REST API \u0026 WebSocket\n│   │   ├── registry/          Agent discovery \u0026 health\n│   │   ├── dispatcher/        Task routing \u0026 execution\n│   │   ├── storage/           Task persistence\n│   │   ├── observability/     Token/cost tracking\n│   │   ├── auth/              JWT authentication\n│   │   └── sdk/               Agent base classes\n│   └── pyproject.toml\n│\n├── dashboard/                 React web UI\n│   ├── src/\n│   │   ├── pages/             Chat, Agents, Tasks, Metrics\n│   │   ├── api.ts             Platform API client\n│   │   └── App.tsx\n│   └── package.json\n│\n├── docker-compose.yml         Full stack (platform + helix + dashboard + postgres)\n├── LICENSE                    Apache 2.0\n└── README.md\n```\n\n---\n\n## Development\n\n### Running Tests\n```bash\n# Helix tests\ncd agents/helix\npytest -v\n\n# Platform tests\ncd platform\npytest -v\n```\n\n### Type Checking\n```bash\n# All projects\nmypy agents/helix/helix\nmypy platform/omi_platform\n```\n\n### Code Style\n```bash\nruff check .\nruff format .\n```\n\n---\n\n## Roadmap\n\n- [ ] **Vision agents** — image analysis for design review\n- [ ] **Deployment agents** — auto-deploy to AWS/GCP/Azure\n- [ ] **Data agents** — SQL generation, data analysis\n- [ ] **Team collaboration** — shared workspaces, agent auditing\n- [ ] **Custom agent SDK** — user-defined agents with tool composition\n- [ ] **Marketplace** — agent publishing and discovery\n\n---\n\n## Contributing\n\nWe welcome contributions! Please:\n\n1. Fork the repo\n2. Create a branch (`git checkout -b feature/your-feature`)\n3. Commit with clear messages\n4. Push and open a PR\n\nSee [LICENSE](LICENSE) for terms (Apache 2.0).\n\n---\n\n## License\n\nThis project is licensed under the **Apache License 2.0** — see [LICENSE](LICENSE) for details.\n\n---\n\n## Support\n\n- **Docs:** [github.com/addy1997/omi](https://github.com/addy1997/omi)\n- **Issues:** [GitHub Issues](https://github.com/addy1997/omi/issues)\n- **Email:** adwaitnaik27@gmail.com\n\n---\n\n**Built with** LangGraph • FastAPI • React • Ollama • Claude\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faddy1997%2Fomi","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Faddy1997%2Fomi","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faddy1997%2Fomi/lists"}