#Health check failed: timeout

1 messages · Page 1 of 1 (latest)

topaz pollenBOT
#

To help others find answers, you can mark your question as solved via Right click solution message -> Apps -> ✅ Mark Solution

candid oak
#

C:\Users\Admin>ssh -N -L 18789:127.0.0.1:18789 makor@192.168.0.29
ssh: connect to host 192.168.0.29 port 22: Connection refused

#

my ssh port is 2222

#

This site can’t be reached
localhost refused to connect.

#

C:\Users\Admin>Test-NetConnection localhost -Port 18789
"Test-NetConnection" не является внутренней или внешней
командой, исполняемой программой или пакетным файлом.

and i cant ping server

#

clear all your messages

#

почему я не могу открыть http://localhost:18789/ (ошибка: This site can’t be reached
localhost refused to connect.) если openclaw работает
я сижу с пк(Windows) а openclaw работает с ноутбука(linux) и мы подключены к одной сети ноутбук через вайфай а пк через провод

atomic lavaBOT
#

Причина простая: localhost на Windows = это сам Windows, а не твой Linux-ноутбук.

У тебя OpenClaw сейчас слушает только 127.0.0.1 на Linux (loopback), поэтому с ПК напрямую не откроется.

Самый простой вариант в твоей ситуации (одна сеть): открыть через LAN

На Linux выполни:

openclaw config set gateway.bind lan
openclaw gateway restart
openclaw gateway status

Узнай IP ноутбука:

#
hostname -I

На Windows открой:

http://<IP_ноутбука>:18789/

Если попросит токен:

openclaw config get gateway.auth.token

#

Не вставляй токен в чат (он секретный).
Если хочешь потом вернуть безопасный локальный режим:

openclaw config set gateway.bind loopback
openclaw gateway restart
candid oak
#

у меня открылся опен клав но при входе выдала ошибку: origin not allowed (open the Control UI from the gateway host or allow it in gateway.controlUi.allowedOrigins)

atomic lavaBOT
#

Отлично, это уже почти финал 👌
Ошибка origin not allowed значит, что твой URL не добавлен в allowedOrigins.

На Linux (где OpenClaw) выполни:

openclaw config set gateway.controlUi.allowedOrigins '["http://192.168.0.29:18789","http://localhost:18789","http://127.0.0.1:18789"]' --strict-json
openclaw gateway restart

Потом на Windows открой снова:

http://192.168.0.29:18789

(или тот же exact URL, который реально используешь)

#

Проверка:

openclaw config get gateway.controlUi.allowedOrigins

Важно: origin должен совпадать точно (протокол + хост + порт).

candid oak
#

теперь ошибка: control ui requires device identity (use HTTPS or localhost secure context)

atomic lavaBOT
#

Да, это ожидаемо.
Эта ошибка значит: ты открываешь Control UI по обычному HTTP не-localhost (http://192.168...), а для device identity нужен localhost или HTTPS.

Для тебя самый простой путь:

  1. На Linux верни loopback:
openclaw config set gateway.bind loopback
openclaw gateway restart
  1. Сделай SSH-туннель (лучше через Termius Local Forward):
  • Local: 127.0.0.1:18789
  • Remote: 127.0.0.1:18789
  • SSH порт: 2222 (твой)
  1. На Windows открывай только:
#
http://localhost:18789/

❗ Не открывай http://192.168...:18789 — там и будет эта ошибка.

candid oak
#

опиши подробно второй пункт

atomic lavaBOT
#

Конечно, подробно про пункт 2 (SSH-туннель через Termius):

Что мы делаем

Мы “пробрасываем” порт так, чтобы твой Windows localhost:18789 попадал на Linux 127.0.0.1:18789 (где крутится OpenClaw).


Вариант A: через интерфейс Termius (рекомендуется)

  1. Открой Termius на Windows.
  2. Открой свой хост (тот, которым ты уже подключаешься по SSH, порт 2222).
  3. Зайди в настройки хоста → Port Forwarding (или Tunnel/Forwarding).
  4. Добавь Local Forward со значениями:
  • Local address: 127.0.0.1
  • Local port: 18789
  • Remote host: 127.0.0.1
  • Remote port: 18789
#
  1. Сохрани.
  2. Подключись к хосту в Termius (или переподключись).
  3. Убедись, что forward/tunnel запущен (обычно “Active/Running”).
  4. Не закрывай сессию Termius.
  5. Открой в браузере Windows:
  • http://localhost:18789/

Вариант B: одной командой (если удобнее в cmd/PowerShell)

ssh -p 2222 -N -L 18789:127.0.0.1:18789 makor@<твой_хост>
  • <твой_хост> = тот же адрес, что в Termius.
  • Окно с этой командой должно оставаться открытым.
#

Если хочешь, скину “проверку в 2 команды”, чтобы сразу понять, жив ли туннель.

candid oak
#

я подключаюсь к ssh через 192.168.0.29

atomic lavaBOT
#

Отлично, тогда команда будет ровно такая:

ssh -p 2222 -N -L 18789:127.0.0.1:18789 makor@192.168.0.29

Дальше:

  1. Оставь это окно открытым (не закрывай).
  2. В браузере на Windows открой:
  • http://localhost:18789/

Если не открывается — в новом окне cmd выполни:

curl -I http://localhost:18789/
#

и пришли вывод.

(Важно: обязательно -p 2222, иначе он лезет на порт 22 и будет Connection refused.)

candid oak
#

я никак не могу не могу зайти пр 127 так как я пытаюсь зайти с пк а не с ноута(127) я говорю про ип

atomic lavaBOT
#

Да, ты прав: 127.0.0.1 у ПК — это сам ПК.
Именно поэтому нужен SSH-туннель.

Когда ты запускаешь:

ssh -p 2222 -N -L 18789:127.0.0.1:18789 makor@192.168.0.29

происходит так:

ПК localhost:18789 ➜ (туннель SSH) ➜ ноутбук 127.0.0.1:18789

То есть ты открываешь localhost на ПК, но он перекидывается на ноут.


#

Если хочешь открыть по IP ноута (192.168.0.29), будет ошибка device identity (мы её уже видели), потому что это не secure localhost/https.


Сделай так строго:

  1. Окно CMD #1:
ssh -p 2222 -N -L 18789:127.0.0.1:18789 makor@192.168.0.29

(ничего не пишет — это нормально, просто держи окно открытым)

  1. Окно CMD #2:
curl -I http://localhost:18789/
#

Если не работает — пришли вывод обеих команд, и я дожму до конца.

candid oak
#

так как то всё удалось но есть ещё одна ошибка:device signature expired

atomic lavaBOT
#

Отлично, ты уже почти у цели 💪
device signature expired обычно значит одно из двух:

  1. время на Windows/Linux немного расходится
  2. в браузере осталась старая сессия/токен

Сделай по шагам:

1) Синхронизируй время

На Linux:

sudo timedatectl set-ntp true
timedatectl

На Windows (PowerShell от админа):

#
w32tm /resync

(или включи “Set time automatically” в настройках времени)

2) Перезапусти gateway

openclaw gateway restart

3) Открой свежую сессию

  • Закрой все вкладки localhost:18789
  • Открой заново http://localhost:18789/ (через активный SSH-туннель)
  • Вставь текущий токен:
openclaw config get gateway.auth.token
#

4) Если не помогло

Очисти данные сайта для localhost:18789 в браузере и зайди снова.

Если ошибка останется — скинь openclaw logs --follow (10–20 строк вокруг ошибки), добьём до конца.

candid oak
#

PS C:\Users\Admin> w32tm /resync
Обнаружена следующая ошибка: Служба не запущена. (0x80070426)

atomic lavaBOT
#

Отлично, поймали причину 👍
Ошибка 0x80070426 = служба времени Windows (w32time) выключена.

Запусти PowerShell от имени администратора и выполни:

Set-Service -Name w32time -StartupType Automatic
Start-Service w32time
w32tm /resync

Проверка:

Get-Service w32time
#

Должно быть Status: Running.

После этого снова:

  1. держи SSH-туннель открытым
  2. открой http://localhost:18789/
  3. если надо — вставь токен заново (openclaw config get gateway.auth.token на Linux).
candid oak
#

так с локал хост работает но ошибка на опен клаве unauthorized: gateway token mismatch (open the dashboard URL and paste the token in Control UI settings)

atomic lavaBOT
#

Отлично, localhost уже работает — осталось только токен синхронизировать.

gateway token mismatch = в UI сохранён старый токен.

Сделай так:

  1. На Linux получи текущий токен:
openclaw config get gateway.auth.token
  1. В Dashboard открой Control UI Settings / Gateway Access
  • очисти старый token
  • вставь новый из команды выше
  • нажми Connect
  1. Обнови страницу (Ctrl+F5).
#

Если всё равно mismatch, принудительно сгенерируй новый токен:

openclaw config set gateway.auth.token "$(openssl rand -hex 32)"
openclaw gateway restart
openclaw config get gateway.auth.token

И снова вставь его в UI.

⚠️ Токен не отправляй в чат.

candid oak
#

makor@partix:~$ openclaw config get gateway.auth.token

🦞 OpenClaw 2026.4.5 (3e72c03) — We ship features faster than Apple ships calculator updates.

OPENCLAW_REDACTED

atomic lavaBOT
#

Отлично, всё ок — просто токен не показывается в чат-логе (это нормально).

Сделай без ручного копирования из config get:

  1. На Linux:
openclaw dashboard
  1. Он даст URL вида http://127.0.0.1:18789/#token=...
  2. На Windows (с активным SSH-туннелем) открой тот же URL, но с localhost:
http://localhost:18789/#token=...

То есть меняешь только 127.0.0.1localhost, а #token=... оставляешь.

Если снова mismatch:

#
  • очисти данные сайта для localhost:18789 (или открой в инкогнито),
  • открой URL с #token ещё раз.
candid oak
#

как поменять ии агента в панеле управления?

atomic lavaBOT
#

Можно двумя способами:

1) Быстро в панели (на текущую сессию)

В чате Control UI введи:

  • /model — показать текущую модель
  • /model list — показать доступные
  • /model <provider/model> — переключить

2) Постоянно (дефолт для агента)

Поменяй дефолтную модель в конфиге:

  • ключ: agents.defaults.model.primary

Через CLI:

openclaw models set <provider/model>
candid oak
#

а если я хочу запустить локалную модель ии то как мне её подключть к серверу с опенклав

atomic lavaBOT
#

Да, можно. Самый простой путь — через Ollama на том же Linux-сервере, где OpenClaw.

Быстрый план

  1. Установить Ollama на Linux
  2. Скачать локальную модель в Ollama
  3. Подключить OpenClaw к Ollama
  4. Выбрать эту модель как дефолт

Команды (Linux-сервер)

# 1) Установка Ollama
curl -fsSL https://ollama.com/install.sh | sh
#

# 2) Запуск сервиса
sudo systemctl enable --now ollama

# 3) Проверка, что Ollama отвечает
curl http://127.0.0.1:11434/api/tags

# 4) Скачать модель
ollama pull <имя_модели>

Дальше подключить в OpenClaw через onboarding:

openclaw onboard
#

Выбери провайдера Ollama, base URL оставь http://127.0.0.1:11434, режим Local.

Потом:

openclaw models list
openclaw models set ollama/<имя_модели>
openclaw models status

Если Ollama у тебя на другой машине, тоже можно — только укажи её URL (без /v1):

  • правильно: http://host:11434
  • неправильно: http://host:11434/v1

Docs: https://docs.openclaw.ai/providers/ollama https://docs.openclaw.ai/gateway/local-models https://docs.openclaw.ai/cli/models

#

P.S. Для “агентных” задач локальные модели часто заметно слабее облачных — обычно лучше держать облако как fallback.

candid oak
#

я не могу на сервере, могу только на пк но они с сервером в одной локальной сети

atomic lavaBOT
#

