@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 のアプリケーションコードを一切使用せずに、このパッケージへ直接依存できます。
クイックスタート
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オブジェクトとオプションを直接指定します。