Omnara: Postgresイベントログを備えたオープンソースの耐久型エージェントハーネス

✍️ OpenClawRadar📅 公開日: October 22, 2026🔗 Source
Ad

Omnaraは、耐久型AIエージェントを実行するためのオープンソースAPIです。APIコールでエージェントを作成すると、Omnaraがエージェントループを実行し、コマンド実行用のサンドボックスを提供し、シークレット、権限、RBACを処理します。Claude Managed AgentsやOpenAIのAgents APIに対応するセルフホスト可能な代替手段です。

アーキテクチャ: Postgresイベントログ + ステートレスワーカー

ほとんどのハーネス(Claude Code、Codex、OpenCode、Pi、Goose)は、エージェントループをJSONLまたはSQLiteログを備えた単一の長寿命プロセスで保持します。Omnaraは代わりに、すべての入力、モデル出力、ツールコールを追記専用のPostgresイベントログに型付きの行として保存します。

ループはコントロールプレーンのステートレスワーカー上で実行されます。各ワーカーは1回のイテレーション(モデルコールまたはそのツールコール)を実行し、エージェントを解放してPostgres経由で次のイテレーションをキューに入れます。空いているワーカーがそれを受け取るため、イテレーションは異なるマシンで実行できます。各イテレーションは1つのトランザクションでコミットされます。ワーカーがイテレーションの途中で停止すると、何もコミットされず、リースが期限切れになり、別のワーカーが再試行します。ユーザー、ツール、または再試行を待つエージェントはワーカーを占有しないため、1つのワーカーで数千のエージェントを多重化できます。

マシンと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

👀 See Also

Claude-Control: Claudeコードセッション用モバイルリモートコントロール
Tools

Claude-Control: Claudeコードセッション用モバイルリモートコントロール

Claude-controlは、HTTPSとWebSocketを介してスマートフォンからClaude Codeセッションを管理できるオープンソースツールです。tmux内で実際のPTYでClaude Codeを実行し、許可プロンプトを検出して、許可/拒否ボタン付きのプッシュ通知を送信します。

OpenClawRadar
栄養MCPサーバー Claude Codeで構築された食事記録エクスポート機能
Tools

栄養MCPサーバー Claude Codeで構築された食事記録エクスポート機能

開発者は、商用アプリがデータエクスポートをブロックした問題を解決するため、Claude Codeを使用して栄養管理MCPサーバーを構築しました。このツールはClaude経由で食事を記録し、要約を生成し、アプリを切り替えることなくExcelにエクスポートできます。

OpenClawRadar
🦀
Tools

Pizza Bot:長時間実行するAIエージェント向けのセルフホスト型インボックス、Apache 2.0

Pizza Botは、Mac、Windows、Linux向けのセルフホスト型デスクトップアプリで、AIエージェントをバックグラウンドで実行し、メール風のUIで操作できます。完了した作業はUnreadに、承認待ちの実行はActionに溜まります。

OpenClawRadar
ギャリー・タンのgstack:Claude CodeのためのオープンソースAIエージェントフレームワーク
Tools

ギャリー・タンのgstack:Claude CodeのためのオープンソースAIエージェントフレームワーク

ギャリー・タンのgstackは、Claude Codeを仮想エンジニアリングチームに変えるオープンソースのソフトウェアファクトリーで、計画、設計、エンジニアリング、レビュー、QA、リリース管理のための13の専門スラッシュコマンドを備えています。

OpenClawRadar