Technical reference

Paquete @openclaw/ai

@openclaw/ai es la versión en forma de biblioteca publicable de la capa de ejecución de modelos de OpenClaw: contratos de mensajes, herramientas y flujos independientes del proveedor, validación, diagnósticos, flujos de eventos, un registro de ejecución aislado y adaptadores de carga diferida para las ocho familias de API integradas (Anthropic Messages, OpenAI Completions, OpenAI Responses, Azure OpenAI Responses, ChatGPT/Codex Responses, Google Generative AI, Google Vertex y Mistral Conversations).

Se publica junto con el paquete raíz openclaw en cada versión, fijado a la misma versión y con su propio npm-shrinkwrap.json, para que su árbol de dependencias transitivas quede bloqueado durante la instalación. Al instalar openclaw, se instala automáticamente la versión correspondiente de @openclaw/ai; los consumidores de la biblioteca pueden depender directamente de ella sin ningún código de la aplicación OpenClaw.

Inicio rápido

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();

Hay una versión ejecutable en el repositorio, en examples/ai-chat.

Contrato de diseño

  • Con alcance de instancia de forma predeterminada. Importar el paquete no registra nada globalmente. createApiRegistry() / createLlmRuntime() devuelven instancias aisladas; registerBuiltInApiProviders(registry) habilita los transportes integrados en un registro. Los módulos del SDK de proveedores se cargan de forma diferida cuando se usan por primera vez.
  • La política del host se inyecta, no se incluye. La protección de las solicitudes realizadas con fetch (por ejemplo, la política contra SSRF), la ocultación de secretos en el texto reproducido de los resultados de herramientas, los valores predeterminados de herramientas estrictas de OpenAI y el registro de diagnósticos son puertos AiTransportHost configurados con configureAiTransportHost. Los valores predeterminados de la biblioteca son inertes; OpenClaw instala sus implementaciones reales en su fachada de flujos.
  • Una sola identidad de flujo de eventos. @openclaw/ai/event-stream es el constructor canónico de EventStream compartido por el núcleo de OpenClaw, agent-core y los consumidores externos.
  • Las subrutas internal/* no forman parte de la API. Existen para la propia aplicación OpenClaw y no ofrecen ninguna garantía de versionado semántico.
  • Los identificadores de proveedores, las credenciales, los catálogos de modelos, los reintentos y la conmutación por error siguen siendo responsabilidad de la aplicación. OpenClaw incorpora esas capas alrededor de este paquete; el consumidor de una biblioteca proporciona directamente un objeto Model y las opciones.

Exportaciones de subrutas

Subruta Contenido
. Contratos, createApiRegistry, createLlmRuntime, configureAiTransportHost
./providers registerBuiltInApiProviders, resetApiProviders
./types Tipos de modelos, mensajes, herramientas y flujos
./validation Validación de argumentos de herramientas
./diagnostics Contratos de diagnóstico
./event-stream Implementación compartida de EventStream
./internal/* Uso interno de OpenClaw, sin garantía de versionado semántico
Was this useful?
On this page

On this page