Omnara: Arnés de agentes duradero de código abierto con registro de eventos en Postgres

✍️ OpenClawRadar📅 Publicado: 22 de octubre de 2026🔗 Source
Ad

Omnara es una API de código abierto para ejecutar agentes de IA duraderos. Creas un agente con una llamada a la API y Omnara ejecuta el bucle del agente, proporciona sandboxes para la ejecución de comandos y gestiona secretos, permisos y RBAC. Es una alternativa autoalojable a Claude Managed Agents y a la API de agentes de OpenAI.

Arquitectura: registro de eventos en Postgres + workers sin estado

La mayoría de los harnesses (Claude Code, Codex, OpenCode, Pi, Goose) mantienen el bucle del agente en un único proceso de larga duración con un registro JSONL o SQLite. Omnara, en cambio, almacena cada entrada, salida del modelo y llamada a herramienta como filas tipadas en un registro de eventos append-only en Postgres.

El bucle se ejecuta en workers sin estado dentro del plano de control. Cada worker ejecuta una iteración —una llamada al modelo o sus llamadas a herramientas— y luego libera el agente y encola la siguiente iteración a través de Postgres. Cualquier worker libre la recoge, por lo que las iteraciones pueden ejecutarse en máquinas distintas. Cada iteración se confirma en una sola transacción; si un worker muere a mitad de iteración, no se confirma nada, su lease expira y otro worker reintenta. Los agentes que esperan a un usuario, a una herramienta o a un reintento no ocupan ningún worker, por lo que un solo worker puede multiplexar miles de agentes.

Máquinas y el daemon omnarad

Los workers que ejecutan el bucle del agente no son donde se ejecutan los comandos. Cualquier máquina macOS o Linux puede ejecutar un pequeño daemon (omnarad) que se conecta de salida a Omnara, sin necesidad de puertos entrantes. El agente entonces obtiene herramientas para esa máquina, como ejecutar comandos o editar archivos. Un agente puede tener varias máquinas conectadas; por ejemplo, un portátil y un sandbox en la nube. Cuando el portátil se desconecta, el agente puede llevar los últimos cambios al sandbox y continuar allí.

Inicio rápido (Omnara Cloud)

Inicia sesión en app.omnara.com. Tu primer proyecto incluye un proveedor de modelos (omnara-openrouter) y un pool de sandboxes gestionado (default-pool). Guarda esto como 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

Lánzalo con la 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."

Chatea con npx omnara agents chat <agent-id>, o abre el panel para ver las llamadas a herramientas y responder.

Ad

Autoalojamiento

Requiere Docker con Compose:

git clone https://github.com/omnara-ai/omnara.git
cd omnara
docker compose -f compose.yaml --profile app up -d

Abre http://localhost:8000 y regístrate. El desarrollo local imprime el enlace de verificación en docker compose logs api, así que no se necesita proveedor de correo. Una instancia nueva no tiene modelos ni máquinas; añade un proveedor de modelos y un modelo en la consola, conecta este equipo en Machines y comparte ambos con tu proyecto. Apunta la CLI a tu instancia:

npx omnara config --api-url http://localhost:8000/api/v1 --issuer-url http://localhost:8000
npx omnara login

En agent.yaml, usa los nombres de tu proveedor y modelo y reemplaza machine_pool_name con machine_name: <your machine>.

SDK de TypeScript

Crea una clave de API en el panel, expórtala como OMNARA_TOKEN, instala con npm install @omnara/sdk, luego:

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) }

Todo el código base tiene licencia Apache 2.0 y se puede autoalojar en una sola máquina mediante Docker Compose. Está dirigido a desarrolladores que quieren la ergonomía de los agentes gestionados sin entregar el estado y los modelos a un proveedor alojado.

📖 Lee la fuente completa: HN AI Agents

Ad

👀 Ver también

El Marco SIDJUA Agrega una Capa de Gobernanza a los Agentes Autónomos de IA
Herramientas

El Marco SIDJUA Agrega una Capa de Gobernanza a los Agentes Autónomos de IA

SIDJUA es un marco de trabajo con gobernanza integrada, reglas de autoridad basadas en roles y seguimiento de auditoría completo que se sitúa sobre cualquier modelo de IA con una API. La demostración muestra una jerarquía de tres niveles que escala a 7+1 niveles, con cada decisión registrada y los costos rastreados en tiempo real.

OpenClawRadar
ATLAS: Marco de Aprendizaje Adaptativo en Tiempo de Prueba Supera a Claude Sonnet en Puntos de Referencia de Codificación con GPU de $500
Herramientas

ATLAS: Marco de Aprendizaje Adaptativo en Tiempo de Prueba Supera a Claude Sonnet en Puntos de Referencia de Codificación con GPU de $500

ATLAS logra un 74,6% de aprobación@1-v(k=3) en LiveCodeBench con un modelo congelado de 14B en una única GPU de consumo, superando el 71,4% de Claude 4.5 Sonnet a una fracción del costo mediante generación basada en restricciones y refinamiento iterativo autoverificado.

OpenClawRadar
PromptFlow Voice: Habla Hindi, Obtén Prompts de Código Claude Estructurados — Construido con Claude Code
Herramientas

PromptFlow Voice: Habla Hindi, Obtén Prompts de Código Claude Estructurados — Construido con Claude Code

Un desarrollador usó Claude Code y Codex para crear PromptFlow Voice, una aplicación de escritorio que convierte el habla natural en hindi en prompts de desarrollo estructurados para Claude Code, o correos listos para enviar en Gmail. La demo muestra una solicitud de voz en hindi que produce un prompt en inglés para Claude Code sobre lógica de reconexión de sockets con backoff exponencial.

OpenClawRadar
Pilot Shell: Una Capa de Flujo de Trabajo Estructurada para Claude Code
Herramientas

Pilot Shell: Una Capa de Flujo de Trabajo Estructurada para Claude Code

Pilot Shell añade flujos de trabajo TDD guiados por especificaciones, hooks de calidad, ingeniería de contexto y optimización de tokens sobre Claude Code, sin la complejidad de los frameworks multiagente.

OpenClawRadar