CLI commands
CLI для инференса
openclaw infer — канонический безголовый интерфейс для инференса через провайдеров. Он предоставляет семейства возможностей (model, image, audio, tts, video, web, embedding), а не необработанные имена RPC Gateway или идентификаторы инструментов агента. openclaw capability ... — псевдоним того же дерева команд.
Причины предпочесть его одноразовой обёртке провайдера:
- Повторно использует провайдеров и модели, уже настроенные в OpenClaw.
- Стабильная оболочка
--jsonдля скриптов и автоматизации под управлением агентов (см. Вывод JSON). - Для большинства подкоманд выполняет обычный локальный путь без Gateway.
- При сквозных проверках провайдеров задействует поставляемый CLI, загрузку конфигурации, разрешение агента по умолчанию, активацию встроенных плагинов и общую среду выполнения возможностей до отправки запроса провайдеру.
Превращение infer в навык
Скопируйте и вставьте это агенту:
Прочитай https://docs.openclaw.ai/cli/infer, затем создай навык, который направляет мои типичные рабочие процессы в `openclaw infer`.Сосредоточься на запусках моделей, генерации изображений, генерации видео, транскрибировании аудио, TTS, веб-поиске и эмбеддингах.Хороший навык на основе infer сопоставляет типичные намерения пользователя с подходящей подкомандой, содержит несколько канонических примеров для каждого рабочего процесса, предпочитает openclaw infer ... низкоуровневым альтернативам и не дублирует в теле навыка документацию всей поверхности infer.
Дерево команд
openclaw infer list inspect model run list inspect providers auth login auth logout auth status image generate edit describe describe-many providers audio transcribe providers tts convert voices providers personas status enable disable set-provider set-persona video generate describe providers web search fetch providers embedding create providersinfer list / infer inspect --name <capability> отображают это дерево в виде данных (идентификатор возможности, транспорты, описание).
Типичные задачи
| Задача | Команда | Примечания |
|---|---|---|
| Выполнить текстовый запрос к модели | openclaw infer model run --prompt "..." --json |
По умолчанию локально |
| Выполнить запрос к модели с изображениями | openclaw infer model run --prompt "Describe this" --file ./image.png --model provider/model |
Повторите --file для нескольких изображений |
| Создать изображение | openclaw infer image generate --prompt "..." --json |
При использовании существующего файла укажите image edit |
| Описать файл изображения или URL | openclaw infer image describe --file ./image.png --prompt "..." --json |
--model должен быть поддерживающим изображения <provider/model> |
| Транскрибировать аудио | openclaw infer audio transcribe --file ./memo.m4a --json |
--model должен быть <provider/model> |
| Синтезировать речь | openclaw infer tts convert --text "..." --output ./speech.mp3 --json |
tts status выполняется только через Gateway |
| Создать видео | openclaw infer video generate --prompt "..." --json |
Поддерживает подсказки провайдера, такие как --resolution |
| Описать видеофайл | openclaw infer video describe --file ./clip.mp4 --json |
--model должен быть <provider/model> |
| Выполнить веб-поиск | openclaw infer web search --query "..." --json |
|
| Получить веб-страницу | openclaw infer web fetch --url https://example.com --json |
|
| Создать эмбеддинги | openclaw infer embedding create --text "..." --json |
Поведение
- Используйте
--json, когда вывод передаётся другой команде или скрипту; в остальных случаях используйте текстовый вывод. - Используйте
--providerили--model provider/model, чтобы зафиксировать конкретный бэкенд. - Используйте
model run --thinking <level>для разового переопределения режима размышления/рассуждения:off,minimal,low,medium,high,adaptive,xhighилиmax. - Для
image describe,audio transcribeиvideo describeзначение--modelдолжно иметь вид<provider/model>. - Для
image describeпараметр--fileпринимает локальные пути и URL HTTP(S); удалённые URL обрабатываются согласно обычной политике защиты от SSRF при получении медиафайлов. - Команды выполнения без сохранения состояния (
model run,image *,audio *,video *,web *,embedding *) по умолчанию выполняются локально. Команды состояния под управлением Gateway (tts status) по умолчанию выполняются через Gateway. - Для локального пути работающий Gateway не требуется.
- Локальный
model runвыполняет облегчённое одноразовое дополнение через провайдера: он разрешает настроенную модель и аутентификацию агента, но не начинает ход агента чата, не загружает инструменты и не открывает встроенные серверы MCP. model run --fileприкрепляет файлы изображений (с автоматически определяемым MIME-типом) к запросу; повторите--fileдля нескольких изображений. Файлы, не являющиеся изображениями, отклоняются — вместо этого используйтеinfer audio transcribeилиinfer video describe.model run --gatewayпроверяет маршрутизацию Gateway, сохранённую аутентификацию, выбор провайдера и встроенную среду выполнения, но остаётся необработанной проверкой модели: без предыдущей расшифровки сеанса, контекста начальной загрузки/AGENTS, инструментов и встроенных серверов MCP.model run --gateway --model <provider/model>требует учётных данных Gateway доверенного оператора, поскольку запрашивает у Gateway одноразовое переопределение провайдера/модели.
Модель
Текстовый инференс и проверка моделей/провайдеров.
openclaw infer model run --prompt "Ответь в точности: smoke-ok" --jsonopenclaw infer model run --prompt "Кратко изложи эту запись журнала изменений" --model openai/gpt-5.4 --jsonopenclaw infer model run --prompt "Опиши это изображение одним предложением" --file ./photo.jpg --model google/gemini-2.5-flash --jsonopenclaw infer model run --prompt "Используй здесь более глубокие рассуждения" --thinking high --jsonopenclaw infer model providers --jsonopenclaw infer model inspect --model gpt-5.6-sol --jsonИспользуйте полные ссылки <provider/model> с --local, чтобы выполнить быструю проверку одного провайдера без запуска Gateway или загрузки поверхности инструментов агента:
openclaw infer model run --local --model anthropic/claude-sonnet-4-6 --prompt "Ответь в точности: pong" --jsonopenclaw infer model run --local --model cerebras/zai-glm-4.7 --prompt "Ответь в точности: pong" --jsonopenclaw infer model run --local --model google/gemini-2.5-flash --prompt "Ответь в точности: pong" --jsonopenclaw infer model run --local --model groq/llama-3.1-8b-instant --prompt "Ответь в точности: pong" --jsonopenclaw infer model run --local --model mistral/mistral-medium-3-5 --prompt "Ответь в точности: pong" --jsonopenclaw infer model run --local --model mistral/mistral-small-latest --prompt "Ответь в точности: pong" --jsonopenclaw infer model run --local --model openai/gpt-5.6-luna --prompt "Ответь в точности: pong" --jsonopenclaw infer model run --local --model ollama/qwen2.5vl:7b --prompt "Опиши это изображение." --file ./photo.jpg --jsonПримечания:
- Локальный
model run— наиболее узкая быстрая проверка CLI для работоспособности провайдера, модели и аутентификации: для провайдеров, отличных от ChatGPT-Codex, он отправляет только указанный запрос. - Локальный
model run --model <provider/model>может разрешать точные строки встроенного статического каталога (те же строки, которые показываетopenclaw models list --all) до записи этого провайдера в конфигурацию. Аутентификация провайдера всё равно обязательна; отсутствие учётных данных приводит к ошибкам аутентификации, а не кUnknown model. - При проверках рассуждения Mistral Medium 3.5 не задавайте температуру и оставьте значение по умолчанию. Mistral отклоняет
reasoning_effort="high"сtemperature: 0; используйте температуру по умолчанию или ненулевое значение, например0.7. - Локальные проверки OpenAI ChatGPT/Codex OAuth (API
openai-chatgpt-responses) добавляют минимальную системную инструкцию, чтобы транспорт мог заполнить обязательное полеinstructions, — без полного контекста агента, инструментов, памяти или расшифровки сеанса. model run --fileприкрепляет содержимое изображения непосредственно к единственному сообщению пользователя. Распространённые форматы (PNG, JPEG, WebP) работают, если MIME-тип определён какimage/*; неподдерживаемые или нераспознанные файлы отклоняются до вызова провайдера. Используйте вместо этогоinfer image describe, если вам нужны маршрутизация моделей изображений и резервные варианты OpenClaw, а не прямая проверка мультимодальной модели.- Выбранная модель должна поддерживать ввод изображений; модели только для текста могут отклонить запрос на уровне провайдера.
model run --promptдолжен содержать текст, состоящий не только из пробельных символов; пустые запросы отклоняются до любого вызова провайдера или Gateway.- Локальный
model runзавершается с ненулевым кодом, если провайдер не возвращает текстовый вывод, поэтому недоступные провайдеры и пустые дополнения не выглядят как успешные проверки. - Используйте
model run --gatewayдля проверки маршрутизации Gateway или настройки среды выполнения агента, сохраняя ввод модели необработанным. Используйтеopenclaw agentили интерфейс чата для полного контекста агента, инструментов, памяти и расшифровки сеанса. --thinking adaptiveсоответствует уровню среды выполнения дополненияmedium;--thinking maxсоответствуетmaxдля моделей OpenAI, поддерживающих встроенное максимальное усилие, а иначе —xhigh.model auth login,model auth logoutиmodel auth statusуправляют сохранённым состоянием аутентификации провайдера.
Изображение
Генерация, редактирование и описание.
openclaw infer image generate --prompt "дружелюбная иллюстрация лобстера" --jsonopenclaw infer image generate --prompt "кинематографичная предметная фотография наушников" --jsonopenclaw infer image generate --model openai/gpt-image-1.5 --output-format png --background transparent --prompt "простая наклейка в виде красного круга на прозрачном фоне" --jsonopenclaw infer image generate --model openai/gpt-image-2 --quality low --openai-moderation low --prompt "недорогой черновик плаката" --jsonopenclaw infer image generate --prompt "медленный бэкенд изображений" --timeout-ms 180000 --jsonopenclaw infer image edit --file ./logo.png --model openai/gpt-image-1.5 --output-format png --background transparent --prompt "сохрани логотип, удали фон" --jsonopenclaw infer image edit --file ./poster.png --prompt "преврати это в вертикальную рекламу для историй" --size 2160x3840 --aspect-ratio 9:16 --resolution 4K --jsonopenclaw infer image describe --file ./photo.jpg --jsonopenclaw infer image describe --file https://example.com/photo.png --jsonopenclaw infer image describe --file ./receipt.jpg --prompt "Извлеки продавца, дату и итоговую сумму" --jsonopenclaw infer image describe-many --file ./before.png --file ./after.png --prompt "Сравни снимки экрана и перечисли видимые изменения интерфейса" --jsonopenclaw infer image describe --file ./ui-screenshot.png --model openai/gpt-5.4-mini --jsonopenclaw infer image describe --file ./photo.jpg --model ollama/qwen2.5vl:7b --prompt "Опиши изображение одним предложением" --timeout-ms 300000 --jsonПримечания:
-
Используйте
image editпри работе с существующими входными файлами;--size,--aspect-ratioили--resolutionдобавляют подсказки по геометрии для поддерживающих их провайдеров и моделей. -
--output-format png --background transparentвместе с--model openai/gpt-image-1.5создаёт PNG-изображение OpenAI с прозрачным фоном;--openai-background— специфичный для OpenAI псевдоним той же подсказки. Провайдеры, которые не заявляют поддержку фона, указывают её как проигнорированное переопределение (см.ignoredOverridesв оболочке JSON). -
--quality low|medium|high|autoработает с провайдерами, поддерживающими подсказки по качеству изображения, включая OpenAI. OpenAI также принимает--openai-moderation low|auto. -
image providers --jsonпоказывает, какие встроенные провайдеры изображений обнаружены, настроены и выбраны, а также какие возможности генерации и редактирования предоставляет каждый из них. -
image generate --model <provider/model> --json— наиболее узкая живая дымовая проверка изменений генерации изображений:bash openclaw infer image providers --jsonopenclaw infer image generate \ --model google/gemini-3.1-flash-image-preview \ --prompt "Минималистичное плоское тестовое изображение: один синий квадрат на белом фоне, без текста." \ --output ./openclaw-infer-image-smoke.png \ --jsonОтвет содержит
ok,provider,model,attemptsи пути записанных выходных файлов. Если задан--output, итоговое расширение может соответствовать типу MIME, возвращённому провайдером. -
Для
image describeиimage describe-manyиспользуйте--prompt, чтобы задать инструкцию для конкретной задачи (OCR, сравнение, проверка интерфейса, краткое описание). -
Используйте
--timeout-msдля медленных локальных моделей компьютерного зрения или холодного запуска Ollama. -
Для
image describeсначала запускается явно указанная--model(это должна быть поддерживающая изображения<provider/model>), а при сбое этого вызова выполняется попытка использовать настроенныеagents.defaults.imageModel.fallbacks. Ошибки подготовки входных данных (отсутствующий файл, неподдерживаемый URL) приводят к сбою до любой попытки резервного перехода, а модель должна поддерживать изображения согласно каталогу моделей или конфигурации провайдера. -
Для локальных моделей компьютерного зрения Ollama сначала загрузите модель и задайте для
OLLAMA_API_KEYлюбое значение-заполнитель, напримерollama-local. См. Ollama.
Аудио
Транскрибирование файлов (не управление сеансами в реальном времени).
openclaw infer audio transcribe --file ./memo.m4a --jsonopenclaw infer audio transcribe --file ./team-sync.m4a --language en --prompt "Сосредоточьтесь на именах и пунктах действий" --jsonopenclaw infer audio transcribe --file ./memo.m4a --model openai/whisper-1 --json--model должен быть <provider/model>.
TTS
Синтез речи и состояние провайдера/персоны TTS.
openclaw infer tts convert --text "привет от openclaw" --output ./hello.mp3 --jsonopenclaw infer tts convert --text "Сборка завершена" --output ./build-complete.mp3 --jsonopenclaw infer tts providers --jsonopenclaw infer tts personas --jsonopenclaw infer tts status --jsonПримечания:
tts statusподдерживает только--gateway(он отражает состояние TTS, управляемое Gateway).- Используйте
tts providers,tts voices,tts personas,tts set-providerиtts set-personaдля проверки и настройки поведения TTS.
Видео
Генерация и описание.
openclaw infer video generate --prompt "кинематографичный закат над океаном" --jsonopenclaw infer video generate --prompt "медленный пролёт дрона над лесным озером" --resolution 768P --duration 6 --jsonopenclaw infer video describe --file ./clip.mp4 --jsonopenclaw infer video describe --file ./clip.mp4 --model openai/gpt-5.4-mini --jsonПримечания:
video generateпринимает--size,--aspect-ratio,--resolution,--duration,--audio,--watermarkи--timeout-ms, которые передаются среде выполнения генерации видео.--modelдолжен быть<provider/model>дляvideo describe.
Веб
Поиск и получение данных.
openclaw infer web search --query "Документация OpenClaw" --jsonopenclaw infer web search --query "Провайдеры OpenClaw infer web" --jsonopenclaw infer web fetch --url https://docs.openclaw.ai/cli/infer --jsonopenclaw infer web providers --jsonweb providers показывает доступных, настроенных и выбранных провайдеров для поиска и получения данных.
Векторные представления
Создание векторов и проверка провайдеров векторных представлений.
openclaw infer embedding create --text "дружелюбный лобстер" --jsonopenclaw infer embedding create --text "обращение в службу поддержки: задержка доставки" --model openai/text-embedding-3-large --jsonopenclaw infer embedding providers --jsonВывод JSON
Команды Infer нормализуют вывод JSON с помощью общей оболочки:
{ "ok": true, "capability": "image.generate", "transport": "local", "provider": "openai", "model": "gpt-image-2", "attempts": [], "outputs": []}Стабильные поля верхнего уровня:
okcapabilitytransportprovidermodelattemptsinputs(вложения изображений, отправленные с запросом, если применимо)outputsignoredOverrides(ключи подсказок, которые провайдер не поддерживает, если применимо)error
Для команд генерации медиа outputs содержит файлы, записанные OpenClaw. Для автоматизации используйте path, mimeType, size и все специфичные для медиа размеры из этого массива вместо разбора удобочитаемого вывода stdout.
Распространённые ошибки
# Неправильноopenclaw infer media image generate --prompt "дружелюбный лобстер" # Правильноopenclaw infer image generate --prompt "дружелюбный лобстер"# Неправильноopenclaw infer audio transcribe --file ./memo.m4a --model whisper-1 --json # Правильноopenclaw infer audio transcribe --file ./memo.m4a --model openai/whisper-1 --json