← Back to Home

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 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 (or pip)
  • 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 codex wrappers
  • 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

← Retour à l'Accueil

Omnigent — Meta-Harnais Open-Source pour l'Orchestration Multi-Agent IA

Omnigent — Meta-Harnais IA Open-Source

Omnigent est un framework IA open-source et meta-harnais qui offre une couche d'orchestration commune pour Claude Code, Codex, Cursor, Pi et les agents que vous écrivez vous-même. Développé par l'équipe Databricks AI et Neon, il permet de changer ou combiner des harnais sans réécriture, d'appliquer des politiques et du sandboxing, et de collaborer en temps réel depuis n'importe quel appareil.

Avec plus de 3 600 étoiles GitHub en une semaine, Omnigent est l'un des projets d'infrastructure IA à la croissance la plus rapide de la mi-2026. Il est sous licence Apache 2.0 et écrit en Python.

Pourquoi Omnigent ?

L'écosystème des agents IA a explosé — Claude Code, Codex, Cursor, OpenAI Agents SDK, Pi et d'innombrables agents personnalisés. Chacun a sa propre CLI, sa propre configuration, sa propre approche du sandboxing. Gérer plusieurs agents signifie changer d'outil en permanence, dupliquer les identifiants et gérer des sessions séparées.

Omnigent résout cela avec une couche meta-harnais :

  • Composition — Utilisez Claude Code, Codex, Pi et des agents YAML personnalisés ensemble dans la même session. Demandez à un agent de vérifier le travail d'un autre, ou répartissez une tâche entre des agents optimisés pour différents domaines.
  • Contrôle — Politiques avec plafonds de dépenses, routage de modèles et escalade basée sur les risques. Mettez en pause pour approbation avant les actions risquées.
  • Collaboration — Partagez des sessions d'agents en direct via URL. Les coéquipiers peuvent regarder, commenter, co-piloter ou forker la conversation.
  • Tout appareil — Les sessions vous suivent du terminal au navigateur au téléphone. Commencez sur votre portable, continuez sur mobile.
  • Sandbox cloud — Exécutez des agents sur des sandbox Modal, Daytona ou Islo jetables sans avoir besoin d'un ordinateur portable.

Architecture

Architecture Omnigent

L'architecture d'Omnigent a deux composants principaux :

Runner — Un sous-processus Python qui s'exécute sur la machine de l'utilisateur (ordinateur portable, conteneur de développement ou sandbox cloud). Il exécute la boucle LLM + les outils localement, en diffusant les événements vers le serveur. Chaque runner encapsule n'importe quel agent dans une session sandboxée et uniforme utilisant bubblewrap (Linux) ou seatbelt (macOS).

Serveur — Une application FastAPI qui ajoute des politiques et un historique partagé, et expose chaque session via le terminal, le web, une application native, mobile et une API REST. Le serveur est le point de coordination — votre code et vos clés de modèle restent sur les machines qui s'enregistrent en tant qu'hôtes.

Le runner et le serveur communiquent via un tunnel WebSocket. Le serveur gère les routes HTTP/SSE, les WebSockets d'attachement de terminal, la persistance et l'interface web.

Prérequis

  • Python 3.12+ et uv (ou pip)
  • git — requis par l'installateur
  • Node.js 22 LTS+ avec npm — pour les harnais Claude Code, Codex et Pi
  • tmux — requis par les wrappers natifs omnigent claude / omnigent codex
  • bubblewrap (bwrap) — Linux uniquement, pour le sandboxing au niveau OS

Installation

Omnigent s'installe en une commande :

curl -fsSL https://raw.githubusercontent.com/omnigent-ai/omnigent/main/scripts/install_oss.sh | sh

L'installateur configure automatiquement uv, tmux, bubblewrap (sur Linux) et le package omnigent.

Installation manuelle via uv :

uv tool install omnigent

Ou via Homebrew :

brew install omnigent-ai/tap/omnigent

La CLI met deux noms sur votre PATH : omnigent et le plus court omni. Ils sont interchangeables.

Démarrage Rapide

Lancez Votre Premier Agent

omnigent

