@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.
Быстрый старт
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и параметры напрямую.