Платформа управляемых агентов с открытым исходным кодом
Альтернатива Claude Managed Agents и Agents API от OpenAI, которую можно развернуть на собственных серверах.
Сайт · Быстрый старт · Документация · API · Список изменений · Discord
Omnara — платформа управляемых агентов с открытым исходным кодом. Используйте API, чтобы запускать AI-агентов на любых моделях и компьютерах: необходимые инструменты, секреты, разрешения и потоковая передача данных уже встроены. Разверните платформу на собственных серверах бесплатно по лицензии Apache 2.0 или воспользуйтесь Omnara Cloud.
Быстрый старт
Omnara Cloud
Войдите на app.omnara.com. В вашем первом проекте уже настроены поставщик моделей (omnara-openrouter) и пул управляемых изолированных сред (default-pool), поэтому эта конфигурация сразу готова к работе. Сохраните её в файле agent.yaml:
version: v1
instruction: |
You are an engineering assistant. Use your machine to run commands.
model:
provider_config: omnara-openrouter
name: anthropic/claude-fable-5.1
machine_sources:
- machine_pool_name: default-pool
Запустите агента с помощью CLI (требуется Node.js 22 или новее). Если вы ещё не вошли в систему, первая команда откроет браузер для авторизации.
npx omnara agents launch --file agent.yaml \
--name "Machine assistant" \
--message "Report this machine's operating system and free disk space."
Общайтесь с агентом в терминале с помощью команды npx omnara agents chat или откройте его в панели управления, чтобы наблюдать за вызовами инструментов и отвечать агенту.
Запуск из кода с помощью TypeScript SDK
Создайте API key в панели управления и задайте его значение в переменной OMNARA_TOKEN. Установите SDK с помощью npm install @omnara/sdk и укажите идентификаторы организации и проекта, которые выводит команда npx omnara config:
import { readFile } from 'node:fs/promises'
import { bearerToken, createOmnaraClient, openAgentEventStream, sdk } from '@omnara/sdk'
const client = createOmnaraClient({ auth: bearerToken(process.env.OMNARA_TOKEN!) })
const path = { orgID: 'org_...', projectID: 'proj_...' }
const config = await sdk.createAgentConfig({
client,
path,
body: { source: await readFile('agent.yaml', 'utf8'), source_format: 'yaml' },
})
const launched = await sdk.createAgent({
client,
path,
body: { config: config.data.id, message: "Report this machine's free disk space." },
})
const agentID = launched.data.agent.id
for await (const event of openAgentEventStream({ client, path: { ...path, agentID } })) {
console.log(event)
}
В руководстве по быстрому старту описан аналогичный процесс с использованием REST API.
Чтобы поручить настройку своему агенту для программирования, отправьте ему этот запрос:
Help me set up Omnara by following https://www.omnara.com/SKILL.md
Развёртывание на собственных серверах
Требуется Docker с Compose.
git clone https://github.com/omnara-ai/omnara.git
cd omnara
docker compose -f compose.yaml --profile app up -d
Откройте http://localhost:8000 и зарегистрируйтесь. В локальной среде разработки ссылка для подтверждения выводится в docker compose logs api, поэтому настраивать провайдера электронной почты не требуется. Чтобы собрать приложение из исходного кода, а не использовать опубликованные образы, выполните команду docker compose --profile app up -d --build.
В новом экземпляре пока нет моделей и машин. В консоли добавьте поставщика моделей и модель, подключите этот компьютер в разделе Machines и предоставьте проекту доступ к обоим ресурсам. Изолированные среды также будут доступны, когда у экземпляра появится публичный URL.
Настройте CLI для работы с вашим экземпляром и войдите в систему:
npx omnara config --api-url http://localhost:8000/api/v1 --issuer-url http://localhost:8000
npx omnara login
В agent.yaml укажите названия своего поставщика и модели, а вместо machine_pool_name задайте machine_name: . Затем запустите агента той же командой, что и выше.
Настройки локальной среды по умолчанию намеренно небезопасны. Для развёртывания в рабочей среде следуйте руководству по развёртыванию на собственных серверах и справочнику по конфигурации.
Как это работает
Ваш продукт взаимодействует с Omnara, а Omnara запускает каждого агента с моделями, инструментами и машинами, указанными в его конфигурации.
flowchart TB
subgraph yours["Your side"]
users(["Your users"]) --> app["Your app<br/>REST API · TypeScript SDK"]
team["Your team<br/>CLI · dashboard<br/>Slack · Discord · GitHub"]
end
subgraph omnara["Omnara"]
api["API<br/>launch · input<br/>event stream · approvals"] <--> pg[("Postgres<br/>each agent's event log")] <--> worker["Workers<br/>run the agent loop"]
end
subgraph plug[" "]
models["Models<br/>OpenAI · Anthropic<br/>OpenRouter · self-hosted"]
tools["Tools<br/>built-in · skills<br/>MCP · custom"]
machines["Machines<br/>sandboxes or your own<br/>laptop, VM, container"]
end
app --> api
team --> api
worker --> models
worker --> tools
worker --> machines
classDef side fill:none,stroke:#8b949e,stroke-width:1px
classDef core fill:#506FCF,stroke:#3D5BB5,stroke-width:1px,color:#ffffff
classDef store fill:#3D5BB5,stroke:#2E4794,stroke-width:1px,color:#ffffff
classDef plugin fill:none,stroke:#85A0E6,stroke-width:1.5px
class users,app,team side
class api,worker core
class pg store
class models,tools,machines plugin
style yours fill:none,stroke:#8b949e,stroke-dasharray:4 3
style omnara fill:#506FCF14,stroke:#506FCF,stroke-width:1.5px
style plug fill:none,stroke:#85A0E6,stroke-dasharray:4 3
linkStyle default stroke:#8b949e,stroke-width:1.5px
-
API. Приложение, CLI и панель управления используют один и тот же REST API для запуска агентов, отправки сообщений и обработки запросов на подтверждение. События передаются по мере их возникновения.
-
Postgres. Здесь сохраняется каждый шаг каждого агента. Эта запись содержит состояние агента, поэтому любой рабочий процесс может продолжить его выполнение после сбоя или перезапуска.
-
Рабочие процессы. Это процессы без сохранения состояния, которые формируют контекст модели, вызывают модель и запускают инструменты. Агент использует рабочий процесс только во время своего хода, поэтому один процесс может обслуживать множество агентов. Добавляйте рабочие процессы, чтобы одновременно обрабатывать больше ходов.
-
Машины. На каждой машине работает демон
omnarad, который сам устанавливает соединение с Omnara. Благодаря этому агенты могут выполнять на машине команды без необходимости открывать входящие порты.
Кроме того, Omnara использует Redis, blob-хранилище для вложений и результатов работы инструментов, а также файловую систему памяти. Подробности приведены в документации по архитектуре.
Возможности
Создание агентов
-
Любая модель. Подключайте собственные ключи для OpenAI, Anthropic, OpenRouter, Amazon Bedrock, LiteLLM, Ollama и любых совместимых конечных точек, включая модели, размещённые на ваших серверах.
-
Инструменты. Встроенные инструменты для выполнения команд оболочки, работы с файлами, поиска в интернете и получения веб-страниц, а также для обращения к человеку с вопросом. Кроме того, доступны серверы MCP и пользовательские инструменты, работающие в ваших системах.
-
Навыки. Один раз объедините инструкции и файлы в пакет, подключите его к любому агенту — и агент загрузит нужные материалы по мере необходимости.
-
Память. Хранилища памяти предоставляют агентам файлы, которые сохраняются между диалогами и могут быть доступны другим агентам. Для каждого агента можно настроить доступ только для чтения или для чтения и записи.
-
Подчинённые агенты. Агент может запускать подчинённых агентов с чистым контекстом, проверять ход их работы и отправлять им новые инструкции. Каждый такой агент — полноценный агент, работу которого можно проверять.
Запуск в любой среде
-
Машины. Машины — это инструменты, которыми пользуется агент. Установите демон Omnara на любой ноутбук, виртуальную машину или контейнер с macOS или Linux, чтобы агенты могли выполнять там команды и редактировать файлы без входящих портов и SSH-ключей. Также можно использовать изолированные среды от девяти поставщиков: Arker, Blaxel, boxd, CreateOS, Daytona, Freestyle, Modal, Tenki и Unikraft. Агент может одновременно работать с несколькими машинами, например с группой GPU-серверов, и переключаться между ними. Если ноутбук отключится от сети, агент продолжит работу в изолированной среде и синхронизирует результат через git.
-
Надёжное сохранение состояния. Каждый шаг сохраняется, поэтому после сбоев, перезапусков и отключения машин агенты могут продолжить работу с того места, где остановились.
-
Расписания. Cron-триггеры с учётом часовых поясов могут отправлять сообщения существующему агенту, запускать нового агента на основе профиля или создавать новую ветку обсуждения в Slack или Discord.
Подключайте их
Упомяните бота в Slack или Discord, чтобы запустить агента в треде. Там он будет
отвечать, задавать вопросы и запрашивать подтверждения. В GitHub агент может
запуститься при открытии pull request или после упоминания: он прочитает diff,
оставит комментарии и отправит отзыв. Чтобы подключить другой сервис, создайте
на основе того же публичного API.
вебхуки.** Получайте каждое событие
по мере его возникновения или принимайте его через вебхук. Пока агент работает,
ему можно отправлять новые сообщения.
- Разрешения. Каждый инструмент
может запускаться сразу, запрашивать предварительное подтверждение или быть
заблокирован. Платформа обеспечивает соблюдение выбранных настроек, а агент
ждёт, пока кто-нибудь разрешит или отклонит вызов.
- API, SDK и CLI. REST API,
описанный в api/openapi/openapi.yaml, SDK для
TypeScript (@omnara/sdk),
CLI (omnara) и MCP-сервер.
Управляйте ими
и секреты.** Роли пользователей
и API-ключей на уровне организации и проектов. Учётные данные для моделей,
машин и MCP-серверов хранятся один раз и предоставляются каждому проекту
отдельно.
развёртывание обслуживает множество организаций. У каждой из них свои
участники, проекты, секреты, поставщики моделей и машины. При самостоятельном
развёртывании операторы могут назначать каждой новой организации модели и
песочницы по умолчанию, как это делает Omnara Cloud.
- Ваши данные. При самостоятельном развёртывании вся история работы каждого
агента хранится в вашей базе данных Postgres. Вы можете использовать её для
аналитики, оценивания моделей и подготовки обучающих наборов данных.
Omnara и Claude Managed Agents и Agents API от OpenAI
от OpenAI — это облачные сервисы для запуска агентов на моделях одной компании.
Omnara решает ту же задачу, но представляет собой платформу с открытым исходным
кодом, которую можно запускать где угодно и с любой моделью.
| Omnara | Claude Managed Agents | Agents API от OpenAI | |
|---|---|---|---|
| Исходный код | Открытый исходный код (Apache 2.0) | Закрытый | Каркас с открытым исходным кодом (Codex). Облачный сервис принадлежит OpenAI. |
| Модели | Любые совместимые модели | Claude | OpenAI |
| Цикл работы агента | Цикл Omnara, совместимый с любой моделью | Цикл Anthropic, созданный для Claude | Codex, который запускает и обновляет OpenAI |
| Где работает платформа | Omnara Cloud или ваша инфраструктура | Облако Anthropic | Облако OpenAI |
| Где работают агенты | Песочницы разных поставщиков или ваши машины | Песочницы Anthropic или ваши песочницы | Песочницы OpenAI, партнёров или ваши машины |
| Эксплуатация | В Omnara Cloud платформой управляет Omnara. При самостоятельном развёртывании вы управляете ею сами. | Платформой управляет Anthropic. Если вы размещаете песочницы самостоятельно, вы управляете их частью. | Платформой управляет OpenAI. Если вы используете собственное окружение, вы управляете им сами. |
| История работы агентов | В Omnara Cloud хранится у Omnara и доступна для запросов через API. При самостоятельном развёртывании хранится в вашей базе данных Postgres. | Хранится у Anthropic, её можно просматривать и удалять через API. В настоящее время на неё не распространяются условия Zero Data Retention и HIPAA BAA. | Хранится у OpenAI. Поддержка Zero Data Retention отсутствует. Данные хранятся только в США. |
| Стоимость | Бесплатно при самостоятельном развёртывании. В Omnara Cloud бесплатно при использовании собственных ключей и машин либо оплата по мере использования моделей и песочниц Omnara. | Стоимость токенов Claude плюс $0.08 за каждый час активной сессии | Стоимость моделей OpenAI, а также стандартные тарифы на инструменты OpenAI и размещённые песочницы |
Выбирайте Claude Managed Agents или Agents API, если используете модели одной
компании и хотите, чтобы она взяла на себя всю инфраструктуру. Выбирайте Omnara,
если хотите самостоятельно выбирать модели и машины, управлять платформой или
хранить данные агентов в собственной базе данных.
Для каких задач подходит Omnara
| Если вы используете | Подходит для | Что добавляет Omnara |
|---|---|---|
| Конструкторы рабочих процессов, например n8n или Zapier | Предсказуемая автоматизация по шагам | Агентов с открытым сценарием работы, которые запускают код на машинах и сохраняют состояние в течение нескольких дней |
| Фреймворки для агентов, например Mastra, LangChain или OpenAI Agents SDK | Логика агента в коде вашего приложения | Хостинг, состояние, машины, разрешения и интеграции. Агентов можно создавать и изменять через API без повторного развёртывания |
| Среды запуска агентов, например Claude Code, Claude Agent SDK, Codex, OpenCode или Pi | Один цикл работы агента в терминале или на одной машине | Облачных агентов, работающих как сервис на разных машинах и для разных пользователей; их можно запускать из приложения, Slack, GitHub или по расписанию |
| Управляемые платформы для агентов, например Claude Managed Agents или Agents API | Размещённые агенты на моделях одной компании | Аналогичную модель размещения агентов с открытым исходным кодом, совместимую с любыми моделями и доступную для самостоятельного развёртывания |
Примеры
Каждый пример состоит из файла agent.yaml и файла SKILL.md в каталоге
examples/. Любой из них
можно развернуть, дав одно задание своему агенту для работы с кодом.
- Агент для Slack исправляет задачи, о которых вы сообщаете в
Slack, Discord или pull request на GitHub, и открывает PR.
- Агент для проверки PR проверяет pull request в GitHub
на основе локальной копии репозитория и оставляет замечания прямо в коде.
- Агент SRE расследует проблемы в рабочей среде, например
всплеск ошибок 5xx.
- Агент для браузера выполняет длительные задачи в
настоящем браузере.
- Агент аналитики PostHog сравнивает
вчерашнюю активность пользователей продукта со средним показателем за 7 дней и сообщает об изменениях.
LinkedIn подводят итоги публикаций за последние
24 часа по выбранной вами теме.
- Агент для генерации видео создаёт короткие видео
по краткому описанию.
Также доступны примеры приложения чата для CLI, созданного на основе
TypeScript SDK, собственных инструментов через вебхуки
и подключения файловой системы SharePoint.
Используйте Omnara из своего агента для работы с кодом
MCP-сервер. Подключите Claude Code, Codex, Cursor или любой другой MCP-клиент
с поддержкой OAuth к адресу https://app.omnara.com/mcp, чтобы запускать агенты
Omnara и управлять ими. Вход выполняется через браузер, поэтому вставлять токены
не нужно. В Claude добавьте Omnara из
каталога подключений. Omnara также
включён в официальный MCP Registry под именем com.omnara/omnara.
claude mcp add --transport http omnara https://app.omnara.com/mcp
codex mcp add omnara --url https://app.omnara.com/mcp
Затем войдите в систему с помощью команды /mcp в Claude Code или codex mcp login omnara в Codex.
Подробнее: Подключение MCP-клиентов.
CLI. CLI omnara позволяет управлять
агентами, профилями, машинами, поставщиками моделей, секретами, навыками и
триггерами cron из терминала или оболочки агента для работы с кодом. Чтобы начать,
выполните npx omnara --help.
Навык настройки. skills/setup-omnara-agent,
также доступный по адресу omnara.com/SKILL.md, помогает
агенту для работы с кодом настроить Omnara для вашего проекта.
Документация для LLM. docs.omnara.com/llms.txt.
FAQ
Что такое Omnara? Платформа с открытым исходным кодом для управления AI-агентами и их запуска на любых моделях и устройствах.
Сколько это стоит? Самостоятельное размещение бесплатно. В Omnara Cloud нет платы за платформу. Вы можете бесплатно использовать собственные ключи моделей и устройства либо оплачивать наши модели по тарифам провайдеров за токены, а изолированные среды — по времени активности и объёму хранимых данных. Подробнее — на странице тарифов.
Можно ли разместить платформу самостоятельно? Да. Для локального запуска используйте Docker Compose, а для production-среды следуйте руководству по самостоятельному размещению. API, CLI, SDK и формат конфигурации одинаковы в Omnara Cloud и при самостоятельном размещении.
Какие модели поддерживаются? Любые модели, доступные через совместимые конечные точки OpenAI Responses, OpenAI Chat Completions или Anthropic Messages, включая OpenAI, Anthropic, OpenRouter, Amazon Bedrock, LiteLLM и Ollama.
Разработка
Для работы с исходным кодом требуются версия Go, указанная в go.mod, Node.js версии 24 или новее с Corepack, ripgrep и Docker с Compose. Чтобы быстро проверить репозиторий, выполните make verify. Полный набор тестов, процессы работы с генерируемым кодом и требования к pull request описаны в файле CONTRIBUTING.md.
Сообщество
Discord ·
X ·