Omnigent — мета-харнас для оркестрации AI-агентов

· 2 мин чтения
ai-agents agent-orchestration agent-framework multi-agent developer-tools
📂 Исходный код на GitHub

Open-source мета-харнас для оркестрации AI-агентов: единый слой над Claude Code, Codex, Cursor, OpenCode, Hermes, Pi и кастомными агентами

Omnigent — мета-харнас для оркестрации AI-агентов

Omnigent — это open-source мета-харнас для работы с AI-агентами. Он предоставляет единый слой оркестрации поверх Claude Code, Codex, Cursor, OpenCode, Hermes, Pi и агентов, которых вы пишете сами. Агентов можно менять и комбинировать без переписывания кода, применять политики безопасности и песочницы, а также работать с ними в реальном времени с любого устройства — терминала, браузера, телефона или нативного десктоп-приложения.

Возможности

Работа с любых устройств. Сессии синхронизируются между терминалом, браузером и телефоном. Сообщения, суб-агенты, терминалы и файлы остаются в актуальном состоянии.

Мульти-агентная оркестрация. Можно запускать Claude Code, Codex, Cursor, OpenCode, Hermes, Pi и кастомных агентов (определяемых в YAML) в одной сессии. Один агент может ревьюить работу другого, или задача распределяется между агентами, каждый из которых силён в своей области.

Любые модели. Поддерживаются API-ключи вендоров, подписки Claude/ChatGPT и любые совместимые шлюзы (OpenRouter, LiteLLM, Ollama, vLLM, Azure). Модель можно переключить прямо во время сессии командой /model.

Коллаборация. Сессию можно расшарить — тиммейты видят работу агента в реальном времени, могут общаться с ним, подключаться к управлению (omnigent attach) или форкать беседу для продолжения на своей машине.

Облачные песочницы. Агенты запускаются в disposable-окружениях на Modal, Daytona, E2B, CoreWeave, Kubernetes, OpenShell, Boxlite или Databricks. Не нужно держать ноутбук включённым.

Политики управления. Можно настроить правила: запрашивать подтверждение перед опасными действиями, ограничивать траты, лимитировать количество вызовов инструментов. Политики работают на трёх уровнях — серверном, агентском и сессионном.

Быстрый старт

Установка одной командой:

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

Для ручной установки требуется Python 3.12+:

uv tool install omnigent
# или с дополнениями:
uv tool install "omnigent[databricks,modal]"

Также доступна установка через Homebrew:

brew install omnigent-ai/tap/omnigent

После установки на PATH появляются две команды: omnigent и сокращённая omni.

Запуск первого агента:

omnigent

Или конкретного рантайма:

omnigent claude    # Claude Code
omnigent codex     # Codex
omnigent cursor    # Cursor
omnigent opencode  # OpenCode
omnigent hermes    # Hermes Agent (Nous Research)
omnigent pi        # Pi

Также запускается локальный веб-интерфейс на http://localhost:6767, где та же сессия доступна в браузере или на телефоне.

Примеры агентов

В репозитории есть два готовых примера:

Polly — мульти-агентный оркестратор кода. Она не пишет код сама, а выступает тимлидом: планирует, делегирует задачи кодинговым суб-агентам (Claude Code, Codex, Pi) в параллельных git worktree, затем направляет каждый diff на ревью агенту от другого вендора.

Debby — мозговой штурм с двумя головами: Claude и GPT. Каждый вопрос отправляется обоим, ответы выводятся рядом. Команда /debate запускает раунды критики между головами до схождения.

Управление моделями

Команда omnigent setup добавляет, меняет или удаляет учетные данные. Omnigent работает с четырьмя типами credentials:

  • API key — прямой ключ Anthropic, OpenAI и аналогичных провайдеров
  • Subscription — план Claude Pro/Max или ChatGPT через официальные CLI
  • Gateway — любая OpenAI- или Anthropic-совместимая base_url (OpenRouter, LiteLLM, Ollama, vLLM, Azure)
  • Databricks — workspace Databricks (требует databricks extra)

Настройки по умолчанию задаются отдельно для каждого агента, так что дефолт для Claude и дефолт для Codex сосуществуют.

Деплой сервера

docker compose up запускает сервер на любом VPS или домашнем сервере. Поддерживаются Render, Railway, Fly.io, Hugging Face Spaces, Modal, Cloudflare (serverless, scale-to-zero) и Databricks Apps. Для доступа без деплоя — Cloudflare quick tunnel или Tailscale.

После деплоя:

omnigent login https://your-host
omnigent host https://your-host

Коллаборация с командой

Multi-user аккаунты включаются переменной OMNIGENT_AUTH_ENABLED=1. Приглашение тиммейтов — через веб-интерфейс (Admin → Members → Invite). Поддерживается OIDC (Google, GitHub, Okta, Microsoft).

Три режима совместной работы:

  1. Share — ссылка на живую сессию, тиммейты видят работу агента и могут общаться с ним
  2. Co-drive — тиммейт подключается к вашей сессии, его сообщения выполняются на вашей машине
  3. Fork — копирование беседы на свою машину для независимого продолжения

Политики

Политики проверяют каждое действие агента: разрешить, заблокировать или запросить подтверждение. Примеры встроенных политик:

policies:
  approve_shell:
    type: function
    handler: omnigent.policies.builtins.safety.ask_on_os_tools
  cap_calls:
    type: function
    handler: omnigent.policies.builtins.safety.max_tool_calls_per_session
    factory_params:
      limit: 50
  budget:
    type: function
    handler: omnigent.policies.builtins.cost.cost_budget
    factory_params:
      max_cost_usd: 5.00
      ask_thresholds_usd: [3.00]

Политики применяются на трёх уровнях: серверные (админ), агентские (разработчик) и сессионные (пользователь), при этом более строгие сессионные правила проверяются первыми.

Создание своего агента

Агент описывается в YAML:

name: my_agent
prompt: You are a helpful data analyst.

executor:
  harness: claude-sdk

tools:
  word_count:
    type: function
    callable: mypackage.mymodule.word_count
  docs:
    type: mcp
    url: https://example.com/mcp
  researcher:
    type: agent
    prompt: Search for relevant information and summarize it.
    tools:
      word_count: inherit

Запуск: omnigent run path/to/my_agent.yaml.

Omnigent — это проект на Python (82%) с веб-интерфейсом на TypeScript (15.5%), распространяемый под лицензией Apache 2.0.

Источник: https://github.com/omnigent-ai/omnigent