> ## Documentation Index
> Fetch the complete documentation index at: https://docs2.openclaw.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# @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 theme={"theme":{"light":"min-light","dark":"min-dark"}}
import { createLlmRuntime } from "@openclaw/ai";
import { registerBuiltInApiProviders } from "@openclaw/ai/providers";

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                                      |