Понял, так тоже можно ✅
Модель можно крутить на ПК, а OpenClaw на сервере будет ходить к ней по LAN.

Схема

OpenClaw (сервер)Ollama на ПК (LAN)

1) На ПК (Windows) подними Ollama и открой доступ по сети

PowerShell (от админа):

setx OLLAMA_HOST "0.0.0.0:11434"
netsh advfirewall firewall add rule name="Ollama 11434" dir=in action=allow protocol=TCP localport=11434

Перезапусти Ollama (или ПК).

2) Узнай IP ПК

#

Например 192.168.0.X.

3) На сервере проверь доступ к Ollama на ПК

curl http://192.168.0.X:11434/api/tags

Если отвечает — отлично.

4) На сервере подключи OpenClaw к этому Ollama

openclaw config set models.providers.ollama.apiKey "ollama-local"
openclaw config set models.providers.ollama.baseUrl "http://192.168.0.X:11434"
openclaw config set models.providers.ollama.api "ollama"
openclaw gateway restart
openclaw models status
candid oak
#

я собераюс запустить эту Llama-3.1-8B-Instruct модель смогу ли я вообще

atomic lavaBOT
#

Да, в целом сможешь.

Но важно по железу:

  • Запустится на CPU (без GPU), если есть нормальная RAM — но будет медленно.
  • Для более комфортной работы лучше GPU с 8+ GB VRAM (лучше 12+).
  • Для OpenClaw как “агента с инструментами” локальная 8B обычно заметно слабее облака (для тестов ок, для сложных задач — часто тяжело).

То есть:
✅ для обучения/простых задач — да
⚠️ для стабильной “агентной” работы — лучше держать облачную модель как fallback.

Если хочешь, могу оценить “потянет/не потянет” по твоим specs (CPU, RAM, GPU).
Docs: https://docs.openclaw.ai/gateway/local-models https://docs.openclaw.ai/providers/ollama

candid oak
#

я собераюс запустить эту Llama-3.1-8B-Instruct модель подойдёт ли он к опенкл

atomic lavaBOT
#

Да, технически подойдёт ✅
Через Ollama/OpenAI-compatible OpenClaw сможет её использовать.

Но важный момент: для агентных задач с tool calling такие локальные 8B модели часто нестабильны (могут путаться с инструментами).
Поэтому лучший вариант:

  • использовать её для простых/дешёвых задач,
  • а для сложных действий держать более надёжную облачную модель как fallback.

Если хочешь, дам безопасную схему: “локалка = primary для чата, облако = fallback для инструментов”.

candid oak
#

так я скачаль локально Qwem ии на LM studio она работает теперь вопрос как мне её перенсти на линукс сервера на опенклав?

atomic lavaBOT
#

Отличный вопрос.
Тебе не обязательно переносить файл модели на Linux-сервер.

Проще: оставить модель в LM Studio на ПК, а OpenClaw на сервере подключить к ней по LAN.

Вариант (рекомендую): LM Studio на ПК → OpenClaw на сервере

1) На ПК (LM Studio)

  • Загрузи модель
  • Включи API server (OpenAI-compatible)
  • Слушать не 127.0.0.1, а 0.0.0.0 (или LAN IP ПК)
  • Порт обычно 1234
  • Открой порт в Windows Firewall

2) На сервере проверь доступ

#
curl http://<IP_ПК>:1234/v1/models

Если видишь список моделей — связь есть.

3) В ~/.openclaw/openclaw.json на сервере добавь провайдера

(пример, подставь свой model id из /v1/models):

{
agents: {
defaults: {
model: { primary: "lmstudio/<model-id>" },
models: { "lmstudio/<model-id>": { alias: "local" } }
}
},
models: {
#
providers: {
lmstudio: {
baseUrl: "http://<IP_ПК>:1234/v1",
apiKey: "lmstudio-local",
api: "openai-completions",
models: [
{
id: "<model-id>",
name: "Local LM Studio",
reasoning: false,
input: ["text"],
cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
contextWindow: 200000,
maxTokens: 8192
}
#
]
}
}
}
}

4) Перезапусти gateway

openclaw gateway restart
openclaw models status

Если хочешь, я могу дать готовый кусок конфига под твой IP и конкретный model-id (просто скинь вывод curl http://<IP_ПК>:1234/v1/models).

candid oak
#

Включи API server (OpenAI-compatible)
можно ли по подробнее как

atomic lavaBOT
#

Да, конечно. Пошагово для LM Studio (Windows):

1) Открой LM Studio и загрузи модель

  • Запусти LM Studio
  • Выбери/загрузи нужную модель (чтобы она была готова к inference)

2) Открой раздел сервера

Обычно это вкладка типа:

  • Local Server / Developer / API
    (название может чуть отличаться по версии LM Studio)

3) Включи OpenAI-compatible API

  • Найди переключатель вроде “OpenAI compatible API” / “Enable API server”
  • Включи его

4) Поставь правильный host/port

  • Host: 0.0.0.0 (или LAN IP твоего ПК)
#
  • Port: 1234 (по умолчанию)
  • Нажми Start Server

5) Проверь локально на ПК

В cmd/PowerShell на ПК:

curl http://127.0.0.1:1234/v1/models

Должен вернуться JSON со списком моделей.

6) Открой порт в Windows Firewall

(если серверу нужен доступ с Linux-сервера)

PowerShell (админ):

netsh advfirewall firewall add rule name="LMStudio 1234" dir=in action=allow protocol=TCP localport=1234
#

7) Проверь с Linux-сервера

curl http://<IP_ПК>:1234/v1/models

Если ответ есть — OpenClaw сможет подключиться.


Если хочешь, дальше дам точные команды для OpenClaw под твой IP.

candid oak
atomic lavaBOT
#

Супер, это уже отлично 🔥

Теперь делаем связку с OpenClaw.

1) На Linux-сервере проверь доступ к LM Studio

curl http://26.65.98.83:1234/v1/models

Если видишь JSON со списком моделей — всё ок.

2) Возьми id модели из этого JSON и подставь в команды:

openclaw config set models.providers.lmstudio.baseUrl "http://26.65.98.83:1234/v1"
openclaw config set models.providers.lmstudio.api "openai-completions"
#
openclaw config set models.providers.lmstudio.apiKey "lmstudio-local"
openclaw config set models.providers.lmstudio.models '[{"id":"<MODEL_ID>","name":"LM Studio Local","reasoning":false,"input":["text"],"cost":{"input":0,"output":0,"cacheRead":0,"cacheWrite":0},"contextWindow":200000,"maxTokens":8192}]' --strict-json
openclaw config set agents.defaults.model.primary "lmstudio/<MODEL_ID>"
openclaw gateway restart
openclaw models status

Если хочешь — скинь вывод curl .../v1/models, и я дам тебе уже готовые команды без <MODEL_ID>, чтобы просто вставил и запустил.

candid oak
#

я написал curl но процес будто завис

atomic lavaBOT
#

Да, понял — такое бывает, если нет маршрута/доступа к хосту.
Сначала останови зависший curlCtrl + C.

Теперь проверь с таймаутом (чтобы не висело):

curl -v --connect-timeout 5 --max-time 10 http://26.65.98.83:1234/v1/models

Если снова timeout — почти точно сервер не достаёт этот IP.

Важно

26.x.x.x обычно это Tailscale IP, не обычный LAN.
Если сервер не в tailnet — он туда не дойдёт.

Что сделать проще

  1. На ПК возьми обычный LAN IP (ipconfig, что-то типа 192.168.0.X)
#
  1. В LM Studio оставь Serve on Local Network
  2. Проверь с сервера:
curl -v --connect-timeout 5 --max-time 10 http://192.168.0.X:1234/v1/models
  1. Убедись, что firewall на Windows открыл TCP 1234.

Если хочешь, скидывай LAN IP ПК (без токенов/секретов), дам точные команды под него.

candid oak
#

получилось выдало список модолей

atomic lavaBOT
#

Отлично! 🔥 Значит сеть и LM Studio уже ок.

Теперь финальный шаг — подключаем OpenClaw к этой модели.

Подставь MODEL_ID из списка, который вернул curl:

openclaw config set models.providers.lmstudio.baseUrl "http://<IP_ПК>:1234/v1"
openclaw config set models.providers.lmstudio.api "openai-completions"
openclaw config set models.providers.lmstudio.apiKey "lmstudio-local"
openclaw config set models.providers.lmstudio.models '[{"id":"MODEL_ID"}]' --strict-json
openclaw config set agents.defaults.model.primary "lmstudio/MODEL_ID"
openclaw gateway restart
openclaw models status

После этого в панели/чате можешь проверить:

#
/model

Если хочешь, скинь 1 MODEL_ID, и я дам готовый блок команд без замен.

candid oak
#

🦞 OpenClaw 2026.4.5 (3e72c03) — Runs on a Raspberry Pi. Dreams of a rack in Iceland.

Error: Config validation failed: models.providers.lmstudio.models: Invalid input: expected array, received undefined

🦞 OpenClaw 2026.4.5 (3e72c03) — Shell yeah—I'm here to pinch the toil and leave you the glory.

Error: Config validation failed: models.providers.lmstudio.baseUrl: Invalid input: expected string, received undefined

🦞 OpenClaw 2026.4.5 (3e72c03) — You had me at 'openclaw gateway start.'

Error: Config validation failed: models.providers.lmstudio.baseUrl: Invalid input: expected string, received undefined

🦞 OpenClaw 2026.4.5 (3e72c03) — Your second brain, except this one actually remembers where you left things.

Error: Config validation failed: models.providers.lmstudio.baseUrl: Invalid input: expected string, received undefined

🦞 OpenClaw 2026.4.5 (3e72c03) — I'm not AI-powered, I'm AI-possessed. Big difference.

🦞 OpenClaw 2026.4.5 (3e72c03) — Your second brain, except this one actually remembers where you left things.

Restarted systemd service: openclaw-gateway.service

🦞 OpenClaw 2026.4.5 (3e72c03) — Deployed locally, trusted globally, debugged eternally.

Config : ~/.openclaw/openclaw.json
Agent dir : ~/.openclaw/agents/main/agent
Default : lmstudio/qwen/qwen3.5-9b
Fallbacks (0) : -
Image model : -
Image fallbacks (0): -
Aliases (1) : gemini -> google/gemini-3.1-pro-preview
Configured models (2): google/gemini-3.1-pro-preview, google/gemini-2.0-flash-lite

Auth overview
Auth store : ~/.openclaw/agents/main/agent/auth-profiles.json
Shell env : off
Providers w/ OAuth/tokens (0): -

  • google effective=profiles:~/.openclaw/agents/main/agent/auth-profiles.json | profiles=1 (oauth=0, token=0, api_key=1) | google:default=AIzaSyBo...YYAze8dA

Missing auth

  • lmstudio openclaw configure or set an API key env var.

OAuth/token status

  • none
atomic lavaBOT
#

Супер, вижу причину ошибки:
ты менял поля lmstudio по одному, а валидатор требует целый объект сразу.

Сделай одной командой (атомарно):

openclaw config set models.providers.lmstudio '{"baseUrl":"http://26.65.98.83:1234/v1","apiKey":"lmstudio-local","api":"openai-completions","models":[{"id":"qwen/qwen3.5-9b"}]}' --strict-json

Потом:

openclaw models set lmstudio/qwen/qwen3.5-9b
openclaw gateway restart
openclaw models status
#

Если у тебя id модели в LM Studio другой — замени только qwen/qwen3.5-9b на свой id из curl .../v1/models.

Это должно убрать baseUrl/models expected ... undefined сразу.

candid oak
atomic lavaBOT
#

Отлично, уже почти.
У твоей версии OpenClaw для lmstudio.models[] нужно больше полей (не только id).

Запусти так:

