Omnigent: AIエージェントを統括するオープンソースのメタハーネス
Omnigentは、Claude Code、Codex、Cursor、カスタムエージェントを単一のオーケストレーションレイヤーで統合し、ポリシー適用、サンドボックス、リアルタイムコラボレーションを実現するオープンソースのメタハーネスです。
Omnigentとは?
Omnigentは、AIエージェント向けのオープンソースメタハーネスです。これは、コーディングエージェント用のユニバーサルリモコンのようなものだと考えてください。Claude Code、Codex、Cursor、OpenCode、Hermes、Pi、そしてあなたが構築するカスタムエージェントのために、個別のCLI、設定、認証情報をやりくりする代わりに、Omnigentはそれらすべてを結びつける単一のオーケストレーションレイヤーを提供します。
核となるアイデアはシンプルですが強力です:何も書き換えることなく、エージェントハーネスを交換または組み合わせることができます。YAMLでエージェントを定義し、その動作を管理するポリシーを設定し、ターミナル、ブラウザ、電話、またはネイティブのmacOSデスクトップアプリなど、任意のデバイスから実行できます。セッションはあなたに追随し、サブエージェントは協力し、すべてが同期された状態を保ちます。
なぜこれが重要なのか
複数のAIコーディングエージェントを扱ったことがあるなら、その苦労を感じたことがあるでしょう。それぞれに独自のCLI、独自の認証情報管理、独自のサンドボックスモデル(またはその欠如)があります。それらを切り替えることは、コンテキストスイッチを意味します。それらを組み合わせることは、ほとんど機能しないスクリプトをガムテープで貼り合わせることを意味します。
Omnigentは、共通のオーケストレーションレイヤーを提供することでこの問題を解決します:
- 単一のセッションで複数のエージェントを統合します。Claude Code、Codex、Cursor、カスタムエージェントを混在させます。あるエージェントに別のエージェントの作業をレビューするよう依頼したり、異なる分野に優れたエージェント間でタスクを分割したりできます。
- 任意のデバイスから動作します。ターミナルでセッションを開始し、ブラウザで続け、電話で引き継ぎます。メッセージ、サブエージェント、ターミナル、ファイルは同期されたままです。
- ポリシーとサンドボックスを適用します。リスクのあるアクションの前に承認を求めて一時停止したり、支出を制限したり、エージェントが到達できるツールを制限するポリシーを作成できます。ポリシーはサーバー全体、エージェントごと、またはセッションごとに適用されます。
- 任意のモデルをサポートします。ファーストパーティのAPIキー、Claude/ChatGPTサブスクリプション、または互換性のあるゲートウェイ(OpenRouter、LiteLLM、Ollama、vLLM、Azure)を使用できます。
クイックスタート
インストール
1つのコマンドでOmnigentとそれに必要なすべてがインストールされます:
curl -fsSL https://raw.githubusercontent.com/omnigent-ai/omnigent/main/scripts/install_oss.sh | sh
または、uvを使って手動でインストールします:
uv tool install omnigent
# または: pip install "omnigent"
Homebrewユーザー向け:
brew install omnigent-ai/tap/omnigent
最初のエージェントを起動する
omnigent
これにより、あなたと一緒にモデルが選択され、ターミナルでセッションが開始されます。また、http://localhost:6767 でローカルWeb UIも起動し、ブラウザやネットワーク上の電話で同じセッションを表示できます。
特定のエージェントランタイムを起動することもできます:
omnigent claude # Claude Code
omnigent codex # Codex
omnigent cursor # Cursor
omnigent opencode # OpenCode
omnigent hermes # Hermes Agent (Nous Research)
omnigent pi # Pi
サンプルエージェント
リポジトリには2つのサンプルエージェントが同梱されています:
omnigent run examples/polly/
omnigent run examples/debby/
Pollyは、自分ではコードを一切書かないマルチエージェントコーディングオーケストレーターです。彼女は計画を立て、並列のgitワークツリーでコーディングサブエージェント(Claude Code、Codex、またはPi)に作業を委任し、各差分を、それを書いたベンダーとは異なるベンダーのレビューアにルーティングします。
Debbyは、2つの頭を持つブレインストーミングパートナーです。1つはClaude、もう1つはGPTです。すべての質問は両方の頭に送られ、彼女は2つの答えを並べて表示します。/debateと入力すると、頭たちが収束する前に互いを批評します。
ポリシーガバナンス
ポリシーは、エージェントが何をしてもよいかを決定します:シェルコマンドの実行、ファイルの編集、トークンの消費。すべてのアクションをチェックし、許可するか、ブロックするか、または一時停止してあなたに確認します。
Web UIでは、セッションの情報パネルを開いて利用可能なポリシーを参照し、オン/オフを切り替えることができます。チャットでは、「シェルコマンドを実行する前に確認を求めるポリシーを追加して」と依頼するだけです。エージェントが設定してくれます。
サーバー全体のデフォルトについては、サーバー設定またはエージェントのYAMLで定義します:
policies:
approve_shell:
type: function
handler: omnigent.policies.builtins.safety.ask_on_os_tools
cap_calls:
type: function
handler: omnigent.policies.builtins.safety.max_tool_calls_per_session
factory_params:
limit: 50
budget:
type: function
handler: omnigent.policies.builtins.cost.cost_budget
factory_params:
max_cost_usd: 5.00
ask_thresholds_usd: [3.00]
ポリシーは3つのレベル(サーバー全体(管理者)、エージェントごと(開発者)、セッションごと(あなた))で積み重ねられ、より厳しいセッションルールが最初にチェックされます。
独自のエージェントを作成する
エージェントは短いYAMLファイルです:あなたのプロンプト、あなたのツール(ローカルPython関数、MCPサーバー、およびスーパーバイザーが委任できるサブエージェント)。
name: my_agent
prompt: You are a helpful data analyst.
executor:
harness: claude-sdk
tools:
word_count:
type: function
callable: mypackage.mymodule.word_count
docs:
type: mcp
url: https://example.com/mcp
researcher:
type: agent
prompt: Search for relevant information and summarize it.
tools:
word_count: inherit
次のコマンドで実行します:
omnigent run path/to/my_agent.yaml
デプロイメント
安定したURLでサーバー上でOmnigentを実行すると、セッションは電話を含むどこからでもアクセス可能になります。docker compose up 1つで、任意のホスト(VPS、ホームサーバー)でサーバーを実行できます。RenderとRailwayはワンクリックでデプロイできます。Fly.io、Hugging Face Spaces、Modal、Cloudflare(サーバーレス、スケールトゥゼロ)、Databricks Appsもカバーされています。
コラボレーション
Omnigentはマルチユーザーアカウントをサポートしています。次のコマンドで認証を有効にします:
OMNIGENT_AUTH_ENABLED=1 omnigent server start
Web UIを介してライブセッションを共有し、omnigent attach <session_id> でチームメイトと共同運転し、omnigent run --fork <session_id> で会話をフォークして独立して続行します。
結論
Omnigentはまだアルファ版ですが、複数のAIコーディングエージェントを扱うすべての人にとって、すでに強力なツールです。ポリシーガバナンス、サンドボックス、リアルタイムコラボレーションを備えた統一オーケストレーションレイヤーを提供することで、開発者が日常的に直面する実際の痛点を解決します。オープンソースであるため、拡張、貢献、そしてその未来を形作ることができます。
GitHubリポジトリをチェックして始めましょう。