@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
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 metconfigureAiTransportHostworden geconfigureerd. De standaardinstellingen van de bibliotheek zijn inactief; OpenClaw installeert de werkelijke implementaties in zijn streamfacade. - Eén identiteit voor gebeurtenisstromen.
@openclaw/ai/event-streamis de canoniekeEventStream-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.