#Health check failed: timeout
1 messages · Page 1 of 1 (latest)
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) и мы подключены к одной сети ноутбук через вайфай а пк через провод
Причина простая: 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
у меня открылся опен клав но при входе выдала ошибку: origin not allowed (open the Control UI from the gateway host or allow it in gateway.controlUi.allowedOrigins)
Отлично, это уже почти финал 👌
Ошибка 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 должен совпадать точно (протокол + хост + порт).
теперь ошибка: control ui requires device identity (use HTTPS or localhost secure context)
Да, это ожидаемо.
Эта ошибка значит: ты открываешь Control UI по обычному HTTP не-localhost (http://192.168...), а для device identity нужен localhost или HTTPS.
Для тебя самый простой путь:
- На Linux верни loopback:
openclaw config set gateway.bind loopback
openclaw gateway restart
- Сделай SSH-туннель (лучше через Termius Local Forward):
- Local:
127.0.0.1:18789 - Remote:
127.0.0.1:18789 - SSH порт:
2222(твой)
- На Windows открывай только:
http://localhost:18789/
❗ Не открывай http://192.168...:18789 — там и будет эта ошибка.
опиши подробно второй пункт
Конечно, подробно про пункт 2 (SSH-туннель через Termius):
Что мы делаем
Мы “пробрасываем” порт так, чтобы твой Windows localhost:18789 попадал на Linux 127.0.0.1:18789 (где крутится OpenClaw).
Вариант A: через интерфейс Termius (рекомендуется)
- Открой Termius на Windows.
- Открой свой хост (тот, которым ты уже подключаешься по SSH, порт
2222). - Зайди в настройки хоста → Port Forwarding (или Tunnel/Forwarding).
- Добавь Local Forward со значениями:
- Local address:
127.0.0.1 - Local port:
18789 - Remote host:
127.0.0.1 - Remote port:
18789
- Сохрани.
- Подключись к хосту в Termius (или переподключись).
- Убедись, что forward/tunnel запущен (обычно “Active/Running”).
- Не закрывай сессию Termius.
- Открой в браузере Windows:
http://localhost:18789/
Вариант B: одной командой (если удобнее в cmd/PowerShell)
ssh -p 2222 -N -L 18789:127.0.0.1:18789 makor@<твой_хост>
<твой_хост>= тот же адрес, что в Termius.- Окно с этой командой должно оставаться открытым.
Если хочешь, скину “проверку в 2 команды”, чтобы сразу понять, жив ли туннель.
я подключаюсь к ssh через 192.168.0.29
Отлично, тогда команда будет ровно такая:
ssh -p 2222 -N -L 18789:127.0.0.1:18789 makor@192.168.0.29
Дальше:
- Оставь это окно открытым (не закрывай).
- В браузере на Windows открой:
http://localhost:18789/
Если не открывается — в новом окне cmd выполни:
curl -I http://localhost:18789/
и пришли вывод.
(Важно: обязательно -p 2222, иначе он лезет на порт 22 и будет Connection refused.)
я никак не могу не могу зайти пр 127 так как я пытаюсь зайти с пк а не с ноута(127) я говорю про ип
Да, ты прав: 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.
Сделай так строго:
- Окно CMD #1:
ssh -p 2222 -N -L 18789:127.0.0.1:18789 makor@192.168.0.29
(ничего не пишет — это нормально, просто держи окно открытым)
- Окно CMD #2:
curl -I http://localhost:18789/
Если не работает — пришли вывод обеих команд, и я дожму до конца.
так как то всё удалось но есть ещё одна ошибка:device signature expired
Отлично, ты уже почти у цели 💪
device signature expired обычно значит одно из двух:
- время на Windows/Linux немного расходится
- в браузере осталась старая сессия/токен
Сделай по шагам:
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 строк вокруг ошибки), добьём до конца.
PS C:\Users\Admin> w32tm /resync
Обнаружена следующая ошибка: Служба не запущена. (0x80070426)
Отлично, поймали причину 👍
Ошибка 0x80070426 = служба времени Windows (w32time) выключена.
Запусти PowerShell от имени администратора и выполни:
Set-Service -Name w32time -StartupType Automatic
Start-Service w32time
w32tm /resync
Проверка:
Get-Service w32time
Должно быть Status: Running.
После этого снова:
- держи SSH-туннель открытым
- открой
http://localhost:18789/ - если надо — вставь токен заново (
openclaw config get gateway.auth.tokenна Linux).
так с локал хост работает но ошибка на опен клаве unauthorized: gateway token mismatch (open the dashboard URL and paste the token in Control UI settings)
Отлично, localhost уже работает — осталось только токен синхронизировать.
gateway token mismatch = в UI сохранён старый токен.
Сделай так:
- На Linux получи текущий токен:
openclaw config get gateway.auth.token
- В Dashboard открой Control UI Settings / Gateway Access
- очисти старый token
- вставь новый из команды выше
- нажми Connect
- Обнови страницу (
Ctrl+F5).
Если всё равно mismatch, принудительно сгенерируй новый токен:
openclaw config set gateway.auth.token "$(openssl rand -hex 32)"
openclaw gateway restart
openclaw config get gateway.auth.token
И снова вставь его в UI.
⚠️ Токен не отправляй в чат.
makor@partix:~$ openclaw config get gateway.auth.token
🦞 OpenClaw 2026.4.5 (3e72c03) — We ship features faster than Apple ships calculator updates.
OPENCLAW_REDACTED
Отлично, всё ок — просто токен не показывается в чат-логе (это нормально).
Сделай без ручного копирования из config get:
- На Linux:
openclaw dashboard
- Он даст URL вида
http://127.0.0.1:18789/#token=... - На Windows (с активным SSH-туннелем) открой тот же URL, но с localhost:
http://localhost:18789/#token=...
То есть меняешь только 127.0.0.1 → localhost, а #token=... оставляешь.
Если снова mismatch:
- очисти данные сайта для
localhost:18789(или открой в инкогнито), - открой URL с
#tokenещё раз.
как поменять ии агента в панеле управления?
Можно двумя способами:
1) Быстро в панели (на текущую сессию)
В чате Control UI введи:
/model— показать текущую модель/model list— показать доступные/model <provider/model>— переключить
2) Постоянно (дефолт для агента)
Поменяй дефолтную модель в конфиге:
- ключ:
agents.defaults.model.primary
Через CLI:
openclaw models set <provider/model>
Или в конфиг-редакторе Control UI измени agents.defaults.model.primary.
Документация: https://docs.openclaw.ai/help/faq#models-defaults-selection-aliases-switching https://docs.openclaw.ai/cli/models
а если я хочу запустить локалную модель ии то как мне её подключть к серверу с опенклав
Да, можно. Самый простой путь — через Ollama на том же Linux-сервере, где OpenClaw.
Быстрый план
- Установить Ollama на Linux
- Скачать локальную модель в Ollama
- Подключить OpenClaw к Ollama
- Выбрать эту модель как дефолт
Команды (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.
я не могу на сервере, могу только на пк но они с сервером в одной локальной сети
Понял, так тоже можно ✅
Модель можно крутить на ПК, а 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
Важно: URL без /v1.
Если хочешь, дам точный чеклист “под твой IP” в 5 команд.
Docs: https://docs.openclaw.ai/providers/ollama
я собераюс запустить эту Llama-3.1-8B-Instruct модель смогу ли я вообще
Да, в целом сможешь.
Но важно по железу:
- Запустится на 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
я собераюс запустить эту Llama-3.1-8B-Instruct модель подойдёт ли он к опенкл
Да, технически подойдёт ✅
Через Ollama/OpenAI-compatible OpenClaw сможет её использовать.
Но важный момент: для агентных задач с tool calling такие локальные 8B модели часто нестабильны (могут путаться с инструментами).
Поэтому лучший вариант:
- использовать её для простых/дешёвых задач,
- а для сложных действий держать более надёжную облачную модель как fallback.
Если хочешь, дам безопасную схему: “локалка = primary для чата, облако = fallback для инструментов”.
так я скачаль локально Qwem ии на LM studio она работает теперь вопрос как мне её перенсти на линукс сервера на опенклав?
Отличный вопрос.
Тебе не обязательно переносить файл модели на 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).
Включи API server (OpenAI-compatible)
можно ли по подробнее как
Да, конечно. Пошагово для 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.
я включил Serve on Local Network сейчас ип: http://26.65.98.83:1234
Супер, это уже отлично 🔥
Теперь делаем связку с 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>, чтобы просто вставил и запустил.
я написал curl но процес будто завис
Да, понял — такое бывает, если нет маршрута/доступа к хосту.
Сначала останови зависший 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 — он туда не дойдёт.
Что сделать проще
- На ПК возьми обычный LAN IP (
ipconfig, что-то типа192.168.0.X)
- В LM Studio оставь Serve on Local Network
- Проверь с сервера:
curl -v --connect-timeout 5 --max-time 10 http://192.168.0.X:1234/v1/models
- Убедись, что firewall на Windows открыл TCP 1234.
Если хочешь, скидывай LAN IP ПК (без токенов/секретов), дам точные команды под него.
получилось выдало список модолей
Отлично! 🔥 Значит сеть и 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, и я дам готовый блок команд без замен.
🦞 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 configureor set an API key env var.
OAuth/token status
- none
Супер, вижу причину ошибки:
ты менял поля 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 сразу.
makor@partix:~$ 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"}]}' --strict-json
🦞 OpenClaw 2026.4.5 (3e72c03) — More integrations than your therapist's intake form.
Error: Config validation failed: models.providers.lmstudio.models.0.name: Invalid input: expected string, received undefined
Отлично, уже почти.
У твоей версии 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 конкретное поле).
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
Отлично, это успех 🎉
По выводу всё подключилось правильно:
Default: lmstudio/qwen/qwen3.5-9bConfigured modelsвключаетlmstudio/...- ошибок в
models statusнет
Что сделать теперь
- Быстрая проверка доступности модели:
openclaw models status --probe
- Отправь тест-сообщение боту (в Dashboard/Telegram/Discord), например:
ответь одним словом: OK
Если ответ пришёл — всё полностью работает.
Совет: закрепи ПК с LM Studio на постоянном LAN IP (или DHCP reservation), чтобы после перезагрузки адрес не менялся.
Если это решило проблему, отметь тред как решение ✅ (ПКМ по сообщению → Apps → Mark Solution).
[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
вот лог. но в опен клаве ничего не пришло
Отличный лог, он очень показательный 👌
Там видно две вещи:
-
Client disconnected. Stopping generation...
→ OpenClaw оборвал запрос до завершения (модель слишком долго “пережёвывает” промпт). -
channelUnknown ... protocol incompatibility
→ есть несовместимость/баг между текущей версией LM Studio server и клиентом.
Что сделать сейчас
- Обнови LM Studio до последней версии и перезапусти сервер модели.
- В OpenClaw попробуй новый пустой чат и очень короткий prompt (
ответь: OK). - Проверь 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).
как подключить ещё одну модель
Легко 👍
Если у тебя 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, и я соберу тебе готовую команду без шаблонов.
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
почему отключило как починить
ты тут?
Да, тут 🦐 Скинь openclaw --version и кусок лога/ошибки с таймаутом, посмотрю.
как командой узнаит место положения опенклав лога
Да. Если нужен именно путь к файлу лога, то так:
openclaw config get logging.file
Если там пусто, значит используется дефолтный путь:
/tmp/openclaw/openclaw-YYYY-MM-DD.log
Последний актуальный лог можно вывести так:
ls -t /tmp/openclaw/openclaw-*.log | head -1
А если просто посмотреть лог без поиска пути:
openclaw logs --follow
Документация:
https://docs.openclaw.ai/logging
https://docs.openclaw.ai/help/faq
я тебе щас скину 2 сообщение с терминала ты на первое не отвечай и патом расскажи в чем беда
Ок, жду оба. На первое не отвечаю, разберу после второго.
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:~$
Да, вижу беду.
Проблема вот тут:
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-9blmstudio/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, и я скажу точную команду без гадания.
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
Окей, первую ошибку ты уже починил. Теперь видно вторую.
Сейчас проблема не в name, а в том, что OpenClaw всё еще берет LM Studio из:
source=models.json: ~/.openclaw/agents/main/agent/models.json
И там по факту до сих пор лежат старые модели:
lmstudio/qwen/qwen3.5-9blmstudio/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
хм а давай просто все локалные модели уберем и gemma-4-e4b-it оставим или заново запихнём
Да, так можно, и я бы делал именно без ручного удаления файлов, а просто переопределил 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.
Скинь этот вывод, и я тебе соберу уже готовую команду без плейсхолдеров.
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:~$
Отлично, теперь есть 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, и я скажу, чисто ли стало.
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:~$
Ага, теперь картина понятная. Сейчас уже модель подключена нормально.
Ключевая строка вот эта:
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
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
Ага, вот теперь корень проблемы поймали.
Проблема уже не в 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
это отдельная история, не причина этой модельной поломки.
Если хочешь, сделай эти 3 команды и кинь вывод, я скажу, добили ли мы баг.
Док: https://docs.openclaw.ai/concepts/models https://docs.openclaw.ai/help/faq
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:~$
О, вот теперь реально понятно, что происходит.
Ключевая улика, у тебя один и тот же 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
а если я ноут перезагружу сесия сбросится??
Обычно нет.
Перезагрузка ноута не сбрасывает session store сама по себе.
Сессии лежат на диске, обычно в:
~/.openclaw/agents/<agentId>/sessions/sessions.json
Так что после ребута OpenClaw обычно подхватит ту же сессию снова.
Для мгновенного сброса лучше:
openclaw agent --agent main --message "/new"
или
openclaw agent --agent main --message "/reset"
Ребут может помочь с какими-то подвисонами gateway/pairing, но не как способ надежно сбросить именно сессию.
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:~$
Да, вот оно 🎯
Значит проблема была именно в залипшей сессии / 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
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:~$
Да, это оно.
У тебя висит ровно тот 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
крч давай команды я букду их выполнсять
Выполняй по порядку:
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
Если какая-то команда падает, останавливайся и кидай вывод именно с неё.
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:~$
Отлично, 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
Кинь вывод следующим сообщением.
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:~$
Статус уже сильно лучше.
Главное:
- 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.
Сделай так:
- В Telegram чате с ботом отправь:
/new
- Потом в терминале выполни:
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 пока не трогаем, это не текущий блокер.
[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)
Теперь уже видно точную причину.
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-чата
Если хочешь, я сейчас дам тебе ровно один блок команд для:
- либо быстрого перехода на рабочую модель,
- либо для local-only пути через увеличенный context.
на сайтье упровление мне просили обновить опенклав я обновил но теперь
makor@partix:~$ openclaw
-bash: /home/makor/.npm-global/bin/openclaw: No such file or directory
Похоже, апдейт сломал глобальный 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 команда всё ещё не находится, выполни:
pnpm bin -g
и скинь вывод, я скажу, что добавить в PATH.
Документация:
https://docs.openclaw.ai/install/updating
https://docs.openclaw.ai/help/faq
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
Тут две разные штуки.
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без timeoutinfer model run->provider: lmstudio,model: gemma-4-e4b-it,text: ok
Важно
Если в LM Studio нельзя поднять context выше ~18k, то эта модель не подходит для OpenClaw-чата. Тогда надо либо:
- брать другую local модель с большим context,
- либо временно переключать бота на не-local модель.
Если хочешь, после того как перезагрузишь модель в LM Studio, кидай вывод этого блока, и я скажу, добили или нет.
makor@partix:~$ which openclaw
openclaw --version
/home/makor/.npm-global/bin/openclaw
OpenClaw 2026.4.10 (44e5b62)
Отлично, CLI уже в порядке:
openclawнайден- версия уже
2026.4.10
Значит проблему с пропавшей командой закрыли ✅
Теперь возвращаемся к реальному блокеру, LM Studio context.
Дальше
- В LM Studio перезагрузи
gemma-4-e4b-itс context length 32768+ - Потом в терминале выполни:
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.
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
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.
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
я забыл это ещё
Ага, это отдельно.
@discordjs/opus нужен для Discord voice, и это не причина твоего текущего LM Studio / timeout кейса.
Короче
- если хочешь починить и это тоже, жми Yes
- или потом отдельно запусти:
openclaw doctor --fix
Но для текущей проблемы
это не главный блокер.
Главное сейчас, перезагружена ли модель в LM Studio с большим context length.
То есть:
doctor --fixможно сделать
- но он сам по себе не починит
n_ctx/ timeout уgemma-4-e4b-it
Если хочешь, можешь сейчас:
- закончить
doctor --fix - потом сразу выполнить:
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
И кинуть вывод.
а что выберать yes or no
Жми Yes.
Это просто доставит недостающий runtime dependency, вреда не будет.
Просто помни, это не основной фикс для текущего LM Studio / context / timeout бага, а отдельная починка.
После этого продолжай дальше по блоку команд.
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
└
Тут тоже можно жать Yes.
Это не удаление, а просто архивирование orphan transcript файлов, через rename в *.deleted.<timestamp>.
То есть безопасно.
так всё болше окн с вопросоми нету что делать мне дальше
Дальше вот так:
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-чата в таком виде.
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?
Это уже хороший знак, /new прошёл без timeout 🎉
Значит сессия поднялась нормально, и главный контекстный затык, похоже, ушёл.
Сейчас добиваем проверку отдельно, не одной цепочкой:
openclaw infer model run --model lmstudio/gemma-4-e4b-it --prompt "say ok" --json
openclaw status
И после этого ещё проверь в самом чате с ботом, отправь ему обычное сообщение, не /new, а что-то простое типа:
привет
Если ответит нормально, то всё, починили.
Скинь ещё вывод infer + status, и я скажу финально.
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:~$
Похоже, мы это добили 🎉
Сейчас у тебя видно, что:
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 проиндексировать решение для следующих людей.
спасибо всё зароботало вопрос а как теперь ему дать доступ или что то разрешить чтобы он хотя бы мог выключить ноутбук
как теперь ему дать доступ тобы он хотя бы мог выключить ноутбук
Да, можно, но я бы не давал ему полный доступ без подтверждения, особенно на 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, где ты разрешишь выполнение.
Важно
Это лучший вариант, потому что: