Omnara について
Omnaraは、永続的なAIエージェントを構築・運用するためのオープンソースのマネージドエージェントプラットフォームです。モデル、ツール、実行マシンを設定でき、状態を保存しながらAPI、CLI、ダッシュボードで管理できます。
主な機能
- 01設定可能なモデルとマシンでエージェントを実行
- 02再起動後もエージェントの状態を保持
- 03承認権限によるツール呼び出しの制御
- 04Slack、Discord、GitHubとの連携
- 05エージェントの実行予約とイベント配信
活用シーン
- 01ローカルマシンやサンドボックスで長期エージェントを実行
- 02プルリクエストを確認しリポジトリイベントに対応
- 03エージェントによる本番環境の障害調査
- 04アプリや定期実行からエージェントを起動
MCP 対応
Omnaraは https://app.omnara.com/mcp にMCPサーバーを提供し、MCPクライアントからOmnaraのエージェントを起動・管理できます。プラットフォームでは、MCPサーバーをエージェントのツールとして設定することもできます。
設定
リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。
https://app.omnara.com/mcpclaude mcp add --transport http com-omnara-omnara https://app.omnara.com/mcp{"mcpServers":{"com-omnara-omnara":{"type":"http","url":"https://app.omnara.com/mcp"}}}Cursor で開く{"servers":{"com-omnara-omnara":{"type":"http","url":"https://app.omnara.com/mcp"}}}VS Code で開く{"mcpServers":{"com-omnara-omnara":{"type":"http","url":"https://app.omnara.com/mcp"}}}{"mcpServers":{"com-omnara-omnara":{"serverUrl":"https://app.omnara.com/mcp"}}}コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。
ツール
詳細
オープンソースのマネージドエージェントプラットフォーム
Claude Managed Agents と OpenAI's Agents API に代わる、セルフホスト可能なサービスです。
ウェブサイト · クイックスタート · ドキュメント · 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 <agent-id> を使ってターミナルでエージェントとチャットするか、ダッシュボードで開いて、ツールの呼び出しを確認したり、返信したりできます。
TypeScript SDK でコードから起動する
ダッシュボードで API キーを作成し、OMNARA_TOKEN としてエクスポートします。npm install @omnara/sdk で SDK をインストールし、npx omnara config が表示する組織 ID とプロジェクト ID を使用してください。
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: <your machine> に置き換えてください。その後、上記と同じコマンドで起動します。
ローカルのデフォルト設定は、意図的にセキュリティを緩くしています。本番環境にデプロイする場合は、セルフホストガイドと設定リファレンスに従ってください。
仕組み
お使いの製品は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。 すべてのエージェントのあらゆるステップがここに保存されます。この記録が エージェントの状態となるため、クラッシュや再起動の後でも、どのワーカーでもエージェントを 引き継いで再開できます。
- ワーカー。 モデルのコンテキストを構築し、モデルを呼び出し、ツールを実行するステートレスなプロセスです。エージェントがワーカーを使うのはターンの実行中のみなので、 1つのワーカーで多数のエージェントに対応できます。同時に処理するターンを増やすには、 ワーカーを追加してください。
- マシン。 各マシンでは
omnaradデーモンが動作し、Omnaraへ接続します。そのため、エージェントは インバウンドポートを開かずに、そこでコマンドを実行できます。
OmnaraはRedis、添付ファイルやツール出力用のBLOBストレージ、メモリファイルシステムも使用します。 詳細についてはアーキテクチャのドキュメントをご覧ください。
機能
エージェントを構築する
- 任意のモデル。 OpenAI、Anthropic、OpenRouter、Amazon Bedrock、LiteLLM、 Ollama、または自分でホストするモデルを含む、互換性のある任意のエンドポイントに対して、 独自のキーを使用できます。
- ツール。 シェルコマンド、ファイル、ウェブ検索と取得、 人への質問に対応する組み込みツールに加え、独自のシステムで実行できる MCP サーバーや カスタムツールも利用できます。
- スキル。 手順とファイルを一度パッケージ化し、 任意のエージェントに追加できます。エージェントは必要なときにそれらを読み込みます。
- メモリ。 メモリストアは、会話をまたいで保持されるファイルをエージェントに提供し、 エージェントごとに読み取り専用または読み書き可能なアクセス権を設定して、ほかのエージェントと共有できます。
- サブエージェント。 エージェントは 新しいコンテキストでサブエージェントを起動し、進捗を確認して、新しい指示を送信できます。 各サブエージェントは、詳細を確認できる完全なエージェントです。
どこでも実行する
- マシン。 マシンはエージェントが使用するツールです。 OmnaraデーモンをmacOSまたはLinuxのノートパソコン、VM、コンテナにインストールすれば、 インバウンドポートやSSHキーを使わずに、エージェントがそこでコマンドを実行したりファイルを編集したりできます。 または、11のプロバイダー(Arker、Blaxel、boxd、CreateOS、 Daytona、E2B、Freestyle、Modal、Superserve、Tenki、Unikraft)のサンドボックスを利用できます。エージェントは複数のマシン (たとえば、GPUサーバーのセット)を同時に使い、マシン間を移動できます。ノートパソコンがオフラインになった場合でも、 エージェントはサンドボックスで作業を続け、gitを使って作業内容を同期できます。
- 永続的な状態。 すべてのステップが 保存されるため、クラッシュ、再起動、マシンとの接続切断の後でも、エージェントは中断したところから再開できます。
- スケジュール。 タイムゾーンに対応したCronトリガーを使って、既存のエージェントにメッセージを送信したり、プロファイルから新しいエージェントを 起動したり、 新しいSlackまたはDiscordのスレッドを開始したりできます。
接続する
- Slack、Discord、GitHub。 Slack または Discord でボットにメンションすると、スレッド内でエージェントが起動します。エージェントはそこで返信し、質問し、承認を求めます。GitHub では、プルリクエストが作成されたときや誰かがエージェントにメンションしたときに起動し、差分を読み取り、コメントし、レビューを送信できます。別のサービスを接続するには、同じパブリック API 上に カスタムインテグレーション を構築します。
- ストリーミングと ウェブフック。 すべてのイベントを発生と同時にストリーミングするか、ウェブフックとして受信できます。また、エージェントの処理中に新しいメッセージを送信できます。
- 権限。 各ツールは、すぐに実行する、人に事前確認を求める、またはブロックするように設定できます。プラットフォームが設定を適用し、誰かが呼び出しを承認または拒否するまでエージェントは待機します。
- API、SDK、CLI。
api/openapi/openapi.yamlで定義された REST API、TypeScript SDK(@omnara/sdk)、CLI(omnara)、および MCP サーバーを利用できます。
管理する
- ロールベースのアクセス制御 とシークレット。 ユーザーと API キーには、組織およびプロジェクトのロールが設定されます。モデル、マシン、MCP サーバーの認証情報は一度保存し、各プロジェクトと明示的に共有します。
- マルチテナント。 1 つのデプロイメントで複数の組織にサービスを提供し、各組織は独自のメンバー、プロジェクト、シークレット、モデルプロバイダー、マシンを持ちます。セルフホスト運用者は、Omnara Cloud と同様に、新しい組織ごとにデフォルトのモデルとサンドボックスを提供できます。
- 独自のデータ。 セルフホストのデプロイメントでは、すべてのエージェントの履歴が独自の Postgres に保持されるため、分析、評価、トレーニングデータセットに活用できます。
Omnara と Claude Managed Agents、OpenAI の Agents API の比較
Claude Managed Agents と OpenAI の Agents API は、1 社のモデル上でエージェントを実行するためのホスト型サービスです。Omnara も同じ役割を果たしますが、どこでも、どのモデルでも実行できるオープンソースのプラットフォームです。
| Omnara | Claude Managed Agents | OpenAI の Agents API | |
|---|---|---|---|
| ソース | オープンソース(Apache 2.0) | クローズド | オープンソースのハーネス(Codex)。ホスト型サービスは OpenAI が提供しています。 |
| モデル | 互換性のある任意のモデル | Claude | OpenAI |
| エージェントループ | Omnara のもの。任意のモデルで動作します | Anthropic のもの。Claude 向けに構築されています | Codex。OpenAI が実行・更新します |
| プラットフォームの実行場所 | Omnara Cloud、またはお客様のインフラストラクチャ | Anthropic のクラウド | OpenAI のクラウド |
| エージェントの実行場所 | さまざまなプロバイダーのサンドボックス、またはお客様のマシン | Anthropic のサンドボックス、またはお客様のサンドボックス | OpenAI のサンドボックス、パートナーのサンドボックス、またはお客様のマシン |
| 運用 | Omnara Cloud ではマネージドです。セルフホストする場合はお客様が運用します。 | Anthropic が運用します。サンドボックスをセルフホストする場合は、サンドボックス側をお客様が実行します。 | OpenAI が運用します。独自の環境を持ち込む場合は、お客様が環境を実行します。 |
| エージェントの履歴 | Omnara Cloud では Omnara が保存し、API からクエリできます。セルフホストの場合は、お客様の Postgres に保存されます。 | Anthropic が保存し、API から読み取り・削除できます。現時点では Zero Data Retention や HIPAA BAA の対象外です。 | OpenAI が保存します。Zero Data Retention には対応していません。データの保管場所は米国内のみです。 |
| 料金 | セルフホストは無料です。Omnara Cloud では、お客様自身のキーとマシンを使う場合は無料、当社のモデルとサンドボックスを使う場合は従量課金です。 | Claude のトークン料金に加え、アクティブなセッション 1 時間あたり $0.08 | OpenAI のモデル料金に加え、OpenAI のツールとホスト型サンドボックスの標準料金 |
1 社のモデルを使い、その会社にすべてを運用してもらいたい場合は、Claude Managed Agents または Agents API をお選びください。モデルやマシンを選びたい場合、プラットフォームを自分で実行したい場合、またはエージェントのデータを独自のデータベースに保持したい場合は、Omnara をお選びください。
Omnara の位置づけ
| 使用するもの | 適している用途 | Omnara が追加するもの |
|---|---|---|
| n8n や Zapier などのワークフロービルダー | 予測可能な、段階的な自動化 | マシン上でコードを実行し、数日間状態を保持する、自由度の高いエージェント |
| Mastra、LangChain、OpenAI Agents SDK などのエージェントフレームワーク | アプリのコード内のエージェントロジック | ホスティング、状態、マシン、権限、インテグレーション。再デプロイの代わりに API からエージェントを作成・変更できます |
| Claude Code、Claude Agent SDK、Codex、OpenCode、Pi などのエージェントハーネス | ターミナルまたは 1 台のマシンで動作する単一のエージェントループ | アプリ、Slack、GitHub、またはスケジュールから起動でき、複数のマシンやユーザーにわたってサービスとして動作するクラウドエージェント |
| Claude Managed Agents や Agents API などのマネージドエージェントプラットフォーム | 1 社のモデル上のホスト型エージェント | 同じ仕組みのホスト型エージェントをオープンソースで提供。任意のモデルで利用でき、セルフホストも可能です |
例
各例は examples/ 内の agent.yaml と SKILL.md で構成されており、コーディングエージェントにプロンプトを1つ送るだけで、どれでもデプロイできます。
- Slack コーディングエージェント は、Slack、Discord、または GitHub のプルリクエストであなたが報告した問題を修正し、PR を作成します。
- PR レビューエージェント は、リポジトリのチェックアウトを参照して GitHub のプルリクエストをレビューし、インラインで指摘を残します。
- SRE エージェント は、5xx の急増などの本番環境の問題を調査します。
- ブラウザーエージェント は、長時間かかるタスクを実際のブラウザーで実行します。
- PostHog 分析エージェント は、昨日のプロダクト利用状況を7日間の平均と比較し、変化した内容を報告します。
- Reddit、X、LinkedIn のシグナルエージェントは、選んだトピックについて、過去24時間の投稿を要約します。
- 動画生成エージェント は、概要から短い動画を作成します。
TypeScript SDK を使ったCLI チャットアプリ、Webhook を使ったカスタムツール、SharePoint ファイルシステムのマウントのコードサンプルもあります。
コーディングエージェントから Omnara を使う
MCP サーバー。 Claude Code、Codex、Cursor、または OAuth に対応した任意の MCP クライアントを https://app.omnara.com/mcp に接続して、Omnara エージェントを起動、管理できます。ブラウザーからサインインするため、貼り付けるトークンはありません。Claude では、コネクター一覧から追加してください。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
その後、Claude Code では /mcp、Codex では codex mcp login omnara を使ってサインインしてください。MCP クライアントの接続をご覧ください。
CLI。 omnara を使うと、ターミナルまたはコーディングエージェントのシェルから、エージェント、プロファイル、マシン、モデルプロバイダー、シークレット、スキル、cron トリガーを管理できます。npx omnara --help を実行して始めましょう。
セットアップスキル。 skills/setup-omnara-agent は、omnara.com/SKILL.md でも提供されており、コーディングエージェントによるプロジェクトへの Omnara のセットアップを支援します。
LLM 向けドキュメント。 docs.omnara.com/llms.txt。
よくある質問
Omnara とは何ですか? あらゆるモデルとマシンで AI エージェントを実行するための、オープンソースのマネージドエージェントプラットフォームです。
費用はいくらですか? セルフホストする場合、費用はかかりません。Omnara Cloud のプラットフォーム料金もありません。独自のモデルキーとマシンを無料で利用することも、プロバイダーのトークン料金で当社のモデルを、アクティブ時間と保持ストレージに応じた料金で当社のサンドボックスを従量課金で利用することもできます。料金をご覧ください。
セルフホストできますか? はい。Docker Compose でローカルに実行してから、本番環境向けにセルフホストのガイドに従ってください。API、CLI、SDK、設定形式は、Omnara Cloud とセルフホスト環境で共通です。
どのモデルが使えますか? OpenAI Responses、OpenAI Chat Completions、または Anthropic Messages と互換性のあるエンドポイントを備えたモデルであれば、どれでも利用できます。OpenAI、Anthropic、OpenRouter、Amazon Bedrock、LiteLLM、Ollama などが含まれます。
開発
ソースコードの開発には、go.mod で宣言されたバージョンの Go、Corepack を備えた Node.js 24 以降、ripgrep、および Compose 対応の Docker が必要です。高速なリポジトリチェックは make verify で実行できます。テストスイート全体、生成コードのワークフロー、プルリクエストの要件については、CONTRIBUTING.mdをご覧ください。
コミュニティ
Discord · GitHub Issues · X · セキュリティ
ライセンス
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。