Skip to main content
models.providers.<id>.localService по запросу запускает локальный сервер моделей, принадлежащий провайдеру. Когда запрос к модели или эмбеддингу выбирает этого провайдера, OpenClaw проверяет конечную точку состояния, запускает процесс, если он не работает, ожидает готовности, а затем отправляет запрос. Используйте эту возможность, чтобы не держать ресурсоёмкие локальные серверы запущенными весь день.

Как это работает

  1. Запрос к модели или эмбеддингу разрешается в настроенного провайдера.
  2. Если у этого провайдера есть localService, OpenClaw проверяет healthUrl.
  3. Если проверка успешна, OpenClaw использует уже запущенный сервер.
  4. Если проверка завершается неудачно, OpenClaw запускает command с args.
  5. OpenClaw опрашивает конечную точку состояния до истечения readyTimeoutMs.
  6. Запрос проходит через обычный транспорт модели или эмбеддинга.
  7. Если OpenClaw запустил процесс и задано idleStopMs, он останавливает процесс, когда после последнего активного запроса в течение указанного времени не было активности.
Для этого OpenClaw не устанавливает launchd, systemd, Docker или какой-либо демон. Сервер представляет собой обычный дочерний процесс того процесса OpenClaw, которому он потребовался первым. Запуск сериализуется для каждой комбинации настроенного провайдера, команды, аргументов и переменных окружения, поэтому параллельные запросы чата и эмбеддингов к одной службе не запускают дублирующиеся серверы. Каждый запрос удерживает собственную аренду до завершения обработки ответа, поэтому остановка при бездействии ожидает завершения всех активных запросов к моделям и эмбеддингам. Настроенные псевдонимы провайдеров остаются раздельными: два псевдонима могут указывать на разные узлы с GPU, не объединяясь под одним идентификатором адаптера Ollama, LM Studio или совместимого с OpenAI адаптера. Если другой процесс OpenClaw уже использует исправный сервер по тому же адресу healthUrl, этот процесс повторно использует его, не принимая под своё управление (каждый процесс управляет только тем дочерним процессом, который запустил сам). Журналы запуска и завершения содержат ограниченные по размеру отредактированные хвосты вывода дочернего процесса, а также сведения о времени и завершении; настроенные значения переменных окружения никогда не выводятся.

Структура конфигурации

Задайте timeoutSeconds в записи провайдера (не localService), чтобы медленный холодный запуск и длительная генерация не достигали стандартного тайм-аута запроса к модели. Явно задавайте healthUrl, если сервер предоставляет состояние готовности не по адресу /models базового URL.

Поля

Пример Inferrs

Inferrs — пользовательский сервер /v1, совместимый с OpenAI, поэтому тот же API localService работает с записью провайдера inferrs:
Замените command результатом выполнения which inferrs на машине, где запущен OpenClaw. Полная настройка inferrs: Inferrs.

Пример ds4

Полная настройка, выбор размера контекста и команды проверки: ds4.

Связанные материалы

Локальные модели

Настройка локальных моделей, выбор провайдера и рекомендации по безопасности.

Inferrs

Запуск OpenClaw через локальный сервер inferrs, совместимый с OpenAI.