openclaw config set models.providers.lmstudio '{"baseUrl":"http://192.168.0.51:1234/v1","apiKey":"lmstudio-local","api":"openai-completions","models":[{"id":"qwen/qwen3.5-9b","name":"Qwen 3.5 9B","reasoning":false,"input":["text"],"cost":{"input":0,"output":0,"cacheRead":0,"cacheWrite":0},"contextWindow":200000,"maxTokens":8192}]}' --strict-json

Потом:

openclaw models set lmstudio/qwen/qwen3.5-9b
openclaw gateway restart
openclaw models status
#

Если снова ругнётся — пришли новый текст ошибки (там уже останется 1 конкретное поле).

candid oak
#

makor@partix:~$ openclaw models set lmstudio/qwen/qwen3.5-9b
openclaw gateway restart
openclaw models status

🦞 OpenClaw 2026.4.5 (3e72c03) — The only open-source project where the mascot could eat the competition.

Config overwrite: /home/makor/.openclaw/openclaw.json (sha256 f8241b6084aea0d39fc74a60f3cd7a6a3a6af0290afe6634b6c1bc6fc15ef1a3 -> 5d68ecba8548f89f3702e3197df2a11fcf03118f3191323213da01bff8b7447d, backup=/home/makor/.openclaw/openclaw.json.bak)
Updated ~/.openclaw/openclaw.json
Default model: lmstudio/qwen/qwen3.5-9b

🦞 OpenClaw 2026.4.5 (3e72c03) — I'm not AI-powered, I'm AI-possessed. Big difference.

Restarted systemd service: openclaw-gateway.service

🦞 OpenClaw 2026.4.5 (3e72c03) — Somewhere between 'hello world' and 'oh god what have I built.'

Config : ~/.openclaw/openclaw.json
Agent dir : ~/.openclaw/agents/main/agent
Default : lmstudio/qwen/qwen3.5-9b
Fallbacks (0) : -
Image model : -
Image fallbacks (0): -
Aliases (1) : gemini -> google/gemini-3.1-pro-preview
Configured models (3): google/gemini-3.1-pro-preview, google/gemini-2.0-flash-lite, lmstudio/qwen/qwen3.5-9b

Auth overview
Auth store : ~/.openclaw/agents/main/agent/auth-profiles.json
Shell env : off
Providers w/ OAuth/tokens (0): -

  • google effective=profiles:~/.openclaw/agents/main/agent/auth-profiles.json | profiles=1 (oauth=0, token=0, api_key=1) | google:default=AIzaSyBo...YYAze8dA
  • lmstudio effective=models.json:lm...al | models.json=lm...al | source=models.json: ~/.openclaw/agents/main/agent/models.json

OAuth/token status

  • none
atomic lavaBOT
#

Отлично, это успех 🎉
По выводу всё подключилось правильно:

  • Default: lmstudio/qwen/qwen3.5-9b
  • Configured models включает lmstudio/...
  • ошибок в models status нет

Что сделать теперь

  1. Быстрая проверка доступности модели:
openclaw models status --probe
  1. Отправь тест-сообщение боту (в Dashboard/Telegram/Discord), например:
    ответь одним словом: OK

Если ответ пришёл — всё полностью работает.

#

Совет: закрепи ПК с LM Studio на постоянном LAN IP (или DHCP reservation), чтобы после перезагрузки адрес не менялся.

Если это решило проблему, отметь тред как решение ✅ (ПКМ по сообщению → Apps → Mark Solution).

candid oak
#

[qwen/qwen3.5-9b] Prompt processing progress: 19.5%
2026-04-07 22:38:08 [DEBUG]
slot update_slots: id 2 | task 2524 | n_tokens = 3584, memory_seq_rm [3584, end)
slot update_slots: id 2 | task 2524 | prompt processing progress, n_tokens = 4096, batch.n_tokens = 512, progress = 0.260411
2026-04-07 22:38:08 [INFO]
[qwen/qwen3.5-9b] Prompt processing progress: 22.8%
2026-04-07 22:38:17 [DEBUG]
slot update_slots: id 2 | task 2524 | n_tokens = 4096, memory_seq_rm [4096, end)
slot update_slots: id 2 | task 2524 | prompt processing progress, n_tokens = 4608, batch.n_tokens = 512, progress = 0.292962
2026-04-07 22:38:17 [INFO]
[qwen/qwen3.5-9b] Prompt processing progress: 26.0%
2026-04-07 22:38:18 [INFO]
[LM STUDIO SERVER] Client disconnected. Stopping generation... (If the model is busy processing the prompt, it will finish first.)
2026-04-07 22:38:18 [DEBUG]
srv stop: cancel task, id_task = 2524
2026-04-07 22:38:18 [INFO]
[qwen/qwen3.5-9b] Finished streaming response
2026-04-07 22:38:18 [DEBUG]
[LLMProcess][ServerPort] Received communication warning from the client (channelUnknown): Received channelSend for unknown channel, channelId = 8

This is usually caused by communication protocol incompatibility. Please make sure you are using the up-to-date versions of the SDK and LM Studio.

Note: This warning was produced by the client and is printed on the server for convenience.
[LLMProcess][ServerPort] Received communication warning from the client (channelUnknown): Received channelSend for unknown channel, channelId = 8

This is usually caused by communication protocol incompatibility. Please make sure you are using the up-to-date versions of the SDK and LM Studio.

Note: This warning was produced by the client and is printed on the server for convenience.
2026-04-07 22:38:26 [DEBUG]
slot release: id 2 | task 2524 | stop processing: n_tokens = 4608, truncated = 0
srv update_slots: all slots are idle

вот лог. но в опен клаве ничего не пришло

atomic lavaBOT
#

Отличный лог, он очень показательный 👌

Там видно две вещи:

  1. Client disconnected. Stopping generation...
    → OpenClaw оборвал запрос до завершения (модель слишком долго “пережёвывает” промпт).

  2. channelUnknown ... protocol incompatibility
    → есть несовместимость/баг между текущей версией LM Studio server и клиентом.

Что сделать сейчас

  1. Обнови LM Studio до последней версии и перезапусти сервер модели.
  2. В OpenClaw попробуй новый пустой чат и очень короткий prompt (ответь: OK).
  3. Проверь API LM Studio напрямую с Linux-сервера:
#
curl -s http://192.168.0.51:1234/v1/chat/completions \
-H "Content-Type: application/json" \
-d '{"model":"qwen/qwen3.5-9b","messages":[{"role":"user","content":"Say OK"}],"max_tokens":20}'

Если этот curl тоже зависает/падает — проблема на стороне LM Studio/модели, не OpenClaw.


Практический фикс для OpenClaw (уменьшить нагрузку)

Поставь меньшие лимиты модели (чтобы не закапывалась в длинный контекст):

openclaw config set models.providers.lmstudio '{"baseUrl":"http://192.168.0.51:1234/v1","apiKey":"lmstudio-local","api":"openai-completions","models":[{"id":"qwen/qwen3.5-9b","name":"Qwen 3.5 9B","reasoning":false,"input":["text"],"cost":{"input":0,"output":0,"cacheRead":0,"cacheWrite":0},"contextWindow":8192,"maxTokens":512}]}' --strict-json
openclaw gateway restart
#

Если после этого всё ещё будет обрыв — лучше переключиться на Ollama backend (он обычно стабильнее для OpenClaw).

candid oak
#

как подключить ещё одну модель

atomic lavaBOT
#

Легко 👍
Если у тебя LM Studio как провайдер, “ещё одна модель” = добавить ещё один id в models.providers.lmstudio.models.

1) Узнай id моделей в LM Studio

curl http://192.168.0.51:1234/v1/models

2) Добавь вторую модель в список OpenClaw

(пример с двумя моделями; подставь свои id)

openclaw config set models.providers.lmstudio.models '[{"id":"MODEL_ID_1","name":"Model 1","reasoning":false,"input":["text"],"cost":{"input":0,"output":0,"cacheRead":0,"cacheWrite":0},"contextWindow":8192,"maxTokens":512},{"id":"MODEL_ID_2","name":"Model 2","reasoning":false,"input":["text"],"cost":{"input":0,"output":0,"cacheRead":0,"cacheWrite":0},"contextWindow":8192,"maxTokens":512}]' --strict-json

3) Перезапусти gateway

#
openclaw gateway restart
openclaw models status

4) Переключение между ними

В чате:

/model list
/model lmstudio/MODEL_ID_2

Если хочешь, скинь 2 id из curl, и я соберу тебе готовую команду без шаблонов.

candid oak
#

2026-04-08 18:42:43 [INFO]
[qwen/qwen3.5-9b] Prompt processing progress: 47.7%
2026-04-08 18:42:48 [DEBUG]
slot update_slots: id 3 | task 16 | n_tokens = 12288, memory_seq_rm [12288, end)
2026-04-08 18:42:48 [DEBUG]
slot update_slots: id 3 | task 16 | prompt processing progress, n_tokens = 12800, batch.n_tokens = 512, progress = 0.735590
2026-04-08 18:42:48 [INFO]
[qwen/qwen3.5-9b] Prompt processing progress: 52.4%
2026-04-08 18:42:50 [INFO]
[LM STUDIO SERVER] Client disconnected. Stopping generation... (If the model is busy processing the prompt, it will finish first.)
2026-04-08 18:42:50 [DEBUG]
srv stop: cancel task, id_task = 16
2026-04-08 18:42:50 [INFO]
[qwen/qwen3.5-9b] Prompt processing progress: 52.4%
2026-04-08 18:42:50 [INFO]
[qwen/qwen3.5-9b] Finished streaming response
2026-04-08 18:42:53 [DEBUG]
slot release: id 3 | task 16 | stop processing: n_tokens = 12800, truncated = 0
srv update_slots: all slots are idle

почему отключило как починить

candid oak
#

ты тут?

atomic lavaBOT
#

Да, тут 🦐 Скинь openclaw --version и кусок лога/ошибки с таймаутом, посмотрю.

candid oak
#

как командой узнаит место положения опенклав лога

atomic lavaBOT
#

Да. Если нужен именно путь к файлу лога, то так:

openclaw config get logging.file

Если там пусто, значит используется дефолтный путь:

/tmp/openclaw/openclaw-YYYY-MM-DD.log

Последний актуальный лог можно вывести так:

ls -t /tmp/openclaw/openclaw-*.log | head -1
candid oak
#

я тебе щас скину 2 сообщение с терминала ты на первое не отвечай и патом расскажи в чем беда

atomic lavaBOT
#

Ок, жду оба. На первое не отвечаю, разберу после второго.

candid oak
#

makor@partix:~$ openclaw config set models.providers.lmstudio.baseUrl "http://192.168.0.51:1234/v1"
openclaw config set models.providers.lmstudio.api "openai-completions"
openclaw config set models.providers.lmstudio.apiKey "lmstudio-local"
openclaw config set models.providers.lmstudio.models '[{"id":"gemma-4-e4b-it"}]' --strict-json
openclaw config set agents.defaults.model.primary "lmstudio/gemma-4-e4b-it"
openclaw gateway restart
openclaw models status

🦞 OpenClaw 2026.4.8 (9ece252) — Give me a workspace and I'll give you fewer tabs, fewer toggles, and more oxygen.

Config overwrite: /home/makor/.openclaw/openclaw.json (sha256 13b5c73732f19e385816bff2d8b64e3d95e5f0bca2fc34c2a99e5bd31c703825 -> 2e0495cd2f7ed1a124acccd017e7b8d890819d1607a43c040394f041656c87c5, backup=/home/makor/.openclaw/openclaw.json.bak)
Updated models.providers.lmstudio.baseUrl. Restart the gateway to apply.

🦞 OpenClaw 2026.4.8 (9ece252) — Claws out, commit in—let's ship something mildly responsible.

