Omnara: открытый долговечный каркас для агентов с журналом событий на Postgres

✍️ OpenClawRadar📅 Опубликовано: 22 октября 2026 г.🔗 Source
Ad

Omnara — это открытый API для запуска отказоустойчивых ИИ-агентов. Вы создаёте агента с помощью вызова API, а Omnara выполняет цикл агента, предоставляет песочницы для выполнения команд и управляет секретами, разрешениями и RBAC. Это самостоятельно размещаемая альтернатива Claude Managed Agents и Agents API от OpenAI.

Архитектура: журнал событий в Postgres + воркеры без состояния

Большинство платформ для запуска агентов (Claude Code, Codex, OpenCode, Pi, Goose) держат цикл агента в одном долгоживущем процессе с журналом в формате JSONL или SQLite. Omnara вместо этого хранит каждый входной сигнал, вывод модели и вызов инструмента в виде типизированных строк в журнале событий Postgres, доступном только для добавления.

Цикл выполняется на воркерах без сохранения состояния в плоскости управления. Каждый воркер выполняет одну итерацию — вызов модели или её вызовы инструментов — затем освобождает агента и ставит в очередь следующую итерацию через Postgres. Любой свободный воркер подхватывает её, поэтому итерации могут выполняться на разных машинах. Каждая итерация фиксируется в одной транзакции; если воркер умирает в середине итерации, ничего не фиксируется, его аренда истекает, и другой воркер повторяет попытку. Агенты, ожидающие пользователя, инструмента или повторной попытки, не занимают воркер, поэтому один воркер может обслуживать тысячи агентов.

Машины и демон omnarad

Воркеры, выполняющие цикл агента, — это не те машины, где выполняются команды. Любая машина с macOS или Linux может запустить небольшой демон (omnarad), который подключается к Omnara по исходящему соединению — входящие порты не нужны. Затем агент получает инструменты для этой машины, такие как выполнение команд или редактирование файлов. К агенту можно подключить несколько машин; например, ноутбук и облачную песочницу. Когда ноутбук отключается, агент может подтянуть последние изменения в песочницу и продолжить там.

Быстрый старт (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 <agent-id> или откройте панель управления, чтобы наблюдать за вызовами инструментов и отвечать.

Ad

Самостоятельное размещение

Требуется 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, поэтому провайдер электронной почты не нужен. У нового экземпляра нет моделей и машин; добавьте провайдера моделей и модель в консоли, подключите этот компьютер в разделе Machines и поделитесь ими со своим проектом. Настройте 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: <your machine>.

TypeScript SDK

Создайте ключ API в панели управления, экспортируйте его как OMNARA_TOKEN, установите с помощью npm install @omnara/sdk, затем:

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." }, }) for await (const event of openAgentEventStream({ client, path: { ...path, agentID: launched.data.agent.id } })) { console.log(event) }

Весь исходный код распространяется под лицензией Apache 2.0 и может быть развёрнут на одной машине через Docker Compose. Он ориентирован на разработчиков, которые хотят получить удобство управляемых агентов, не передавая состояние и модели хостинговому провайдеру.

📖 Read the full source: HN AI Agents

Ad

👀 Смотрите также

Джобли: Платформа для контрактов с AI-арбитражем и голосованием сообщества
Инструменты

Джобли: Платформа для контрактов с AI-арбитражем и голосованием сообщества

Jobly — это маркетплейс контрактов, созданный на Next.js 14, TypeScript и Supabase, с системой эскроу, включающей 10% залога от поставщиков в предложениях, и конвейером разрешения споров, который начинается с AI-оценки с использованием Claude, а затем позволяет подавать апелляции на голосование сообщества с использованием ставок.

OpenClawRadar
🦀
Инструменты

Стандарт аппаратного обеспечения моделей Anthropic: ИИ-агенты получают единый драйвер для лабораторного и фабричного оборудования

Превью стандарта Model Hardware Standard (MHS) от Anthropic дает ИИ-агентам стандартизированный драйвер для управления лабораторным и производственным оборудованием, сокращая время интеграции с недель до минут.

OpenClawRadar
Реальные инсайты по использованию OpenClaw с LLM: проблемы и ограничения
Инструменты

Реальные инсайты по использованию OpenClaw с LLM: проблемы и ограничения

Пользователь OpenClaw описывает проблемы интеграции с LLM, отмечая бессмысленные ответы от Discord-бота.

OpenClawRadar
Протокол AVP позволяет агентам LLM обмениваться кэшем ключей и значений вместо текста для повышения эффективности использования токенов.
Инструменты

Протокол AVP позволяет агентам LLM обмениваться кэшем ключей и значений вместо текста для повышения эффективности использования токенов.

AVP (Agent Vector Protocol) позволяет агентам LLM передавать KV-кэш напрямую между собой вместо текста, сокращая обработку токенов на 73-78% и обеспечивая ускорение в 2-4 раза для моделей Qwen, Llama и DeepSeek. Протокол работает с коннекторами HuggingFace и vLLM и доступен в виде пакета Python.

OpenClawRadar