Omnigent — мета-харнас для оркестрации AI-агентов
📂 Исходный код на GitHubOpen-source мета-харнас для оркестрации AI-агентов: единый слой над Claude Code, Codex, Cursor, OpenCode, Hermes, Pi и кастомными агентами
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 (требует
databricksextra)
Настройки по умолчанию задаются отдельно для каждого агента, так что дефолт для 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).
Три режима совместной работы:
- Share — ссылка на живую сессию, тиммейты видят работу агента и могут общаться с ним
- Co-drive — тиммейт подключается к вашей сессии, его сообщения выполняются на вашей машине
- 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