#Health check failed: timeout

183 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 [email protected]
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 [email protected]

Дальше:

  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 [email protected]

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

ПК 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 [email protected]

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

  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.1 → localhost, а #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
#

Да, понял — такое бывает, если нет маршрута/доступа к хосту.
Сначала останови зависший curl → Ctrl + 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 [email protected]
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, где ты разрешишь выполнение.

Важно

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