Hacker News AI · 2026/10/22 00:44:53

Omnara 开源发布 提供自托管智能体管理平台

原标题:Show HN: Omnara – Open-Source Alternative to Claude Managed Agents
78AI 研判分
核心综述

Omnara 推出开源智能体管理平台,作为 Claude Managed Agents 和 OpenAI Agents API 的自托管替代方案。该平台支持在任意模型和机器上运行 AI 智能体,内置工具调用、权限管理及流式传输功能,采用 Apache 2.0 协议并支持云端或本地部署。

报道全文原始报道全文

本文目录4 个章节

The open-source managed agent platform

A self-hostable alternative to Claude Managed Agents and OpenAI's Agents API.

Website · Quickstart · Docs · API · Changelog · Discord

Omnara is an open-source managed agent platform. Use the API to run AI agents on any model and any machine, with tools, secrets, permissions, and streaming built in. Self-host it for free under Apache 2.0, or use Omnara Cloud.

Quickstart

Omnara Cloud

Sign in at app.omnara.com. Your first project comes with a model provider (omnara-openrouter) and a pool of managed sandboxes (default-pool), so this config runs as is. Save it as agent.yaml:

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

Launch it with the CLI (Node.js 22 or newer). If you're not logged in, the first command opens your browser to sign in.

SH
npx omnara agents launch --file agent.yaml \
  --name "Machine assistant" \
  --message "Report this machine's operating system and free disk space."

Chat with the agent in your terminal with npx omnara agents chat <agent-id>, or open it in the dashboard to watch its tool calls and reply.

<details> <summary>Launch it from your code with the TypeScript SDK</summary>

Create an API key in the dashboard and export it as OMNARA_TOKEN, install the SDK with npm install @omnara/sdk, and use the org and project IDs that npx omnara config prints:

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

The quickstart shows the same flow with the REST API.

</details>

To have your coding agent do the setup, give it this prompt:

TEXT
Help me set up Omnara by following https://www.omnara.com/SKILL.md

Self-host

Requires Docker with Compose.

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

Open http://localhost and sign up. Local development prints the verification link in docker compose logs api, so no email provider is needed. To build from source instead of using published images, run docker compose --profile app up -d --build.

A new instance has no models or machines yet. In the console, add a model provider and a model, connect this computer under Machines, and share both with your project. Sandboxes also work once your instance has a public URL.

Point the CLI at your instance and log in:

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

In agent.yaml, use your provider and model names, and replace the machine_pool_name entry with machine_name: <your machine>. Then launch it with the same command as above.

The local defaults are intentionally insecure. For a real deployment, follow the self-hosting guide and the configuration reference.

How it works

Your product talks to Omnara, and Omnara runs each agent with the model, tools, and machines in its config.

流程图
  • API. Your app, the CLI, and the dashboard all use the same REST API to launch agents, send messages, and answer approvals. Events stream back as they happen.
  • Postgres. Every step of every agent is saved here. That record is the agent's state, so any worker can pick an agent back up after a crash or restart.
  • Workers. Stateless processes that build the model context, call the model, and run tools. An agent only uses a worker while it's taking a turn, so one worker can serve many agents. Add workers to handle more turns at once.
  • Machines. Each machine runs the omnarad daemon, which connects out to Omnara, so agents can run commands there without any inbound ports.

Omnara also uses Redis, blob storage for attachments and tool outputs, and a memory filesystem. The architecture docs cover the details.

(注:更多技术实现细节与完整 API 文档请查阅原项目 README)


作者发帖说明(HN):

Hey y'all, Kartik from Omnara (https://omnara.com) here. We're building an open-source API for running durable agents. You create an agent with an API call, and Omnara runs the agent loop, gives the agent sandboxes to run commands in, and handles secrets, permissions, and RBAC. Each agent's state is stored in Postgres, so agents survive restarts and cost nothing while idle. You can message them and stream their events over the API.

You may remember us from our early days, when we made a remote-control phone app for Claude Code and Codex. Since the harness ran on a laptop back then, we had to build a relay to reach it, it stopped when the laptop closed, and moving it to a cloud sandbox meant syncing code and agent state between machines. We didn't think remote-controlling a local agent was end-game for how people would run agents, so we built a new product where the agent runs in the cloud, any client can talk to it through an API, and it can still use your laptop as one of its machines.

Anthropic and OpenAI are building hosted versions of this, like Claude Managed Agents and the OpenAI Agents API. Omnara is an open-source version you can run on your own servers and use your own models. It's basically a harness server like the opencode or codex servers, but durable, scalable, with the usual harness features like file and shell tools, subagents, compaction, permission prompts, MCP, skills, memory, yada yada yada.

Here's some interesting architectural de...

Omnara 开源发布 提供自托管智能体管理平台 | Today for AI