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リポジトリをチェックして始めましょう。

ソース

omnigent-ai/omnigent: OmnigentはオープンソースのAIエージェントフレームワークおよびメタハーネスです:Claude Code、Codex、Cursor、Pi、カスタムエージェントを統括し、書き換えなしでハーネスを交換、ポリシーとサンドボックスを適用、任意のデバイスからリアルタイムでコラボレーションできます。