> ## 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

`@openclaw/ai` — это публикуемая библиотечная форма слоя выполнения моделей OpenClaw:
нейтральные к провайдеру контракты сообщений, инструментов и потоковой передачи, валидация, диагностика,
потоки событий, изолированный реестр среды выполнения и лениво загружаемые адаптеры для восьми
встроенных семейств API (Anthropic Messages, OpenAI Completions, OpenAI
Responses, Azure OpenAI Responses, ChatGPT/Codex Responses, Google Generative
AI, Google Vertex, Mistral Conversations).

Она публикуется вместе с корневым пакетом `openclaw` при каждом выпуске и закрепляется
на той же версии, а собственный `npm-shrinkwrap.json` обеспечивает фиксацию дерева транзитивных
зависимостей во время установки. При установке `openclaw` соответствующий
`@openclaw/ai` устанавливается автоматически; потребители библиотеки могут напрямую добавить его
как зависимость без какого-либо кода приложения OpenClaw.

## Быстрый старт

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

Готовая к запуску версия находится в репозитории по адресу `examples/ai-chat`.

## Архитектурный контракт

* **По умолчанию область действия ограничена экземпляром.** Импорт пакета ничего
  не регистрирует глобально. `createApiRegistry()` / `createLlmRuntime()` возвращают изолированные
  экземпляры; `registerBuiltInApiProviders(registry)` подключает встроенные транспорты
  к одному реестру. Модули SDK провайдеров загружаются лениво при первом использовании.
* **Политика хоста внедряется, а не включается в комплект.** Защита запросов fetch (например,
  политика SSRF), сокрытие секретов в тексте повторно воспроизводимых результатов инструментов, стандартные
  настройки строгого режима инструментов OpenAI и журналирование диагностики — это порты `AiTransportHost`,
  настраиваемые с помощью `configureAiTransportHost`. Настройки библиотеки по умолчанию неактивны;
  OpenClaw устанавливает реальные реализации в своём фасаде потоковой передачи.
* **Единая идентичность потока событий.** `@openclaw/ai/event-stream` — канонический
  конструктор `EventStream`, общий для ядра OpenClaw, agent-core и внешних
  потребителей.
* **Подпути `internal/*` не являются API.** Они предназначены для самого приложения
  OpenClaw и не имеют гарантий semver.
* Идентификаторы провайдеров, учётные данные, каталоги моделей, повторные попытки и переключение при сбое остаются
  задачами приложения. OpenClaw реализует эти уровни вокруг данного пакета; потребитель
  библиотеки передаёт объект `Model` и параметры напрямую.

## Экспортируемые подпути

| Подпуть          | Содержимое                                                                     |
| ---------------- | ------------------------------------------------------------------------------ |
| `.`              | Контракты, `createApiRegistry`, `createLlmRuntime`, `configureAiTransportHost` |
| `./providers`    | `registerBuiltInApiProviders`, `resetApiProviders`                             |
| `./types`        | Типы моделей, сообщений, инструментов и потоков                                |
| `./validation`   | Валидация аргументов инструментов                                              |
| `./diagnostics`  | Контракты диагностики                                                          |
| `./event-stream` | Общая реализация `EventStream`                                                 |
| `./internal/*`   | Внутренний компонент OpenClaw, без гарантий semver                             |
