models.providers.<id>.localService позволяет OpenClaw запускать принадлежащий провайдеру локальный сервер моделей по требованию. Это конфигурация уровня провайдера: когда выбранная модель принадлежит этому провайдеру, OpenClaw проверяет сервис, запускает процесс, если endpoint недоступен, дожидается готовности, а затем отправляет запрос к модели.
Используйте это для локальных серверов, которые дорого держать запущенными весь день, или для ручных настроек, где выбора модели должно быть достаточно, чтобы поднять backend.
Как это работает
- Запрос к модели разрешается в настроенного провайдера.
- Если у этого провайдера есть
localService, OpenClaw проверяетhealthUrl. - Если проверка успешна, OpenClaw использует существующий сервер.
- Если проверка завершается ошибкой, OpenClaw запускает
commandсargs. - OpenClaw опрашивает готовность до истечения
readyTimeoutMs. - Запрос к модели отправляется через обычный транспорт провайдера.
- Если OpenClaw запустил процесс и
idleStopMsположителен, процесс останавливается после того, как последний выполняющийся запрос простаивал это время.
Форма конфигурации
Поля
command: абсолютный путь к исполняемому файлу. Поиск через shell не используется.args: аргументы процесса. Расширение shell, pipes, globbing или правила quoting не применяются.cwd: необязательный рабочий каталог для процесса.env: необязательные переменные окружения, объединяемые поверх окружения процесса OpenClaw.healthUrl: URL готовности. Если он опущен, OpenClaw добавляет/modelsкbaseUrl, поэтомуhttp://127.0.0.1:8000/v1становитсяhttp://127.0.0.1:8000/v1/models.readyTimeoutMs: крайний срок готовности при запуске. По умолчанию:120000.idleStopMs: задержка остановки при простое для процессов, запущенных OpenClaw.0или пропуск оставляет процесс живым до выхода OpenClaw.
Пример Inferrs
Inferrs — это пользовательский OpenAI-совместимый backend/v1, поэтому тот же API локального сервиса работает с записью провайдера inferrs.
command результатом which inferrs на машине, где запущен OpenClaw.
Пример ds4
Полную настройку, рекомендации по размеру контекста и команды проверки см. в ds4.Операционные заметки
- Один процесс OpenClaw управляет дочерним процессом, который он запустил. Другой процесс OpenClaw, увидев тот же уже работающий URL проверки, переиспользует его без принятия под управление.
- Запуск сериализуется для каждого набора команды и аргументов провайдера, поэтому параллельные запросы не создают дублирующиеся серверы для одной конфигурации.
- Активные потоковые ответы удерживают lease; остановка при простое ждет, пока обработка тела ответа завершится.
- Используйте
timeoutSecondsдля медленных локальных провайдеров, чтобы холодные запуски и долгие генерации не упирались в стандартный timeout запроса к модели. - Используйте явный
healthUrl, если ваш сервер публикует готовность где-то еще, кроме/v1/models.
Связанные материалы
Локальные модели
Настройка локальных моделей, выбор провайдера и рекомендации по безопасности.
Inferrs
Запускайте OpenClaw через OpenAI-совместимый локальный сервер inferrs.