Config overwrite: /home/makor/.openclaw/openclaw.json (sha256 2e0495cd2f7ed1a124acccd017e7b8d890819d1607a43c040394f041656c87c5 -> ec74ef44b1db0bbacb4a452cf30f280e9868310b6602671d3ecf632262c1913a, backup=/home/makor/.openclaw/openclaw.json.bak)
Updated models.providers.lmstudio.api. Restart the gateway to apply.
^[[A
🦞 OpenClaw 2026.4.8 (9ece252) — No $999 stand required.

#

🦞 OpenClaw 2026.4.8 (9ece252) — Say "stop" and I'll stop—say "ship" and we'll both learn a lesson.

Error: Config validation failed: models.providers.lmstudio.models.0.name: Invalid input: expected string, received undefined

🦞 OpenClaw 2026.4.8 (9ece252) — Half butler, half debugger, full crustacean.

Config overwrite: /home/makor/.openclaw/openclaw.json (sha256 4bcd4a57876cc2ca615e401149dca149c9e921609c0f282b0a341439c1b3d52c -> 329430efc4488a7401090e4d6cddb014cd0a7fbd65b6fcb5bc07e3ab0ae98033, backup=/home/makor/.openclaw/openclaw.json.bak)
Updated agents.defaults.model.primary. Restart the gateway to apply.

🦞 OpenClaw 2026.4.8 (9ece252) — I'll refactor your busywork like it owes me money.

Restarted systemd service: openclaw-gateway.service

🦞 OpenClaw 2026.4.8 (9ece252) — I'm the assistant your terminal demanded, not the one your sleep schedule requested.

Config : ~/.openclaw/openclaw.json
Agent dir : ~/.openclaw/agents/main/agent
Default : lmstudio/gemma-4-e4b-it
Fallbacks (0) : -
Image model : -
Image fallbacks (0): -
Aliases (1) : gemini -> google/gemini-3.1-pro-preview
Configured models (4): google/gemini-3.1-pro-preview, google/gemini-2.0-flash-lite, lmstudio/qwen/qwen3.5-9b, lmstudio/google/gemma-3n-e4b

Auth overview
Auth store : ~/.openclaw/agents/main/agent/auth-profiles.json
Shell env : off
Providers w/ OAuth/tokens (0): -

  • google effective=profiles:~/.openclaw/agents/main/agent/auth-profiles.json | profiles=1 (oauth=0, token=0, api_key=1) | google:default=AIzaSyBo...YYAze8dA
  • lmstudio effective=models.json:lm...al | models.json=lm...al | source=models.json: ~/.openclaw/agents/main/agent/models.json

OAuth/token status

  • none
    makor@partix:~$
atomic lavaBOT
#

Да, вижу беду.

Проблема вот тут:

openclaw config set models.providers.lmstudio.models '[{"id":"gemma-4-e4b-it"}]' --strict-json

Для models.providers.<provider>.models[] нужен не только id, но и name, поэтому и ошибка:

models.providers.lmstudio.models.0.name: Invalid input: expected string, received undefined

Из-за этого список моделей не обновился.
А потом ты всё равно поставил:

#
agents.defaults.model.primary = "lmstudio/gemma-4-e4b-it"

Но в openclaw models status видно, что у тебя сейчас реально есть только:

  • lmstudio/qwen/qwen3.5-9b
  • lmstudio/google/gemma-3n-e4b

То есть default сейчас указывает на модель, которой OpenClaw у себя не видит. Вот это и ломает работу, дальше уже легко словить timeout/health check fail.

Попробуй так:

openclaw config set models.providers.lmstudio.models '[{"id":"gemma-4-e4b-it","name":"Gemma 4 E4B IT"}]' --strict-json
openclaw gateway restart
#
openclaw models status

Но важный момент, id должен совпадать ровно с тем, что отдает LM Studio.
Сначала лучше проверить:

curl http://192.168.0.51:1234/v1/models

Если там модель называется, например, google/gemma-3n-e4b, тогда надо ставить именно её:

openclaw config set agents.defaults.model.primary "lmstudio/google/gemma-3n-e4b"
#

Если хочешь, скинь вывод curl .../v1/models, и я скажу точную команду без гадания.

candid oak
#

makor@partix:~$ openclaw config set models.providers.lmstudio.models '[{"id":"gemma-4-e4b-it","name":"Gemma 4 E4B IT"}]' --strict-json
openclaw gateway restart

🦞 OpenClaw 2026.4.8 (9ece252) — Gateway online—please keep hands, feet, and appendages inside the shell at all times.

Config overwrite: /home/makor/.openclaw/openclaw.json (sha256 329430efc4488a7401090e4d6cddb014cd0a7fbd65b6fcb5bc07e3ab0ae98033 -> 5a5fc3f8a5ef151e60b8594dd106f2d52cfeb1586813167e30e3109b32d28540, backup=/home/makor/.openclaw/openclaw.json.bak)
Updated models.providers.lmstudio.models. Restart the gateway to apply.

🦞 OpenClaw 2026.4.8 (9ece252) — I've read more man pages than any human should—so you don't have to.

Restarted systemd service: openclaw-gateway.service
makor@partix:~$ openclaw models status

🦞 OpenClaw 2026.4.8 (9ece252) — Making 'I'll automate that later' happen now.

Config : ~/.openclaw/openclaw.json
Agent dir : ~/.openclaw/agents/main/agent
Default : lmstudio/gemma-4-e4b-it
Fallbacks (0) : -
Image model : -
Image fallbacks (0): -
Aliases (1) : gemini -> google/gemini-3.1-pro-preview
Configured models (4): google/gemini-3.1-pro-preview, google/gemini-2.0-flash-lite, lmstudio/qwen/qwen3.5-9b, lmstudio/google/gemma-3n-e4b

Auth overview
Auth store : ~/.openclaw/agents/main/agent/auth-profiles.json
Shell env : off
Providers w/ OAuth/tokens (0): -

  • google effective=profiles:~/.openclaw/agents/main/agent/auth-profiles.json | profiles=1 (oauth=0, token=0, api_key=1) | google:default=AIzaSyBo...YYAze8dA
  • lmstudio effective=models.json:lm...al | models.json=lm...al | source=models.json: ~/.openclaw/agents/main/agent/models.json

OAuth/token status

  • none
atomic lavaBOT
#

Окей, первую ошибку ты уже починил. Теперь видно вторую.

Сейчас проблема не в name, а в том, что OpenClaw всё еще берет LM Studio из:

source=models.json: ~/.openclaw/agents/main/agent/models.json

И там по факту до сих пор лежат старые модели:

  • lmstudio/qwen/qwen3.5-9b
  • lmstudio/google/gemma-3n-e4b

То есть новый gemma-4-e4b-it в активный реестр пока не попал.

Сделай так:

#
openclaw config get models.providers.lmstudio.models
openclaw models list --provider lmstudio
openclaw models status

Если после models list всё равно нет lmstudio/gemma-4-e4b-it, значит проблема уже не в OpenClaw config, а в том, что LM Studio сам не отдает такой id.

Тогда проверь, что реально отдает LM Studio:

curl http://192.168.0.51:1234/v1/models

И важное правило:
agents.defaults.model.primary надо ставить ровно в тот id, который вернул /v1/models.

#

Судя по тому, что я вижу сейчас, у тебя более вероятный рабочий id это:

lmstudio/google/gemma-3n-e4b

а не lmstudio/gemma-4-e4b-it.

Скинь вывод openclaw models list --provider lmstudio или curl .../v1/models, и я скажу точную следующую команду.
Документация: https://docs.openclaw.ai/concepts/models https://docs.openclaw.ai/concepts/model-providers

candid oak
#

хм а давай просто все локалные модели уберем и gemma-4-e4b-it оставим или заново запихнём

atomic lavaBOT
#

Да, так можно, и я бы делал именно без ручного удаления файлов, а просто переопределил lmstudio одной моделью.

Но важная оговорка, оставить надо не gemma-4-e4b-it “как хочется”, а тот exact id, который отдает LM Studio.

Я бы сделал так:

curl http://192.168.0.51:1234/v1/models

Потом взять exact id из ответа и подставить сюда:

openclaw config set models.providers.lmstudio.models '[{"id":"<EXACT_ID>","name":"Gemma 4"}]' --strict-json
openclaw config set agents.defaults.model.primary "lmstudio/<EXACT_ID>"
openclaw models list --provider lmstudio
#
openclaw gateway restart
openclaw models status

Если LM Studio реально отдает:

gemma-4-e4b-it

то подставляешь его.

Если он отдает, например:

#
google/gemma-3n-e4b

то надо ставить именно его, иначе опять будет битая ссылка на несуществующую модель.

Короче, да, перезапихнуть одну локальную модель можно, но сначала нужен exact id из /v1/models.
Скинь этот вывод, и я тебе соберу уже готовую команду без плейсхолдеров.

candid oak
#

makor@partix:~$ curl http://192.168.0.51:1234/v1/models
{
"data": [
{
"id": "gemma-4-e4b-it",
"object": "model",
"owned_by": "organization_owner"
},
{
"id": "google/gemma-3n-e4b",
"object": "model",
"owned_by": "organization_owner"
},
{
"id": "qwen/qwen3.5-9b",
"object": "model",
"owned_by": "organization_owner"
},
{
"id": "text-embedding-nomic-embed-text-v1.5",
"object": "model",
"owned_by": "organization_owner"
}
],
"object": "list"
}makor@partix:~$

atomic lavaBOT
#

Отлично, теперь есть exact id. Значит да, можно оставить только его.

Запусти вот это:

openclaw config set models.providers.lmstudio.models '[{"id":"gemma-4-e4b-it","name":"Gemma 4 E4B IT"}]' --strict-json
openclaw config set agents.defaults.model.primary "lmstudio/gemma-4-e4b-it"
openclaw models list --provider lmstudio
openclaw gateway restart
openclaw models status

Что хочу увидеть после этого:

  • Default: lmstudio/gemma-4-e4b-it
  • и модель lmstudio/gemma-4-e4b-it должна нормально светиться в списке
#

Если после этого models status все еще будет показывать старые qwen/... и google/gemma-3n-e4b, значит у тебя залип ~/.openclaw/agents/main/agent/models.json, и тогда уже отдельно добьем именно его.

Если хочешь, после команды просто скинь новый openclaw models status, и я скажу, чисто ли стало.

candid oak
#

makor@partix:~$openclaw config set models.providers.lmstudio.models '[{"id":"gemma-4-e4b-it","name":"Gemma 4 E4B IT"}]' --strict-jsonn
openclaw config set agents.defaults.model.primary "lmstudio/gemma-4-e4b-it"
openclaw models list --provider lmstudio
openclaw gateway restart
openclaw models status

🦞 OpenClaw 2026.4.8 (9ece252) — Your .env is showing; don't worry, I'll pretend I didn't see it.

Config overwrite: /home/makor/.openclaw/openclaw.json (sha256 5a5fc3f8a5ef151e60b8594dd106f2d52cfeb1586813167e30e3109b32d28540 -> e9d301515a159b499bb4b788bc29b34693d0ef49e0fac25a47f30865d10da9a7, backup=/home/makor/.openclaw/openclaw.json.bak)
Updated models.providers.lmstudio.models. Restart the gateway to apply.

🦞 OpenClaw 2026.4.8 (9ece252) — Hot reload for config, cold sweat for deploys.

Config overwrite: /home/makor/.openclaw/openclaw.json (sha256 e9d301515a159b499bb4b788bc29b34693d0ef49e0fac25a47f30865d10da9a7 -> 85c0160e257ac880c3ad5047827248456f91947474a780e8edf31c099d3be15a, backup=/home/makor/.openclaw/openclaw.json.bak)
Updated agents.defaults.model.primary. Restart the gateway to apply.

🦞 OpenClaw 2026.4.8 (9ece252) — I autocomplete your thoughts—just slower and with more API calls.

Model Input Ctx Local Auth Tags
lmstudio/gemma-4-e4b-it text 195k no yes default
lmstudio/qwen/qwen3.5-9b text 195k no yes configured
lmstudio/google/gemma-3n-e4b text 195k no yes configured

🦞 OpenClaw 2026.4.8 (9ece252) — Finally, a use for that always-on Mac Mini under your desk.

Restarted systemd service: openclaw-gateway.service

🦞 OpenClaw 2026.4.8 (9ece252) — Welcome to the command line: where dreams compile and confidence segfaults.

Config : ~/.openclaw/openclaw.json
Agent dir : ~/.openclaw/agents/main/agent
Default : lmstudio/gemma-4-e4b-it
Fallbacks (0) : -
Image model : -
Image fallbacks (0): -
Aliases (1) : gemini -> google/gemini-3.1-pro-preview
Configured models (4): google/gemini-3.1-pro-preview, google/gemini-2.0-flash-lite, lmstudio/qwen/qwen3.5-9b, lmstudio/google/gemma-3n-e4b

Auth overview
Auth store : ~/.openclaw/agents/main/agent/auth-profiles.json
Shell env : off
Providers w/ OAuth/tokens (0): -

  • google effective=profiles:~/.openclaw/agents/main/agent/auth-profiles.json | profiles=1 (oauth=0, token=0, api_key=1) | google:default=AIzaSyBo...YYAze8dA
  • lmstudio effective=models.json:lm...al | models.json=lm...al | source=models.json: ~/.openclaw/agents/main/agent/models.json

OAuth/token status

  • none
    makor@partix:~$
atomic lavaBOT
#

Ага, теперь картина понятная. Сейчас уже модель подключена нормально.

Ключевая строка вот эта:

lmstudio/gemma-4-e4b-it ... default

То есть openclaw models list --provider lmstudio уже видит gemma-4-e4b-it и делает её default. Это главное.

И да, openclaw models status тут немного сбивает с толку:
Configured models (4) в этом выводе не означает полный живой каталог lmstudio.
Так что то, что там не видно gemma-4-e4b-it, само по себе уже не баг.

Итого:

  • gemma-4-e4b-it есть
  • default на неё стоит
#
  • конфиг больше не битый

Если health check все еще timeout, то следующая вероятная проблема уже не в конфиге, а в том, что локальная модель/LM Studio тупит на реальном агентном запросе.

Проверь точечно так:

openclaw infer model run --model lmstudio/gemma-4-e4b-it --prompt "say ok" --json
openclaw logs --follow

Если infer model run зависает, падает или идет очень долго, значит timeout уже на стороне локальной модели/backend, а не OpenClaw config.

Если хочешь, скидывай вывод openclaw infer model run ..., и я добью диагностику до конца.
Док: https://docs.openclaw.ai/gateway/troubleshooting

candid oak
#

makor@partix:~$ openclaw infer model run --model lmstudio/gemma-4-e4b-it --prompt "say ok" --json
openclaw logs --follow
16:34:03+00:00 [agent] embedded run failover decision: runId=2ebcf700-4f59-45e2-a80a-37b43e658dff stage=assistant decision=surface_error reason=model_not_found provider=google/gemma-3n-e4b profile=-
[agent] run 2ebcf700-4f59-45e2-a80a-37b43e658dff ended with stopReason=error
{
"ok": true,
"capability": "model.run",
"transport": "local",
"provider": "google",
"model": "gemma-3n-e4b",
"attempts": [],
"outputs": [
{
"text": "LLM error: {\n "error": {\n "code": 404,\n "message": "models/gemma-3n-e4b is not found for API version v1beta, or is not supported for generateContent. Call ListModels to see the list of available models and their supported methods.",\n "status": "NOT_FOUND"\n }\n}",
"mediaUrl": null
}
]
}

🦞 OpenClaw 2026.4.8 (9ece252) — I'll refactor your busywork like it owes me money.

gateway connect failed: GatewayClientRequestError: pairing required
Gateway pairing required; reading local log file instead.
Log file: /tmp/openclaw/openclaw-2026-04-09.log
16:33:38+00:00 warn gateway/ws {"subsystem":"gateway/ws"} {"cause":"pairing-required","handshake":"failed","durationMs":135,"lastFrameType":"req","lastFrameMethod":"connect","lastFrameId":"f7f96a4d-6c3c-401a-9439-ac798b68b3e9","host":"127.0.0.1:18789","deviceId":"df6f495788a2fb67008ce71f57aaae9e7918c9c791b307fec3213d409fffc572","requestId":"9179da80-1a40-4e6e-a2d9-6a7cbe1fea7e","reason":"scope-upgrade"} closed before connect conn=87b6fc3f-b7f1-49d3-bf90-33ce054fb48a remote=127.0.0.1 fwd=n/a origin=n/a host=127.0.0.1:18789 ua=n/a code=1008 reason=pairing required
16:33:39+00:00 warn gateway {"subsystem":"gateway"} security audit: device access upgrade requested reason=scope-upgrade device=df6f495788a2fb67008ce71f57aaae9e7918c9c791b307fec3213d409fffc572 ip=unknown-ip auth=token roleFrom=operator roleTo=operator scopesFrom=operator.read scopesTo=operator.approvals client=gateway-client conn=c6eb2b3e-a47b-491b-9892-0e7efcef70a2
16:33:39+00:00 error telegram/native-approvals {"subsystem":"telegram/native-approvals"} connect error: pairing required
16:33:39+00:00 error gateway connect failed: GatewayClientRequestError: pairing required
16:33:39+00:00 error gateway connect failed: GatewayClientRequestError: pairing required
16:33:39+00:00 error gateway/channels/telegram {"subsystem":"gateway/channels/telegram"} failed to start native approval handler: GatewayClientRequestError: pairing required
16:33:39+00:00 warn gateway/ws {"subsystem":"gateway/ws"} {"cause":"pairing-required","handshake":"failed","durationMs":347,"lastFrameType":"req","lastFrameMethod":"connect","lastFrameId":"ccfe3d4a-0192-4322-973a-fd01829f703d","host":"127.0.0.1:18789","deviceId":"df6f495788a2fb67008ce71f57aaae9e7918c9c791b307fec3213d409fffc572","requestId":"9179da80-1a40-4e6e-a2d9-6a7cbe1fea7e","reason":"scope-upgrade"} closed before connect conn=c6eb2b3e-a47b-491b-9892-0e7efcef70a2 remote=127.0.0.1 fwd=n/a origin=n/a host=127.0.0.1:18789 ua=n/a code=1008 reason=pairing required
16:33:40+00:00 warn gateway {"subsystem":"gateway"} security audit: device access upgrade requested reason=scope-upgrade device=df6f495788a2fb67008ce71f57aaae9e7918c9c791b307fec3213d409fffc572 ip=unknown-ip auth=token roleFrom=operator roleTo=operator scopesFrom=operator.read scopesTo=operator.approvals client=gateway-client conn=6e195579-8287-4cbb-95b6-fe04021ecb58

atomic lavaBOT
#

Ага, вот теперь корень проблемы поймали.

Проблема уже не в LM Studio, а в agents.defaults.models allowlist.

Почему я так думаю:

  • openclaw models list --provider lmstudio видит lmstudio/gemma-4-e4b-it
  • но infer model run уходит мимо него и сваливается в старую фигню
  • Configured models (4) у тебя как раз показывает старый allowlist, где gemma-4-e4b-it нет

То есть каталог модель видит, а рантайм для агентного запуска ее нормально не берет из-за allowlist.

Самый быстрый фикс сейчас, я бы сделал так:

openclaw config unset agents.defaults.models
openclaw gateway restart
#
openclaw infer model run --model lmstudio/gemma-4-e4b-it --prompt "say ok" --json

Это уберет allowlist целиком и перестанет заставлять OpenClaw жить со старыми qwen/... и google/gemma-3n-e4b.

Если после этого infer ответит нормально, значит всё, виноват был именно allowlist.
Потом уже, если захочешь, можно вернуть allowlist аккуратно и оставить там только нужные модели.

И да, вот это:

pairing required ... scope-upgrade

это отдельная история, не причина этой модельной поломки.

candid oak
#

makor@partix:~$ openclaw config unset agents.defaults.models
openclaw gateway restart

🦞 OpenClaw 2026.4.8 (9ece252) — Hot reload for config, cold sweat for deploys.

Config overwrite: /home/makor/.openclaw/openclaw.json (sha256 85c0160e257ac880c3ad5047827248456f91947474a780e8edf31c099d3be15a -> 749b395fe3c2505527dac6ee543a9229f87e06c8ecd2bf334a31dcee276d07e9, backup=/home/makor/.openclaw/openclaw.json.bak)
Removed agents.defaults.models. Restart the gateway to apply.

🦞 OpenClaw 2026.4.8 (9ece252) — Ah, the fruit tree company! 🍎

Restarted systemd service: openclaw-gateway.service
makor@partix:~$ openclaw infer model run --model lmstudio/gemma-4-e4b-it --prompt "say ok" --json
16:47:08+00:00 [agent] embedded run failover decision: runId=2ebcf700-4f59-45e2-a80a-37b43e658dff stage=assistant decision=surface_error reason=model_not_found provider=google/gemma-3n-e4b profile=-
[agent] run 2ebcf700-4f59-45e2-a80a-37b43e658dff ended with stopReason=error
{
"ok": true,
"capability": "model.run",
"transport": "local",
"provider": "google",
"model": "gemma-3n-e4b",
"attempts": [],
"outputs": [
{
"text": "LLM error: {\n "error": {\n "code": 404,\n "message": "models/gemma-3n-e4b is not found for API version v1beta, or is not supported for generateContent. Call ListModels to see the list of available models and their supported methods.",\n "status": "NOT_FOUND"\n }\n}",
"mediaUrl": null
}
]
}
makor@partix:~$

atomic lavaBOT
#

О, вот теперь реально понятно, что происходит.

Ключевая улика, у тебя один и тот же runId:

2ebcf700-4f59-45e2-a80a-37b43e658dff

Это значит, что CLI гоняет ту же самую сессию, и в ней, похоже, залип старый session model override на google/gemma-3n-e4b.

То есть:

  • конфиг мы уже поправили,
  • allowlist убрали,
  • но сама сессия не сбросилась и продолжает тащить старую модель.

Попробуй так:

#
openclaw agent --agent main --message "/new"
openclaw infer model run --model lmstudio/gemma-4-e4b-it --prompt "say ok" --json

Если я прав, после /new:

  • runId должен стать другим
  • и infer уже должен реально пойти в lmstudio/gemma-4-e4b-it, а не в google/gemma-3n-e4b

Если вдруг /new не поможет, тогда добьем уже сам session store, но я почти уверен, что сейчас залип именно session override.

Документация:
https://docs.openclaw.ai/concepts/session
https://docs.openclaw.ai/tools/slash-commands

candid oak
#

а если я ноут перезагружу сесия сбросится??

atomic lavaBOT
#

Обычно нет.

Перезагрузка ноута не сбрасывает session store сама по себе.
Сессии лежат на диске, обычно в:

~/.openclaw/agents/<agentId>/sessions/sessions.json

Так что после ребута OpenClaw обычно подхватит ту же сессию снова.

Для мгновенного сброса лучше:

openclaw agent --agent main --message "/new"
#

или

openclaw agent --agent main --message "/reset"

Ребут может помочь с какими-то подвисонами gateway/pairing, но не как способ надежно сбросить именно сессию.

Док: https://docs.openclaw.ai/concepts/session

candid oak
#

makor@partix:~$ openclaw infer model run --model lmstudio/gemma-4-e4b-it --prompt "say ok" --json
16:47:08+00:00 [agent] embedded run failover decision: runId=2ebcf700-4f59-45e2-a80a-37b43e658dff stage=assistant decision=surface_error reason=model_not_found provider=google/gemma-3n-e4b profile=-
[agent] run 2ebcf700-4f59-45e2-a80a-37b43e658dff ended with stopReason=error
{
"ok": true,
"capability": "model.run",
"transport": "local",
"provider": "google",
"model": "gemma-3n-e4b",
"attempts": [],
"outputs": [
{
"text": "LLM error: {\n "error": {\n "code": 404,\n "message": "models/gemma-3n-e4b is not found for API version v1beta, or is not supported for generateContent. Call ListModels to see the list of available models and their supported methods.",\n "status": "NOT_FOUND"\n }\n}",
"mediaUrl": null
}
]
}
makor@partix:~$ openclaw agent --agent main --message "/new"
openclaw infer model run --model lmstudio/gemma-4-e4b-it --prompt "say ok" --json

🦞 OpenClaw 2026.4.8 (9ece252) — Your terminal just grew claws—type something and let the bot pinch the busywork.


gateway connect failed: GatewayClientRequestError: pairing required

Gateway agent failed; falling back to embedded: Error: gateway closed (1008): pairing required
Gateway target: ws://127.0.0.1:18789
Source: local loopback
Config: /home/makor/.openclaw/openclaw.json
Bind: loopback
HEARTBEAT_OK

{
"ok": true,
"capability": "model.run",
"transport": "local",
"provider": "lmstudio",
"model": "gemma-4-e4b-it",
"attempts": [],
"outputs": [
{
"text": "ok",
"mediaUrl": null
}
]
}
makor@partix:~$

atomic lavaBOT
#

Да, вот оно 🎯

Значит проблема была именно в залипшей сессии / model override.

Сейчас у тебя уже есть нормальный результат:

provider: lmstudio
model: gemma-4-e4b-it
text: ok

То есть:

  • lmstudio/gemma-4-e4b-it работает
  • конфиг LM Studio живой
  • /new реально сбросил залипшую сессию
  • причина старого бага была не в самой модели, а в session state
#

Остался отдельный хвост:

gateway connect failed: pairing required

Это уже другая проблема, отдельно от модели.
CLI к локальному gateway хочет scope-upgrade и поэтому падает обратно в embedded mode.

Если хочешь это тоже починить, следующий шаг такой:

openclaw devices list

И потом approve для pending requestId.

#

Но для самой LM Studio модели, похоже, мы баг уже добили.
Если после этого health check тоже ожил, то супер.

Если это пофикcило проблему, можешь отметить решение 🎉
right-click the solution message → Apps → ✅ Mark Solution

Док:
https://docs.openclaw.ai/concepts/session
https://docs.openclaw.ai/channels/pairing

candid oak
#

makor@partix:~$ openclaw devices list

🦞 OpenClaw 2026.4.8 (9ece252) — Type the command with confidence—nature will provide the stack trace if needed.


gateway connect failed: GatewayClientRequestError: pairing required

Direct scope access failed; using local fallback.
Pending (1)
┌──────────────────────────────────────┬────────────────┬──────────┬──────────────────────────────────────────────────────────────────────────────┬────────────┬──────────┬────────┐│ Request │ Device │ Role │ Scopes │ IP │ Age │ Flags │├──────────────────────────────────────┼────────────────┼──────────┼──────────────────────────────────────────────────────────────────────────────┼────────────┼──────────┼────────┤│ caf18b64-c61d-4f51-aa6b-3cf9c1b43ed8 │ Telegram │ operator │ operator.approvals, operator.admin, operator.read, operator.write, operator. │ │ just now │ repair ││ │ Native │ │ pairing, operator.talk.secrets │ │ │ ││ │ Approvals │ │ │ │ │ ││ │ (default) │ │ │ │ │ │└──────────────────────────────────────┴────────────────┴──────────┴──────────────────────────────────────────────────────────────────────────────┴────────────┴──────────┴────────┘Paired (3)
┌────────────────────────────────────────────────────────────┬────────────┬──────────────────────────────────────────────────────────────────────────────┬────────────┬────────────┐│ Device │ Roles │ Scopes │ Tokens │ IP │├────────────────────────────────────────────────────────────┼────────────┼──────────────────────────────────────────────────────────────────────────────┼────────────┼────────────┤│ fddfcd2f383be84bdb31dba65b0e1b65c0689eee6001e9ef0487f502e9 │ operator │ operator.admin, operator.read, operator.write, operator.approvals, operator. │ operator │ ││ 0cc559 │ │ pairing │ │ ││ 6fbcafdd337357a6ec2e25fa3c73decdf9b78fbb68aff74dfd9c51a06d │ operator │ operator.admin, operator.read, operator.write, operator.approvals, operator. │ operator │ ││ f98d87 │ │ pairing │ │ ││ df6f495788a2fb67008ce71f57aaae9e7918c9c791b307fec3213d409f │ operator │ operator.read │ operator │ ││ ffc572 │ │ │ │ │└────────────────────────────────────────────────────────────┴────────────┴──────────────────────────────────────────────────────────────────────────────┴────────────┴────────────┘makor@partix:~$

atomic lavaBOT
#

Да, это оно.

У тебя висит ровно тот pending repair request, который и нужен для scope-upgrade:

caf18b64-c61d-4f51-aa6b-3cf9c1b43ed8
Telegram Native Approvals (default)
Flags: repair

То есть старое устройство df6f... сейчас имеет только operator.read, а pending-запрос просит нормальный набор scopes.

Можешь просто одобрить так:

openclaw devices approve caf18b64-c61d-4f51-aa6b-3cf9c1b43ed8
#

или короче, раз pending один:

openclaw devices approve --latest

Потом сразу проверь чем-нибудь вроде:

openclaw status

или повтори ту команду, где раньше было pairing required.

Это уже не про модель, а про доступ CLI к локальному gateway.
Док: https://docs.openclaw.ai/cli/devices https://docs.openclaw.ai/channels/pairing

candid oak
#

крч давай команды я букду их выполнсять

atomic lavaBOT
#

Выполняй по порядку:

openclaw devices approve --latest
openclaw status
openclaw agent --agent main --message "/new"
openclaw infer model run --model lmstudio/gemma-4-e4b-it --prompt "say ok" --json
openclaw gateway status
openclaw health --verbose

Если какая-то команда падает, останавливайся и кидай вывод именно с неё.

candid oak
#

makor@partix:~$ openclaw devices approve --latest

🦞 OpenClaw 2026.4.8 (9ece252) — Your second brain, except this one actually remembers where you left things.


gateway connect failed: GatewayClientRequestError: pairing required

Direct scope access failed; using local fallback.

gateway connect failed: GatewayClientRequestError: pairing required

Direct scope access failed; using local fallback.
Approved df6f495788a2fb67008ce71f57aaae9e7918c9c791b307fec3213d409fffc572 (0804e2dd-cb1c-4bb6-9b10-a4e563dd654c)
makor@partix:~$

atomic lavaBOT
#

Отлично, approve прошёл. Дальше:

openclaw status
openclaw agent --agent main --message "/new"
openclaw infer model run --model lmstudio/gemma-4-e4b-it --prompt "say ok" --json
openclaw gateway status
openclaw health --verbose

Кинь вывод следующим сообщением.

candid oak
#

makor@partix:~$ openclaw status

🦞 OpenClaw 2026.4.8 (9ece252) — Your terminal just grew claws—type something and let the bot pinch the busywork.

OpenClaw status

Overview
Item │ Value
OS │ linux 6.8.0-107-generic (x64) · node 22.22.2
Tailscale │ off
Channel │ stable (default)
Update │ available · pnpm · npm update 2026.4.9
Gateway │ local · ws://127.0.0.1:18789 (local loopback) · reachable 195ms · auth token · partix (192.168.0.29) app 2026.4.8 linux 6.8.0-107-generic
Gateway self │ partix (192.168.0.29) app 2026.4.8 linux 6.8.0-107-generic
Gateway service │ systemd installed · enabled · running (pid 3477, state active)
Node service │ systemd not installed
Agents │ 1 · 1 bootstrap file present · sessions 2 · default main active 6m ago
Memory │ 0 files · 0 chunks · dirty · sources memory · plugin memory-core · vector ready · fts ready · cache on (0)
Plugin compatibility │ none
Tasks │ none
Heartbeat │ 30m (main)
Sessions │ 2 active · default gemma-4-e4b-it (200k ctx) · ~/.openclaw/agents/main/sessions/sessions.json

Security audit
Summary: 2 critical · 3 warn · 1 info
CRITICAL Small models require sandboxing and web tools disabled
Small models (<=300B params) detected: - lmstudio/gemma-4-e4b-it (4B) @ agents.defaults.model.primary (unsafe; sandbox=off; web=[web_fetch]) Uncontrolled input…
Fix: If you must use small models, enable sandboxing for all sessions (agents.defaults.sandbox.mode="all") and disable web_search/web_fetch/browser (tools.deny=["group:web","browser"]).
CRITICAL Telegram group commands have no sender allowlist
Telegram group access is enabled but no sender allowlist is configured; this allows any group member to invoke /… commands (including skill commands).
Fix: Approve yourself via pairing (recommended), or set channels.telegram.groupAllowFrom (or per-group groups.<id>.allowFrom).
WARN Reverse proxy headers are not trusted
gateway.bind is loopback and gateway.trustedProxies is empty. If you expose the Control UI through a reverse proxy, configure trusted proxies so local-client c…
Fix: Set gateway.trustedProxies to your proxy IPs or keep the Control UI local-only.
WARN Some gateway.nodes.denyCommands entries are ineffective
gateway.nodes.denyCommands uses exact node command-name matching only (for example system.run), not shell-text filtering inside a command payload. - Unknown …
Fix: Use exact command names (for example: canvas.present, canvas.hide, canvas.navigate, canvas.eval, canvas.snapshot, canvas.a2ui.push, canvas.a2ui.pushJSONL, canvas.a2ui.reset). If you need broader restrictions, remove risky command IDs from allowCommands/default workflows and tighten tools.exec policy.
WARN Potential multi-user setup detected (personal-assistant model warning)
Heuristic signals indicate this gateway may be reachable by multiple users: - channels.telegram.groupPolicy="allowlist" with configured group targets Runtime/p…
Fix: If users may be mutually untrusted, split trust boundaries (separate gateways + credentials, ideally separate OS users/hosts). If you intentionally run shared-user access, set agents.defaults.sandbox.mode="all", keep tools.fs.workspaceOnly=true, deny runtime/fs/web tools unless required, and keep personal/private identities + credentials off that runtime.
Full report: openclaw security audit
Deep probe: openclaw security audit --deep

Channels
Channel │ Enabled │ State │ Detail
Telegram │ OK │ token config (8354…7_zw · len 46) · accounts 1/1

Sessions
Key │ Kind │ Age │ Model │ Tokens
agent:main:main │ direct │ 6m ago │ gemma-4-e4b-it │ unknown/200k (?%) │
agent:main:telegram:direct:5974… │ direct │ 2h ago │ google/gemma-3n-e4b │ unknown/200k (?%)

Update available (npm 2026.4.9). Run: openclaw update
Next steps:
Need to share? openclaw status --all
Need to debug live? openclaw logs --follow
Need to test channels? openclaw status --deep
makor@partix:~$

atomic lavaBOT
#

Статус уже сильно лучше.

Главное:

  • gateway reachable
  • основной session agent:main:main уже на gemma-4-e4b-it
  • но telegram session всё ещё сидит на старом:
    agent:main:telegram:direct:5974… -> google/gemma-3n-e4b
    

То есть сейчас залип не main session, а именно Telegram DM session.

Сделай так:

  1. В Telegram чате с ботом отправь:
#
/new
  1. Потом в терминале выполни:
openclaw infer model run --model lmstudio/gemma-4-e4b-it --prompt "say ok" --json
openclaw gateway status
openclaw health --verbose
openclaw status

И потом скинь вывод.

Security audit warnings пока не трогаем, это не текущий блокер.

candid oak
#

[09.04.2026 20:44] Makor_: text
[09.04.2026 20:44] Makor_: /new
[09.04.2026 20:45] чаппи: The number of tokens to keep from the initial prompt is greater than the context length (n_keep: 18709>= n_ctx: 4096). Try to load the model with a larger context length, or provide a shorter input.
[09.04.2026 20:46] чаппи: Request timed out before a response was generated. Please try again, or increase agents.defaults.timeoutSeconds in your config.

чаппи это бот

makor@partix:~$ openclaw infer model run --model lmstudio/gemma-4-e4b-it --prompt "say ok" --json
openclaw gateway status
openclaw health --verbose
openclaw status

14:16:11+00:00 [agent] embedded run failover decision: runId=033e86b0-0ff1-428c-976b-545c800154a4 stage=assistant decision=surface_error reason=timeout provider=lmstudio/gemma-4-e4b-it profile=-
[agent] run 033e86b0-0ff1-428c-976b-545c800154a4 ended with stopReason=stop
{
"ok": true,
"capability": "model.run",
"transport": "local",
"provider": "lmstudio",
"model": "gemma-4-e4b-it",
"attempts": [],
"outputs": [
{
"text": "ok",
"mediaUrl": null
}
]
}

🦞 OpenClaw 2026.4.8 (9ece252) — Powered by open source, sustained by spite and good documentation.


Service: systemd (enabled)
File logs: /tmp/openclaw/openclaw-2026-04-11.log
Command: /usr/bin/node /home/makor/.npm-global/lib/node_modules/openclaw/dist/index.js gateway --port 18789
Service file: ~/.config/systemd/user/openclaw-gateway.service
Service env: OPENCLAW_GATEWAY_PORT=18789

Config (cli): ~/.openclaw/openclaw.json
Config (service): ~/.openclaw/openclaw.json

Gateway: bind=loopback (127.0.0.1), port=18789 (service args)
Probe target: ws://127.0.0.1:18789
Dashboard: http://127.0.0.1:18789/
Probe note: Loopback-only gateway; only local clients can connect.

Runtime: running (pid 1003, state active, sub running, last exit 0, reason 0)
RPC probe: ok

Listening: 127.0.0.1:18789
Troubles: run openclaw status
Troubleshooting: https://docs.openclaw.ai/troubleshooting

🦞 OpenClaw 2026.4.8 (9ece252) — Self-hosted, self-updating, self-aware (just kidding... unless?).



Gateway connection:
Gateway target: ws://127.0.0.1:18789
Source: local loopback
Config: /home/makor/.openclaw/openclaw.json
Bind: loopback
Telegram: ok (@makorchik_bot:default:98ms)
Agents: main (default)
Heartbeat interval: 30m (main)
Session store (main): /home/makor/.openclaw/agents/main/sessions/sessions.json (3 entries)

  • agent:main:main (0m ago)
  • agent:main:telegram:direct:5974122790 (1399m ago)
  • agent:main:telegram:slash:5974122790 (2671m ago)
atomic lavaBOT
#

Теперь уже видно точную причину.

infer model run с say ok работает.
gateway status и health тоже живые.
Падает именно реальный бот-чат, потому что LM Studio держит модель с n_ctx: 4096, а OpenClaw на реальном ходе пытается запихнуть примерно 18.7k токенов:

n_keep: 18709 >= n_ctx: 4096

То есть проблема уже не в pairing, не в session, не в gateway.
Проблема в том, что эта локальная модель с текущим context length слишком маленькая для OpenClaw.

Что я рекомендую

Вариант 1, самый быстрый, чтобы бот просто заработал сейчас
Переключить дефолтную модель бота на модель с большим контекстом.

#

Вариант 2, если хочешь именно local LM Studio**

Подними context length у модели в LM Studio хотя бы выше 18709, лучше 32768+
и потом синхронизируй это в OpenClaw.

Пример после того, как в LM Studio реально выставишь 32768:

openclaw config set models.providers.lmstudio.models '[{"id":"gemma-4-e4b-it","name":"Gemma 4 E4B IT","contextWindow":32768,"maxTokens":2048}]' --strict-json
openclaw gateway restart
openclaw agent --agent main --message "/new"

Важное

Просто увеличить agents.defaults.timeoutSeconds тут не поможет.
У тебя запрос не медленный, у тебя он не влезает в контекст.

Коротко

#
  • маленький тест → ок
  • реальный агентный prompt → слишком большой для 4096
  • значит текущая LM Studio загрузка этой модели не подходит для OpenClaw-чата

Если хочешь, я сейчас дам тебе ровно один блок команд для:

  1. либо быстрого перехода на рабочую модель,
  2. либо для local-only пути через увеличенный context.
candid oak
#

на сайтье упровление мне просили обновить опенклав я обновил но теперь

makor@partix:~$ openclaw
-bash: /home/makor/.npm-global/bin/openclaw: No such file or directory

atomic lavaBOT
#

Похоже, апдейт сломал глобальный shim и bash всё ещё смотрит в старый путь ~/.npm-global/bin/openclaw.

Попробуй так:

pnpm add -g openclaw@latest
hash -r
which openclaw
openclaw --version
openclaw doctor
openclaw gateway restart

Если после pnpm add -g команда всё ещё не находится, выполни:

candid oak
#

makor@partix:~$ pnpm add -g openclaw@latest
hash -r
which openclaw
openclaw --version
openclaw doctor
openclaw gateway restart
 ERR_PNPM_NO_GLOBAL_BIN_DIR  Unable to find the global bin directory

Run "pnpm setup" to create it automatically, or set the global-bin-dir setting, or the PNPM_HOME env variable. The global bin directory should be in the PATH.
/home/makor/.npm-global/bin/openclaw
OpenClaw 2026.4.10 (44e5b62)
makor@partix:~$ openclaw config set models.providers.lmstudio.models '[{"id":"gemma-4-e4b-it","name":"Gemma 4 E4B IT","contextWindow":32768,"maxTokens":2048}]' --strict-json
openclaw gateway restart
openclaw agent --agent main --message "/new"

🦞 OpenClaw 2026.4.8 (9ece252) — Less clicking, more shipping, fewer "where did that file go" moments.

Config overwrite: /home/makor/.openclaw/openclaw.json (sha256 749b395fe3c2505527dac6ee543a9229f87e06c8ecd2bf334a31dcee276d07e9 -> c20c34e6be863295e12ef69eafe393a4d5966776cba218aa81d40037b0482a84, backup=/home/makor/.openclaw/openclaw.json.bak)
Updated models.providers.lmstudio.models. Restart the gateway to apply.

🦞 OpenClaw 2026.4.8 (9ece252) — iMessage green bubble energy, but for everyone.

Restarted systemd service: openclaw-gateway.service

🦞 OpenClaw 2026.4.8 (9ece252) — I'm not saying your workflow is chaotic... I'm just bringing a linter and a helmet.



Request timed out before a response was generated. Please try again, or increase agents.defaults.timeoutSeconds in your config.
makor@partix:~$ openclaw dashboard

🦞 OpenClaw 2026.4.8 (9ece252) — If something's on fire, I can't extinguish it—but I can write a beautiful postmortem.

Dashboard URL: http://127.0.0.1:18789/#token=4fb5b3a8aac93a9736e8cf66df6403416651a4e4529b1edd
Copy to clipboard unavailable.
No GUI detected. Open from your computer:
ssh -N -L 18789:127.0.0.1:18789 makor@192.168.0.29
Then open:
http://localhost:18789/
http://localhost:18789/#token=4fb5b3a8aac93a9736e8cf66df6403416651a4e4529b1edd
Docs:
https://docs.openclaw.ai/gateway/remote
https://docs.openclaw.ai/web/control-ui

atomic lavaBOT
#

Тут две разные штуки.

1. openclaw уже починился

Это видно по:

which openclaw
openclaw --version

Так что ошибка No such file or directory уже не главный блокер.

pnpm add -g упал только потому, что у тебя не настроен PNPM_HOME. Это отдельная история, не про текущий timeout.

2. Главный блокер остался прежним

Вот это важно:

#
openclaw config set ... contextWindow=32768

меняет только metadata в OpenClaw.
Это не поднимает реальный context length в LM Studio.

Если LM Studio всё ещё держит модель с n_ctx=4096, то OpenClaw может думать, что у модели 32768, а backend всё равно будет тупить/таймаутить.

Что делать сейчас

Шаг A, в LM Studio

Нужно реально перезагрузить gemma-4-e4b-it с большим context length, минимум 32768 (или максимум, который модель/LM Studio позволяет).

Шаг B, потом в терминале

Запусти это:

#
hash -r
openclaw --version
openclaw doctor
openclaw gateway restart
openclaw agent --agent main --message "/new"
openclaw infer model run --model lmstudio/gemma-4-e4b-it --prompt "say ok" --json
openclaw status

Что я хочу увидеть

  • openclaw --version без ошибок
  • /new без timeout
  • infer model run -> provider: lmstudio, model: gemma-4-e4b-it, text: ok

Важно

Если в LM Studio нельзя поднять context выше ~18k, то эта модель не подходит для OpenClaw-чата. Тогда надо либо:

#
  • брать другую local модель с большим context,
  • либо временно переключать бота на не-local модель.

Если хочешь, после того как перезагрузишь модель в LM Studio, кидай вывод этого блока, и я скажу, добили или нет.

candid oak
#

makor@partix:~$ which openclaw
openclaw --version
/home/makor/.npm-global/bin/openclaw
OpenClaw 2026.4.10 (44e5b62)

atomic lavaBOT
#

Отлично, CLI уже в порядке:

  • openclaw найден
  • версия уже 2026.4.10

Значит проблему с пропавшей командой закрыли ✅

Теперь возвращаемся к реальному блокеру, LM Studio context.

Дальше

  1. В LM Studio перезагрузи gemma-4-e4b-it с context length 32768+
  2. Потом в терминале выполни:
openclaw doctor
openclaw gateway restart
#
openclaw agent --agent main --message "/new"
openclaw infer model run --model lmstudio/gemma-4-e4b-it --prompt "say ok" --json
openclaw status

Скинь вывод после этого блока.
Если /new снова таймаутит, значит LM Studio всё ещё реально крутит модель с слишком маленьким n_ctx.

candid oak
#

makor@partix:~$ openclaw doctor
openclaw gateway restart

🦞 OpenClaw 2026.4.10 (44e5b62) — Your config is valid, your assumptions are not.

▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄
██░▄▄▄░██░▄▄░██░▄▄▄██░▀██░██░▄▄▀██░████░▄▄▀██░███░██
██░███░██░▀▀░██░▄▄▄██░█░█░██░█████░████░▀▀░██░█░█░██
██░▀▀▀░██░█████░▀▀▀██░██▄░██░▀▀▄██░▀▀░█░██░██▄▀▄▀▄██
▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
🦞 OPENCLAW 🦞

┌ OpenClaw doctor

◇ Update │
│ This install is not a git checkout. │
│ Run openclaw update to update via your package manager (npm/pnpm), then rerun doctor. │

◇ Startup optimization
│ - NODE_COMPILE_CACHE is not set; repeated CLI runs can be slower on small hosts (Pi/VM). │
│ - OPENCLAW_NO_RESPAWN is not set to 1; set it to avoid extra startup overhead from │
│ self-respawn. │
│ - Suggested env for low-power hosts: │
│ export NODE_COMPILE_CACHE=/var/tmp/openclaw-compile-cache │
│ mkdir -p /var/tmp/openclaw-compile-cache │
│ export OPENCLAW_NO_RESPAWN=1

atomic lavaBOT
#

doctor тут ничего критичного не показал, это ок.
Подсказка про openclaw update сейчас не главный блокер.

Важно другое: ты уже перезагрузил модель в LM Studio с большим context length?
Если да, продолжай вот этим:

openclaw gateway restart
openclaw agent --agent main --message "/new"
openclaw infer model run --model lmstudio/gemma-4-e4b-it --prompt "say ok" --json
openclaw status

Нужен именно вывод после этого блока.
Особенно интересно, таймаутит ли ещё /new.

candid oak
#

export OPENCLAW_NO_RESPAWN=1 │
│ │
├────────────────────────────────────────────────────────────────────────────────────────────╯

◇ Bundled plugins ─────────────────────────────────╮
│ │
│ Bundled plugin runtime deps are missing. │
│ - @discordjs/opus@^0.10.0 (used by discord) │
│ Fix: run openclaw doctor --fix to install them. │
│ │
├───────────────────────────────────────────────────╯

◆ Install missing bundled plugin runtime deps now?
│ ● Yes / ○ No

я забыл это ещё

atomic lavaBOT
#

Ага, это отдельно.

@discordjs/opus нужен для Discord voice, и это не причина твоего текущего LM Studio / timeout кейса.

Короче

  • если хочешь починить и это тоже, жми Yes
  • или потом отдельно запусти:
openclaw doctor --fix

Но для текущей проблемы

это не главный блокер.
Главное сейчас, перезагружена ли модель в LM Studio с большим context length.

То есть:

  • doctor --fix можно сделать
#
  • но он сам по себе не починит n_ctx / timeout у gemma-4-e4b-it

Если хочешь, можешь сейчас:

  1. закончить doctor --fix
  2. потом сразу выполнить:
openclaw gateway restart
openclaw agent --agent main --message "/new"
openclaw infer model run --model lmstudio/gemma-4-e4b-it --prompt "say ok" --json
openclaw status

И кинуть вывод.

candid oak
#

а что выберать yes or no

atomic lavaBOT
#

Жми Yes.

Это просто доставит недостающий runtime dependency, вреда не будет.
Просто помни, это не основной фикс для текущего LM Studio / context / timeout бага, а отдельная починка.

После этого продолжай дальше по блоку команд.

candid oak
#

Install missing bundled plugin runtime deps now?
│ Yes

◇ Bundled plugins ────────────────────────────────────────╮
│ │
│ Installed bundled plugin deps: @discordjs/opus@^0.10.0 │
│ │
├──────────────────────────────────────────────────────────╯

◆ Archive 2 orphan transcript files in ~/.openclaw/agents/main/sessions? This only renames them to *.deleted.<timestamp>.
│ ○ Yes / ● No

atomic lavaBOT
#

Тут тоже можно жать Yes.

Это не удаление, а просто архивирование orphan transcript файлов, через rename в *.deleted.<timestamp>.
То есть безопасно.

candid oak
#

так всё болше окн с вопросоми нету что делать мне дальше

atomic lavaBOT
#

Дальше вот так:

1. Сначала в LM Studio

Если ещё не сделал, перезагрузи gemma-4-e4b-it с context length 32768+.

2. Потом в терминале

openclaw gateway restart
openclaw agent --agent main --message "/new"
openclaw infer model run --model lmstudio/gemma-4-e4b-it --prompt "say ok" --json
openclaw status

3. Потом сюда скинь вывод

Особенно важно:

  • прошёл ли /new
  • и остался ли timeout
#

Если LM Studio не даёт поднять context выше ~18k, тогда сразу скажу честно, эта модель не подходит для OpenClaw-чата в таком виде.

candid oak
#

makor@partix:~$ openclaw gateway restart
openclaw agent --agent main --message "/new"
openclaw infer model run --model lmstudio/gemma-4-e4b-it --prompt "say ok" --json
openclaw status

🦞 OpenClaw 2026.4.10 (44e5b62) — Ah, the fruit tree company! 🍎

Restarted systemd service: openclaw-gateway.service

🦞 OpenClaw 2026.4.10 (44e5b62) — Like having a senior engineer on call, except I don't bill hourly or sigh audibly.



Hey there. I've cycled through my core directives and context files to get up to speed for this session. Since the system model is different from the default, just a heads up that I'm running on lmstudio/gemma-4-e4b-it today. What can I help you tackle first?

atomic lavaBOT
#

Это уже хороший знак, /new прошёл без timeout 🎉

Значит сессия поднялась нормально, и главный контекстный затык, похоже, ушёл.

Сейчас добиваем проверку отдельно, не одной цепочкой:

openclaw infer model run --model lmstudio/gemma-4-e4b-it --prompt "say ok" --json
openclaw status

И после этого ещё проверь в самом чате с ботом, отправь ему обычное сообщение, не /new, а что-то простое типа:

привет
#

Если ответит нормально, то всё, починили.
Скинь ещё вывод infer + status, и я скажу финально.

candid oak
#

makor@partix:~$ openclaw infer model run --model lmstudio/gemma-4-e4b-it --prompt "say ok" --json
openclaw status
{
"ok": true,
"capability": "model.run",
"transport": "local",
"provider": "lmstudio",
"model": "gemma-4-e4b-it",
"attempts": [],
"outputs": [
{
"text": "Ok.",
"mediaUrl": null
}
]
}

🦞 OpenClaw 2026.4.10 (44e5b62) — We ship features faster than Apple ships calculator updates.

OpenClaw status

Overview
─────────────│ Item │ Value │├───────────────────────────────────────────────────────────────────────────┤│ OS │ linux 6.8.0-107-generic (x64) · node 22.22.2 ││ Dashboard │ http://127.0.0.1:18789/ ││ Tailscale │ off ││ Channel │ stable (default) ││ Update │ pnpm · up to date · npm latest 2026.4.10 ││ Gateway │ local · ws://127.0.0.1:18789 (local loopback) · reachable 192ms · auth token · partix (192.168.0.29) app 2026.4.10 linux 6.8.0-107-generic ││ Gateway self │ partix (192.168.0.29) app 2026.4.10 linux 6.8.0-107-generic ││ Gateway service │ systemd installed · enabled · running (pid 11212, state active) ││ Node service │ systemd not installed ││ Agents │ 1 · 1 bootstrap file present · sessions 3 · default main active just now ││ Memory │ 0 files · 0 chunks · dirty · sources memory · plugin memory-core · vector ready · fts ready · cache on (0) ││ Plugin compatibility │ none ││ Probes │ skipped (use --deep) ││ Events │ none ││ Tasks │ 0 active · 0 queued · 0 running · 1 issue · audit clean · 2 tracked ││ Heartbeat │ 30m (main) ││ Sessions │ 3 active · default gemma-4-e4b-it (33k ctx) · ~/.openclaw/agents/main/sessions/sessions.json

это первая часть списка щас кину продолжение а то так нелза иза ограничении

#

Security audit
Summary: 2 critical · 3 warn · 1 info
CRITICAL Small models require sandboxing and web tools disabled
Small models (<=300B params) detected: - lmstudio/gemma-4-e4b-it (4B) @ agents.defaults.model.primary (unsafe; sandbox=off; web=[web_fetch]) Uncontrolled input…
Fix: If you must use small models, enable sandboxing for all sessions (agents.defaults.sandbox.mode="all") and disable web_search/web_fetch/browser (tools.deny=["group:web","browser"]).
CRITICAL Telegram group commands have no sender allowlist
Telegram group access is enabled but no sender allowlist is configured; this allows any group member to invoke /… commands (including skill commands).
Fix: Approve yourself via pairing (recommended), or set channels.telegram.groupAllowFrom (or per-group groups.<id>.allowFrom).
WARN Reverse proxy headers are not trusted
gateway.bind is loopback and gateway.trustedProxies is empty. If you expose the Control UI through a reverse proxy, configure trusted proxies so local-client c…
Fix: Set gateway.trustedProxies to your proxy IPs or keep the Control UI local-only.
WARN Some gateway.nodes.denyCommands entries are ineffective
gateway.nodes.denyCommands uses exact node command-name matching only (for example system.run), not shell-text filtering inside a command payload. - Unknown …
Fix: Use exact command names (for example: canvas.present, canvas.hide, canvas.navigate, canvas.eval, canvas.snapshot, canvas.a2ui.push, canvas.a2ui.pushJSONL, canvas.a2ui.reset). If you need broader restrictions, remove risky command IDs from allowCommands/default workflows and tighten tools.exec policy.
WARN Potential multi-user setup detected (personal-assistant model warning)
Heuristic signals indicate this gateway may be reachable by multiple users: - channels.telegram.groupPolicy="allowlist" with configured group targets Runtime/p…
Fix: If users may be mutually untrusted, split trust boundaries (separate gateways + credentials, ideally separate OS users/hosts). If you intentionally run shared-user access, set agents.defaults.sandbox.mode="all", keep tools.fs.workspaceOnly=true, deny runtime/fs/web tools unless required, and keep personal/private identities + credentials off that runtime.
Full report: openclaw security audit
Deep probe: openclaw security audit --deep

Channels
│ Channel │ Enabled │ State │ Detail Telegram │ ON │ OK │ token config (8354…7_zw · len 46) · accounts 1/1
Sessions
Key
│ Kind │ Age │ Model │ Tokens agent:main:main │ direct │ just now │ gemma-4-e4b-it │ 0.0k/33k (0%) ││ agent:main:telegram:direct:5974… │ direct │ 24h ago │ gemma-4-e4b-it │ unknown/200k (?%) ││ agent:main:telegram:slash:59741… │ direct │ 45h ago │ gemma-4-e4b-it │ unknown/33k (?%)
FAQ: https://docs.openclaw.ai/faq
Troubleshooting: https://docs.openclaw.ai/troubleshooting
Next steps:
Need to share? openclaw status --all
Need to debug live? openclaw logs --follow
Need to test channels? openclaw status --deep
makor@partix:~$

atomic lavaBOT
#

Похоже, мы это добили 🎉

Сейчас у тебя видно, что:

  • infer model run работает
  • gateway живой
  • openclaw обновлён до 2026.4.10
  • все нужные sessions уже на gemma-4-e4b-it
  • Telegram канал OK

То есть исходная проблема с health check failed: timeout похоже исправлена.

Что сделать прямо сейчас

Просто проверь end-to-end в самом боте Чаппи:

  • отправь ему обычное сообщение, например привет
  • если он отвечает нормально, значит всё, фикс подтверждён
#

Что ещё осталось

То, что ты видишь в Security audit, это уже не текущая поломка, а отдельные рекомендации/риски.

Самая важная из них:

  • у тебя маленькая local модель 4B
  • OpenClaw предупреждает, что для таких моделей лучше включить sandbox и урезать web tools

Но это уже следующий этап, не причина текущего таймаута.

Если Чаппи сейчас ответит нормально, то можно считать тред закрытым.
Если это пофиксило проблему, пожалуйста right-click the solution message → Apps → ✅ Mark Solution. Это поможет Answer Overflow проиндексировать решение для следующих людей.

candid oak
#

спасибо всё зароботало вопрос а как теперь ему дать доступ или что то разрешить чтобы он хотя бы мог выключить ноутбук

#

как теперь ему дать доступ тобы он хотя бы мог выключить ноутбук

atomic lavaBOT
#

Да, можно, но я бы не давал ему полный доступ без подтверждения, особенно на 4B local модели.

Что я рекомендую

Сделай так, чтобы он мог запросить выключение, а ты подтверждал это действие.

openclaw exec-policy set --host gateway --security full --ask always --ask-fallback deny
openclaw gateway restart

Потом просто пишешь боту что-то вроде:

выключи ноутбук

И OpenClaw должен показать approval prompt на команду выключения.

#

Чего я НЕ рекомендую

Вот это даст почти полный доступ к хосту без вопросов:

openclaw exec-policy preset yolo
openclaw gateway restart

Я бы так не делал, особенно с маленькой local моделью.

Если хочешь самый безопасный вариант

Можно настроить так, чтобы ему была доступна только одна команда, например только выключение, и больше ничего.
Это чуть дольше, но намного правильнее.

Если хочешь, я следующим сообщением дам готовый минимальный вариант именно “только poweroff”.

Docs:

#

Самый простой вариант, чтобы он мог выключать ноутбук через запрос с подтверждением:

openclaw exec-policy set --host gateway --security full --ask always --ask-fallback deny
openclaw gateway restart

Потом пишешь боту:

выключи ноутбук

И у тебя появится approval prompt, где ты разрешишь выполнение.

Важно

Это лучший вариант, потому что: