monid-ai/monid

Monid - OpenRouter for agent tools. Join our community at https://discord.gg/rQzztcgJV8

Monid – AIエージェントツールのためのOpenRouterスタイルのカタログ

概要 – Monidは、AIエージェントが単一の統一APIを通じてあらゆる外部ツール(検索、データエンリッチメント、メディア生成など)を呼び出せるようにするフレームワークです。70以上のプロバイダーから2,000以上のツールエンドポイントを集約し、discover、inspect(両方無料)、run(呼び出しごとに課金)の3つの動詞で公開します。

重要性 – エージェントはもはやハードコードされたベンダーURLやカスタムアダプターを必要としません。コネクタ(プロバイダーのエンドポイントの宣言的な記述)は、Monidにサービスを呼び出す方法、認証方法、使用量の価格設定方法を伝えます。実行時にMonidは:

  1. 与えられたジョブに最適な/最も安価なエンドポイントを発見します。
  2. リクエストを実行し、生のトラフィックを測定し、出力マッピングの前にプロバイダーの使用モデルを適用し、エージェントが送信されたものに対して正確に課金されるようにします。
  3. コネクタで定義された契約に一致する構造化レスポンスを返します。

主要概念

  • コネクタ – プロバイダー(defineProvider)と1つ以上のエンドポイント(defineEndpoint)を宣言するTypeScriptファイル。メタデータ、認証注入、リクエストスキーマ(Zod経由)、タイムアウト、使用モデル(無料、呼び出しごと、文字ごとなど)を含みます。
  • リソース – 「所有」サービス(例:電話番号)のライフサイクル、スナップショット、レートカードをモデル化するためのオプション。
  • エンジン – 入力の検証、HTTPリクエストの構築、資格情報の注入、使用量の決済、レスポンスのマッピング、最終出力の検証を行うランタイム。
  • カタログCLI – コマンド(deno task catalog …)でプロバイダーの一覧表示、エンドポイントの探索、完全な契約の検査ができます。

新しいツールの追加方法

  1. リポジトリをクローンし、Deno 2.xをインストールします。
  2. connectors/<provider>/の下に新しいフォルダを作成し、provider.tsと1つ以上のエンドポイント定義を含めます。
  3. リクエストパラメータ用のZodスキーマを記述します。
  4. フィクスチャを記録して(deno task record)実際のレスポンスをキャプチャします。テストはこれらのフィクスチャを再生するため、CIはネットワークアクセスを必要としません。
  5. deno task check && deno task testを実行して、型安全性と再生テストの合格を確認します。
  6. PRを開き、support@monid.aiにメールします。チームは公開前にコネクタを手動でレビューします。

エンドポイントの実行

export TINYFISH_CREDENTIALS_API_KEY=…
 deno task engine:run 'tinyfish#search' \
   --query-params '{"query":"solid-state battery suppliers","domain_type":"news"}'

このコマンドは構造化結果を出力し、プロバイダーのモデルに従って使用量を記録します。

対象読者 – 自律型LLMエージェント、RAGパイプライン、または各APIをハードコードせずに多数のサードパーティAPIを呼び出す必要があるシステムを構築する開発者。宣言型コネクタ形式により、コーディングエージェントが新しいコネクタを自動生成することも可能です(AGENT.mdを参照)。

ライセンス – MIT。

関連