Перейти к основному содержанию
@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 и параметры напрямую.

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