Omnigent — Open-Source AI Agent Meta-Harness for Multi-Agent Orchestration
Omnigent — Open-Source AI Agent Meta-Harness
Omnigent is an open-source AI agent framework and meta-harness that gives you a common orchestration layer over Claude Code, Codex, Cursor, Pi, and the agents you write yourself. Built by the Databricks AI team and Neon, it lets you swap or combine harnesses without rewriting, enforce policies and sandboxing, and collaborate in real time from any device.
At 3,600+ GitHub stars in its first week, Omnigent is one of the fastest-growing AI infrastructure projects of mid-2026. It's Apache 2.0 licensed and written in Python.
Why Omnigent?
The AI agent ecosystem has exploded — Claude Code, Codex, Cursor, OpenAI Agents SDK, Pi, and countless custom agents. Each has its own CLI, its own configuration, its own sandboxing approach. Running multiple agents means context-switching between tools, duplicating credentials, and managing separate sessions.
Omnigent solves this with a meta-harness layer:
- Composition — Use Claude Code, Codex, Pi, and custom YAML agents together in the same session. Ask one agent to review another's work, or split a task across agents optimized for different domains.
- Control — Stateful policies with spend caps, model routing, and risk-based escalation. Pause for your approval before risky actions.
- Collaboration — Share live agent sessions via URL. Teammates can watch, comment, co-drive, or fork the conversation.
- Any device — Sessions follow you from terminal to browser to phone. Start on your laptop, continue on mobile.
- Cloud sandboxes — Run agents on disposable Modal, Daytona, or Islo sandboxes with no laptop required.
Architecture
Omnigent's architecture has two main components:
Runner — A Python subprocess that runs on the user's machine (laptop, dev container, or cloud sandbox). It executes the LLM loop + tools locally, streaming events back to the server. Each runner wraps any agent in a sandboxed, uniform session using bubblewrap (Linux) or seatbelt (macOS).
Server — A FastAPI application that adds policies and shared history, and exposes every session over the terminal, the web, a native app, mobile, and a REST API. The server is the coordination point — your code and model keys stay on the machines that register as hosts.
The runner and server communicate over a WebSocket tunnel. The server handles HTTP/SSE routes, terminal-attach WebSockets, persistence, and the web UI. Runners dial into the server and execute agent logic locally.
Prerequisites
- Python 3.12+ and
uv(orpip) - git — required by the installer
- Node.js 22 LTS+ with
npm— for Claude Code, Codex, and Pi harnesses - tmux — required by native
omnigent claude/omnigent codexwrappers - bubblewrap (
bwrap) — Linux-only, for OS-level sandboxing
Installation
Omnigent installs in one command:
curl -fsSL https://raw.githubusercontent.com/omnigent-ai/omnigent/main/scripts/install_oss.sh | sh
The installer sets up uv, tmux, bubblewrap (on Linux), and the omnigent package automatically.
Manual installation via uv:
uv tool install omnigent
Or via Homebrew:
brew install omnigent-ai/tap/omnigent
The CLI puts two names on your PATH: omnigent and the shorter omni. They're interchangeable.
Quick Start
Start Your First Agent
omnigent
On first run, Omnigent detects existing credentials in your environment (ANTHROPIC_API_KEY, OPENAI_API_KEY, or a logged-in claude/codex CLI) and offers one as the default. It starts a session in your terminal and launches a local web UI at http://localhost:6767.
Launch a specific agent runtime:
omnigent claude # Claude Code in a session your team can join
omnigent codex # Codex
omnigent run path/to/agent.yaml # your own agent (see "Write your own agent")
Example Agents
Two example agents ship with Omnigent:
Polly — A multi-agent coding orchestrator who plans, delegates work to coding sub-agents (Claude Code, Codex, or Pi) in parallel git worktrees, then routes each diff to a reviewer from a different vendor than the writer.
omnigent run examples/polly/
Debby — A brainstorming partner with two heads (Claude and GPT). Every question goes to both heads, and she lays answers side by side. Type /debate and the heads critique each other.
omnigent run examples/debby/
Multi-User Setup
Start the server with authentication:
OMNIGENT_AUTH_ENABLED=1 omnigent server start
Then register your machine as a host:
omnigent host
Open the web UI, sign in as admin (password in the first-run output), and invite teammates via Admin → Members → Invite.
Configuration and Policies
Credentials
Omnigent supports four kinds of credentials:
| Kind | What it is |
|---|---|
| API key | First-party vendor key (Anthropic, OpenAI, etc.) |
| Subscription | Claude Pro/Max or ChatGPT plan via claude / codex CLIs |
| Gateway | OpenAI- or Anthropic-compatible base URL (OpenRouter, LiteLLM, Ollama, vLLM, Azure) |
| Databricks | A Databricks workspace profile (requires the databricks extra) |
Add credentials with:
omnigent setup
Defaults are per agent, so a Claude default and a Codex default coexist. Switch models mid-session with /model.
Policies
Policies decide what an agent may do: run shell commands, edit files, spend tokens. They check every action and either allow, block, or pause to ask you first.
policies:
approve_shell:
type: function
handler: omnigent.policies.builtins.safety.ask_on_os_tools
budget:
type: function
handler: omnigent.policies.builtins.cost.cost_budget
factory_params:
max_cost_usd: 5.00
ask_thresholds_usd: [3.00]
Policies stack across three levels: server-wide (admin), per-agent (developer), and per-session (you).
Write Your Own Agent
An agent is a YAML file defining your prompt, tools, and optional helper sub-agents:
name: my_agent
prompt: You are a helpful data analyst.
executor:
harness: claude-sdk
tools:
word_count:
type: function
callable: mypackage.mymodule.word_count
researcher:
type: agent
prompt: Search for relevant information and summarize it.
Run it with:
omnigent run path/to/my_agent.yaml
Deployment
Omnigent ships Docker compose for self-hosting. The server can run on any VPS, home server, or cloud platform (Render, Railway, Fly.io, Modal, Hugging Face Spaces):
# From the deploy/docker directory
./bootstrap.sh # generate secrets
docker compose up -d # start server + Postgres
The deploy uses a multi-stage Docker image (slim Python container running FastAPI/WebSocket coordinator) with Postgres or SQLite as the datastore.
Verification Checklist
- Omnigent CLI responds to
omnigent --help - Web UI accessible at
http://localhost:6767 - Can start a session with
omnigent(or a specific agent) - Policies are enforceable (spend caps, approval gates)
- Custom YAML agents can be loaded and run
- Docker deployment starts without errors
Resources
- GitHub: github.com/omnigent-ai/omnigent
- Website: omnigent.ai
- Documentation: omnigent.ai/docs
- Deployment Guide: github.com/omnigent-ai/omnigent/blob/main/deploy/README.md
- License: Apache 2.0