Technical reference

@openclaw/ai-pakket

@openclaw/ai is de publiceerbare bibliotheekvorm van OpenClaws modeluitvoeringslaag: providerneutrale contracten voor berichten/tools/streams, validatie, diagnostiek, gebeurtenisstromen, een geïsoleerd runtimeregister en lazy adapters voor de acht ingebouwde API-families (Anthropic Messages, OpenAI Completions, OpenAI Responses, Azure OpenAI Responses, ChatGPT/Codex Responses, Google Generative AI, Google Vertex, Mistral Conversations).

Deze wordt bij elke release samen met het hoofdpackage openclaw gepubliceerd, vastgezet op dezelfde versie, met een eigen npm-shrinkwrap.json zodat de transitieve afhankelijkheidsboom tijdens de installatie wordt vergrendeld. Bij installatie van openclaw wordt automatisch de overeenkomende @openclaw/ai geïnstalleerd; bibliotheekgebruikers kunnen er rechtstreeks van afhankelijk zijn zonder enige OpenClaw-applicatiecode.

Snel aan de slag

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

Een uitvoerbare versie staat in de repository op examples/ai-chat.

Ontwerpcontract

  • Standaard beperkt tot de instantie. Bij het importeren van het package wordt niets globaal geregistreerd. createApiRegistry() / createLlmRuntime() retourneren geïsoleerde instanties; registerBuiltInApiProviders(registry) schakelt voor één register de ingebouwde transports in. SDK-modules van providers worden bij het eerste gebruik lazy geladen.
  • Hostbeleid wordt geïnjecteerd, niet meegeleverd. Bewaking van fetch voor aanvragen (bijvoorbeeld SSRF-beleid), het redigeren van geheimen uit tekst bij het opnieuw afspelen van toolresultaten, standaardinstellingen voor strikte OpenAI-tools en diagnostische logboekregistratie zijn AiTransportHost-poorten die met configureAiTransportHost worden geconfigureerd. De standaardinstellingen van de bibliotheek zijn inactief; OpenClaw installeert de werkelijke implementaties in zijn streamfacade.
  • Eén identiteit voor gebeurtenisstromen. @openclaw/ai/event-stream is de canonieke EventStream-constructor die wordt gedeeld door OpenClaw-core, agent-core en externe gebruikers.
  • internal/*-subpaden zijn geen API. Ze bestaan voor de OpenClaw-applicatie zelf en bieden geen semver-garantie.
  • Provider-ID's, aanmeldgegevens, modelcatalogi, nieuwe pogingen en failover blijven verantwoordelijkheden van de applicatie. OpenClaw voegt die lagen rond dit package toe; een bibliotheekgebruiker levert rechtstreeks een Model-object en opties.

Subpad-exports

Subpad Inhoud
. Contracten, createApiRegistry, createLlmRuntime, configureAiTransportHost
./providers registerBuiltInApiProviders, resetApiProviders
./types Typen voor modellen/berichten/tools/streams
./validation Validatie van toolargumenten
./diagnostics Diagnostiekcontracten
./event-stream Gedeelde EventStream-implementatie
./internal/* Intern voor OpenClaw, geen semver-garantie
Was this useful?
On this page

On this page