Technical reference

@openclaw/ai パッケージ

@openclaw/ai は、OpenClaw のモデル実行レイヤーを公開可能なライブラリにしたものです。プロバイダーに依存しないメッセージ、ツール、ストリームのコントラクト、検証、診断、イベントストリーム、分離されたランタイムレジストリ、および組み込みの 8 つの API ファミリー(Anthropic Messages、OpenAI Completions、OpenAI Responses、Azure OpenAI Responses、ChatGPT/Codex Responses、Google Generative AI、Google Vertex、Mistral Conversations)用の遅延読み込みアダプターを提供します。

これはリリースごとにルートの openclaw パッケージとともに公開され、同じバージョンに固定されます。また、独自の npm-shrinkwrap.json を備えているため、推移的依存関係ツリーはインストール時に固定されます。openclaw をインストールすると、対応する @openclaw/ai が自動的にインストールされます。ライブラリ利用者は、OpenClaw のアプリケーションコードを一切使用せずに、このパッケージへ直接依存できます。

クイックスタート

js
  const runtime = createLlmRuntime();registerBuiltInApiProviders(runtime.registry); const stream = runtime.streamSimple(model, { messages }, { apiKey });for await (const event of stream) {  if (event.type === "text_delta") process.stdout.write(event.delta);}const result = await stream.result();

実行可能なバージョンは、リポジトリ内の examples/ai-chat にあります。

設計コントラクト

  • デフォルトではインスタンス単位。 パッケージをインポートしても、グローバルには何も登録されません。createApiRegistry() / createLlmRuntime() は分離されたインスタンスを返し、registerBuiltInApiProviders(registry) は 1 つのレジストリで組み込みトランスポートを有効にします。プロバイダー SDK モジュールは、初回使用時に遅延読み込みされます。
  • ホストポリシーは組み込まれず、注入されます。 リクエストの fetch ガード(SSRF ポリシーなど)、ツール結果を再生するテキストからのシークレットの秘匿化、OpenAI の厳格なツールのデフォルト、および診断ログは、configureAiTransportHost で設定する AiTransportHost ポートです。ライブラリのデフォルトは何も実行しません。OpenClaw は、ストリームファサードに実際の実装を導入します。
  • 単一のイベントストリーム ID。 @openclaw/ai/event-stream は、OpenClaw コア、agent-core、および外部利用者が共有する正規の EventStream コンストラクターです。
  • internal/* サブパスは API ではありません。 これらは OpenClaw アプリケーション自体のために存在し、semver の保証はありません。
  • プロバイダー ID、認証情報、モデルカタログ、再試行、およびフェイルオーバーは、引き続きアプリケーション側の責務です。OpenClaw はこのパッケージの周囲にそれらを重ねます。ライブラリ利用者は、Model オブジェクトとオプションを直接指定します。

サブパスのエクスポート

サブパス 内容
. コントラクト、createApiRegistrycreateLlmRuntimeconfigureAiTransportHost
./providers registerBuiltInApiProvidersresetApiProviders
./types モデル、メッセージ、ツール、ストリームの型
./validation ツール引数の検証
./diagnostics 診断コントラクト
./event-stream 共有の EventStream 実装
./internal/* OpenClaw 内部用、semver の保証なし
Was this useful?
On this page

On this page