Skip to main content
@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

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