Au premier lancement, Omnigent détecte les identifiants existants dans votre environnement (ANTHROPIC_API_KEY, OPENAI_API_KEY, ou une CLI claude/codex connectée) et en propose un par défaut. Il démarre une session dans votre terminal et lance une interface web locale sur http://localhost:6767.

Lancez un runtime d'agent spécifique :

omnigent claude                    # Claude Code dans une session accessible à votre équipe
omnigent codex                     # Codex
omnigent run chemin/vers/agent.yaml    # votre propre agent

Exemples d'Agents

Deux exemples d'agents sont fournis avec Omnigent :

Polly — Un orchestrateur de codage multi-agent qui planifie, délègue le travail à des sous-agents de codage (Claude Code, Codex ou Pi) dans des worktrees git parallèles, puis achemine chaque diff à un relecteur d'un fournisseur différent de celui qui l'a écrit.

omnigent run examples/polly/

Debby — Un partenaire de brainstorming à deux têtes (Claude et GPT). Chaque question va aux deux têtes, et elle présente les réponses côte à côte. Tapez /debate et les têtes se critiquent mutuellement.

omnigent run examples/debby/

Configuration Multi-Utilisateurs

Démarrez le serveur avec authentification :

OMNIGENT_AUTH_ENABLED=*** omnigent server start

Enregistrez ensuite votre machine en tant qu'hôte :

omnigent host

Ouvrez l'interface web, connectez-vous en tant qu'admin (mot de passe dans la sortie du premier lancement), et invitez des coéquipiers via Admin → Members → Invite.

Configuration et Politiques

Identifiants

Omnigent prend en charge quatre types d'identifiants :

Type Description
Clé API Clé de fournisseur direct (Anthropic, OpenAI, etc.)
Abonnement Plan Claude Pro/Max ou ChatGPT via les CLI claude / codex
Passerelle URL de base compatible OpenAI ou Anthropic (OpenRouter, LiteLLM, Ollama, vLLM, Azure)
Databricks Un profil d'espace de travail Databricks (nécessite l'extension databricks)

Ajoutez des identifiants avec :

omnigent setup

Les valeurs par défaut sont par agent, donc une valeur par défaut Claude et une valeur par défaut Codex coexistent. Changez de modèle en cours de session avec /model.

Politiques

Les politiques décident ce qu'un agent peut faire : exécuter des commandes shell, modifier des fichiers, dépenser des tokens. Elles vérifient chaque action et soit autorisent, bloquent, ou suspendent pour vous demander d'abord.

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]

Les politiques s'empilent sur trois niveaux : serveur (admin), par agent (développeur) et par session (vous).

Écrire Votre Propre Agent

Un agent est un fichier YAML définissant votre prompt, vos outils et des sous-agents assistants facultatifs :

name: mon_agent
prompt: Vous êtes un analyste de données utile.

executor:
  harness: claude-sdk

tools:
  word_count:
    type: function
    callable: mypackage.mymodule.word_count
  researcher:
    type: agent
    prompt: Recherchez des informations pertinentes et résumez-les.

Exécutez-le avec :

omnigent run chemin/vers/mon_agent.yaml

Déploiement

Omnigent fournit Docker Compose pour l'auto-hébergement. Le serveur peut s'exécuter sur n'importe quel VPS, serveur domestique ou plateforme cloud (Render, Railway, Fly.io, Modal, Hugging Face Spaces) :

# Depuis le répertoire deploy/docker
./bootstrap.sh           # générer les secrets
docker compose up -d     # démarrer le serveur + Postgres

Le déploiement utilise une image Docker multi-étapes (conteneur Python léger exécutant le coordinateur FastAPI/WebSocket) avec Postgres ou SQLite comme base de données.

Liste de Vérification

  • La CLI Omnigent répond à omnigent --help
  • Interface web accessible sur http://localhost:6767
  • Peut démarrer une session avec omnigent (ou un agent spécifique)
  • Les politiques sont applicables (plafonds de dépenses, portes d'approbation)
  • Les agents YAML personnalisés peuvent être chargés et exécutés
  • Le déploiement Docker démarre sans erreur

Ressources