Послідовність команд
Виконуйте в такому порядку:openclaw gateway statusпоказуєRuntime: running,Connectivity probe: okі рядокCapability: ....openclaw doctorне повідомляє про проблеми конфігурації чи служби, що блокують роботу.openclaw channels status --probeпоказує актуальний стан транспорту для кожного облікового запису, а там, де це підтримується, —worksабоaudit ok.
Після оновлення
Використовуйте, якщо оновлення завершилося, але Gateway не працює, канали порожні або виклики моделей завершуються помилками 401.Update restartуopenclaw status/openclaw status --all. Для незавершених або невдалих передавань указано наступну команду, яку потрібно виконати.plugin load failed: dependency tree corrupted; run openclaw doctor --fixу розділі каналів: конфігурація каналу досі існує, але реєстрація плагіна завершилася помилкою до завантаження каналу.- Помилки 401 від провайдера після повторної автентифікації:
openclaw doctor --fixперевіряє застарілі OAuth-копії автентифікаційних даних окремих агентів і видаляє старі копії, щоб усі агенти використовували поточний спільний профіль.
Розділені інсталяції та захист від новішої конфігурації
Використовуйте, якщо служба Gateway несподівано зупиняється після оновлення або журнали показують, що один бінарний файлopenclaw старіший за версію, яка востаннє записала openclaw.json.
OpenClaw позначає записи конфігурації за допомогою meta.lastTouchedVersion. Команди лише для читання можуть перевіряти конфігурацію, записану новішою версією OpenClaw, але старіший бінарний файл відмовляється виконувати зміни процесів і служб. Блокуються такі дії: запуск, зупинення, перезапуск і видалення служби Gateway, примусове перевстановлення служби, запуск Gateway у режимі служби та очищення порту gateway --force.
Виправте PATH
PATH, щоб openclaw указував на новішу інсталяцію, а потім повторіть дію.Перевстановіть службу Gateway
Видаліть застарілі обгортки
openclaw.Невідповідність протоколу після повернення до попередньої версії
Використовуйте, якщо після зниження версії або повернення до попередньої версії в журналах постійно з’являєтьсяprotocol mismatch. Працює старіший Gateway, але новіший локальний клієнтський процес досі повторно підключається з діапазоном протоколу, який старіший Gateway не підтримує.
protocol mismatch ... client=... v<version> min=<n> max=<n> expected=<n>у журналах Gateway.Established clients:уopenclaw gateway status --deepабоGateway clientsуopenclaw doctor --deep: активні TCP-клієнти, підключені до порту Gateway, із PID та командними рядками, якщо це дозволяє ОС.- Клієнтський процес, командний рядок якого вказує на новішу інсталяцію або обгортку OpenClaw, від якої було виконано повернення.
- Зупиніть або перезапустіть застарілий клієнтський процес OpenClaw, показаний у
gateway status --deep. - Перезапустіть застосунки або обгортки, у які вбудовано OpenClaw: локальні панелі керування, редактори, допоміжні процеси серверів застосунків або довготривалі оболонки
openclaw logs --follow. - Повторно виконайте
openclaw gateway status --deepабоopenclaw doctor --deepі переконайтеся, що PID застарілого клієнта зник.
Символьне посилання Skills пропущено через вихід за межі шляху
Використовуйте, якщо журнали містять:~/.agents/skills, <workspace>/.agents/skills, <workspace>/skills або ~/.openclaw/skills пропускається, якщо його фактична ціль розташована за межами цього кореня, якщо тільки ціль не позначено як довірену явно.
Перевірте посилання:
~, / або всю синхронізовану папку проєкту. Обмежте allowSymlinkTargets фактичним коренем Skills, який містить довірені каталоги SKILL.md.
Якщо застосування Skill Workshop також має записувати дані через ці довірені символьні посилання на шляхи Skills робочого простору, увімкніть skills.workshop.allowSymlinkTargetWrites. Залишайте цей параметр вимкненим для спільних коренів Skills, доступних лише для читання.
Пов’язані матеріали:
Для довгого контексту Anthropic 429 потрібне додаткове використання
Використовуйте, якщо журнали або помилки містять:HTTP 429: rate_limit_error: Extra usage is required for long context requests.
- Вибрана модель Anthropic є моделлю Claude 4.x із загальнодоступною підтримкою контексту 1M (Opus 4.6/4.7/4.8, Sonnet 4.6) або конфігурація моделі досі містить застарілий параметр
params.context1m: true. - Поточні облікові дані Anthropic не мають права на використання довгого контексту.
- Запити завершуються помилкою лише під час довгих сеансів або запусків моделей, яким потрібен контекст 1M.
Використовуйте стандартне контекстне вікно
context1m зі старої
конфігурації моделі, яка не має загальнодоступної підтримки контексту 1M.Використовуйте придатні облікові дані
Налаштуйте резервні моделі
Відповіді 403 із блокуванням від вищого рівня
Використовуйте, якщо зовнішній провайдер LLM повертає загальну помилку403, наприклад Your request was blocked.
Не вважайте, що це завжди проблема конфігурації OpenClaw. Відповідь може надходити від зовнішнього рівня безпеки, як-от CDN, WAF, правило керування ботами або зворотний проксі перед кінцевою точкою, сумісною з OpenAI.
- Кілька моделей одного провайдера завершуються однаковою помилкою.
- Замість звичайної помилки API провайдера повертається HTML або загальний текст системи безпеки.
- Події безпеки на боці провайдера за той самий час запиту.
- Мінімальний безпосередній пробний запит
curlуспішний, тоді як звичайні запити у форматі SDK завершуються помилкою.
Локальний сервер, сумісний з OpenAI, проходить прямі перевірки, але запуски агентів завершуються помилкою
Використовуйте, якщо:curl ... /v1/modelsпрацює.- Малі прямі виклики
/v1/chat/completionsпрацюють. - Запуски моделей OpenClaw завершуються помилкою лише під час звичайних кроків агента.
- Малі прямі виклики успішні, але запуски OpenClaw завершуються помилкою лише для більших запитів.
- Помилки
model_not_foundабо 404, хоча прямий запит/v1/chat/completionsпрацює з тим самим ідентифікатором моделі без префікса. - Помилки сервера про те, що
messages[].contentочікує рядок. - Періодичні попередження
incomplete turn detected ... stopReason=stop payloads=0з локальним сервером, сумісним з OpenAI. - Збої сервера, які виникають лише за більшої кількості токенів запиту або з повними запитами середовища виконання агента.
Поширені ознаки
Поширені ознаки
model_not_foundз локальним сервером у стилі MLX/vLLM: переконайтеся, щоbaseUrlмістить/v1,apiмає значення"openai-completions"для серверів/v1/chat/completions, аmodels.providers.<provider>.models[].idє локальним ідентифікатором провайдера без префікса. Вибирайте його з префіксом провайдера один раз, наприкладmlx/mlx-community/Qwen3-30B-A3B-6bit; запис у каталозі залишайте якmlx-community/Qwen3-30B-A3B-6bit.messages[...].content: invalid type: sequence, expected a string: сервер відхиляє структуровані частини вмісту Chat Completions. Виправлення: установітьmodels.providers.<provider>.models[].compat.requiresStringContent: true.validation.keysабо дозволені ключі повідомлень, як-от["role","content"]: сервер відхиляє метадані повторного відтворення у стилі OpenAI в повідомленнях Chat Completions. Виправлення: установітьmodels.providers.<provider>.models[].compat.strictMessageKeys: true.incomplete turn detected ... stopReason=stop payloads=0: сервер виконав запит Chat Completions, але не повернув видимого користувачеві тексту асистента для цього кроку. OpenClaw один раз повторює безпечні для повторного відтворення порожні кроки, сумісні з OpenAI; постійні помилки зазвичай означають, що сервер повертає порожній або нетекстовий вміст чи приховує текст остаточної відповіді.- Малі прямі запити успішні, але запуски агентів OpenClaw завершуються збоями сервера або моделі (наприклад, Gemma у деяких збірках
inferrs): транспорт OpenClaw, імовірно, уже налаштовано правильно; сервер не може обробити більшу структуру запиту середовища виконання агента. - Після вимкнення інструментів кількість помилок зменшується, але вони не зникають: схеми інструментів створювали частину навантаження, але решта проблеми все одно пов’язана з ресурсами зовнішньої моделі чи сервера або з помилкою сервера.
Варіанти виправлення
Варіанти виправлення
- Установіть
compat.requiresStringContent: trueдля серверів Chat Completions, які підтримують лише рядки. - Установіть
compat.strictMessageKeys: trueдля строгих серверів Chat Completions, які приймають у кожному повідомленні лишеroleіcontent. - Установіть
compat.supportsTools: falseдля моделей або серверів, які не можуть надійно обробляти набір схем інструментів OpenClaw. - За можливості зменште навантаження запиту: скоротіть початкове завантаження робочого простору, історію сеансу, використовуйте легшу локальну модель або сервер із кращою підтримкою довгого контексту.
- Якщо малі прямі запити залишаються успішними, але кроки агента OpenClaw досі спричиняють збій сервера, розглядайте це як обмеження зовнішнього сервера або моделі та надайте його розробникам приклад відтворення з прийнятою структурою корисного навантаження.
Немає відповідей
Якщо канали працюють, але відповіді немає, перевірте маршрутизацію та політики, перш ніж щось перепідключати.- Очікування сполучення для відправників особистих повідомлень.
- Обмеження згадування в групі (
requireMention,mentionPatterns). - Невідповідності списків дозволених каналів і груп.
drop guild message (mention required→ групове повідомлення ігнорується до згадування.pairing request→ відправнику потрібне схвалення.blocked/allowlist→ відправника або канал відфільтровано політикою.
Підключення інтерфейсу керування панеллю
Якщо панель або інтерфейс керування не підключається, перевірте URL-адресу, режим автентифікації та припущення щодо захищеного контексту.- Правильні URL-адреси перевірки та панелі.
- Невідповідність режиму автентифікації або токена між клієнтом і Gateway.
- Використання HTTP там, де потрібна ідентифікація пристрою.
127.0.0.1:18789, спочатку відновіть локальну службу Gateway і переконайтеся, що вона обслуговує панель:
curl повертає HTML OpenClaw, Gateway працює, а проблема, найімовірніше, пов’язана з кешем браузера, старим глибоким посиланням або застарілим станом вкладки. Відкрийте http://127.0.0.1:18789 безпосередньо й перейдіть із панелі. Якщо після перезапуску служба не залишається запущеною, виконайте openclaw gateway start і повторно перевірте openclaw gateway status.
Ознаки підключення та автентифікації
Ознаки підключення та автентифікації
device identity required→ незахищений контекст або відсутня автентифікація пристрою.origin not allowed→ браузернийOriginвідсутній уgateway.controlUi.allowedOrigins(або підключення виконується з браузерного джерела, що не є loopback, без явного списку дозволених).device nonce required/device nonce mismatch→ клієнт не завершує процес автентифікації пристрою на основі виклику (connect.challenge+device.nonce).device signature invalid/device signature expired→ клієнт підписав неправильні дані (або використав застарілу позначку часу) для поточного рукостискання.AUTH_TOKEN_MISMATCHзcanRetryWithDeviceToken=true→ клієнт може виконати одну довірену повторну спробу з кешованим токеном пристрою.- Ця повторна спроба з кешованим токеном повторно використовує кешований набір областей доступу, збережений із токеном сполученого пристрою. Натомість виклики з явним
deviceToken/ явнимscopesзберігають запитаний набір областей доступу. AUTH_SCOPE_MISMATCH→ токен пристрою розпізнано, але його схвалені області доступу не охоплюють цей запит на підключення; повторно сполучіть пристрій або схваліть запитаний контракт областей доступу замість ротації спільного токена Gateway.- Поза цим шляхом повторної спроби пріоритет автентифікації підключення такий: спочатку явно заданий спільний токен або пароль, потім явний
deviceToken, далі збережений токен пристрою, а потім початковий токен. - В асинхронному шляху інтерфейсу керування Tailscale Serve невдалі спроби для того самого
{scope, ip}серіалізуються до того, як обмежувач зареєструє помилку. Тому дві одночасні невдалі повторні спроби від одного клієнта можуть призвести доretry laterпід час другої спроби замість двох звичайних повідомлень про невідповідність. too many failed authentication attempts (retry later)від loopback-клієнта браузерного джерела → повторні помилки від того самого нормалізованогоOriginтимчасово блокуються; інше джерело localhost використовує окрему групу.- Повторний
unauthorizedпісля цієї повторної спроби → розбіжність спільного токена й токена пристрою; оновіть конфігурацію токена та за потреби повторно схваліть або замініть токен пристрою. gateway connect failed:→ неправильний цільовий хост, порт або URL-адреса.
Коротка таблиця кодів деталей автентифікації
Використовуйтеerror.details.code з невдалої відповіді connect, щоб вибрати наступну дію:
scope-upgrade, переконайтеся, що виклик використовує client.id: "gateway-client" і client.mode: "backend" та не примусово задає явний deviceIdentity або токен пристрою.Дочекайтеся connect.challenge
connect.challenge.Підпишіть дані
Надішліть одноразове значення пристрою
connect.params.device.nonce із тим самим одноразовим значенням виклику.openclaw devices rotate / revoke / remove неочікувано відхилено:
- Сеанси токенів сполучених пристроїв можуть керувати лише власним пристроєм, якщо виклик також не має
operator.admin. openclaw devices rotate --scope ...може запитувати лише ті операторські області доступу, які вже має сеанс виклику.
- Конфігурація (режими автентифікації Gateway)
- Інтерфейс керування
- Пристрої
- Віддалений доступ
- Автентифікація довіреного проксі
Служба Gateway не працює
Використовуйте цей розділ, якщо службу встановлено, але процес не залишається запущеним.Runtime: stoppedз підказками щодо завершення.- Невідповідність конфігурації служби (
Config (cli)іConfig (service)). - Конфлікти порту або прослуховувача.
- Додаткові інсталяції launchd, systemd або schtasks, коли використовується
--deep. - Підказки щодо очищення
Other gateway-like services detected (best effort).
Поширені ознаки
Поширені ознаки
Gateway start blocked: set gateway.mode=localабоexisting config is missing gateway.mode→ локальний режим Gateway не ввімкнено або файл конфігурації було перезаписано й у ньому втраченоgateway.mode. Виправлення: задайтеgateway.mode="local"у конфігурації або повторно виконайтеopenclaw onboard --mode local/openclaw setup, щоб відновити очікувану конфігурацію локального режиму. Якщо OpenClaw працює через Podman, стандартний шлях до конфігурації —~/.openclaw/openclaw.json.refusing to bind gateway ... without auth→ прив’язка не до loopback без дійсного шляху автентифікації Gateway (токен або пароль чи довірений проксі, якщо його налаштовано).another gateway instance is already listening/EADDRINUSE→ конфлікт порту.Other gateway-like services detected (best effort)→ існують застарілі або паралельні модулі launchd, systemd чи schtasks. У більшості конфігурацій слід використовувати один Gateway на комп’ютер; якщо потрібно більше одного, ізолюйте порти, конфігурацію, стан і робочий простір. Див. /gateway#multiple-gateways-same-host.System-level OpenClaw gateway service detectedвід doctor → системний модуль systemd існує, а служба рівня користувача відсутня. Видаліть або вимкніть дублікат, перш ніж дозволяти doctor установити службу користувача, або задайтеOPENCLAW_SERVICE_REPAIR_POLICY=external, якщо системний модуль є запланованим супервізором.Gateway service port does not match current gateway config→ установлений супервізор досі закріплює старий--port. Виконайтеopenclaw doctor --fixабоopenclaw gateway install --force, а потім перезапустіть службу Gateway.
Gateway у macOS непомітно припиняє відповідати, а потім відновлює роботу після взаємодії з панеллю
Використовуйте, коли канали (Telegram, WhatsApp тощо) на хості macOS замовкають на період від кількох хвилин до кількох годин, а Gateway, схоже, відновлює роботу щойно ви відкриваєте Control UI, підключаєтеся через SSH або іншим чином взаємодієте з хостом. Зазвичай уopenclaw status немає очевидних симптомів, оскільки на момент перевірки Gateway уже знову працює.
- Один або кілька пакетів
*-uncaught_exception.jsonу~/.openclaw/logs/stability/, деerror.codeмає код тимчасової мережевої помилки, як-отENETDOWN,ENETUNREACH,EHOSTUNREACHабоECONNREFUSED. - Рядки
pmset -g log, як-отEntering Sleep state due to 'Maintenance Sleep'абоen0 driver is slow (msg: WillChangeState to 0), що збігаються в часі з аварійними завершеннями. Power Nap / Maintenance Sleep ненадовго переводить драйвер Wi-Fi у стан 0; будь-який вихіднийconnect(), що припадає на цей проміжок, може завершитися помилкоюENETDOWNнавіть на хості, який в інших випадках має повноцінне мережеве з’єднання. - Вивід
launchctl print, що показуєstate = not runningіз кількома нещодавнімиrunsі кодом виходу, особливо якщо проміжок між аварійним завершенням і наступним запуском становить близько години, а не кілька секунд. Після серії аварійних завершень macOS launchd застосовує недокументований механізм захисту від повторних запусків, через який може перестати виконуватиKeepAlive=true, доки зовнішній тригер, як-от інтерактивний вхід, підключення панелі керування абоlaunchctl kickstart, не активує його знову.
- Пакет стабільності, у якому
error.codeмає значенняENETDOWNабо споріднений код, а стек викликів указує на NodenetlookupAndConnect/Socket.connect. OpenClaw2026.5.26і новіші версії класифікують їх як безпечні тимчасові мережеві помилки, тому вони більше не передаються до верхньорівневого обробника неперехоплених помилок; якщо використовується старіша версія, спочатку оновіть її. - Тривалі періоди без активності, які завершуються одразу після підключення до Control UI або входу на хост через SSH: саме видима для користувача активність повторно активує механізм повторного запуску launchd, а не будь-яка дія панелі керування над Gateway.
- Лічильник
runsзбільшується протягом дня без відповідного рядкаreceived SIG*; shutting downу~/Library/Logs/openclaw/gateway.log: під час штатного завершення роботи сигнал записується в журнал, а під час тимчасових аварійних завершень — ні.
-
Оновіть Gateway, якщо використовується версія, старіша за
2026.5.26. Після оновлення майбутні помилкиENETDOWNзаписуватимуться як попередження замість завершення процесу. -
Зменште активність режиму обслуговування під час сну на Mac mini / настільних хостах, призначених для постійної роботи як сервери:
Це суттєво зменшує, але не усуває повністю базові перебої в роботі драйвера. Система все одно може переходити в деякі режими обслуговування під час сну для підтримки TCP keepalive та mDNS незалежно від цих прапорців.
-
Додайте засіб контролю працездатності, щоб у майбутньому швидко виявити серію аварійних завершень, після якої launchd припинить повторні запуски:
Мета полягає в тому, щоб ззовні повторно активувати механізм повторного запуску; лише
KeepAlive=trueнедостатньо в macOS після серії аварійних завершень.
Цикл супервізора macOS launchd із дубльованими LaunchAgent для Gateway/Node
Використовуйте, коли інсталяція macOS постійно перезапускається кожні кілька секунд, перевірки працездатностіopenclaw
почергово показують доступність і недоступність, а надсилання через канали зупиняється,
хоча служба, схоже, працює.
Це спостерігалося в старіших інсталяціях, де одночасно були активні LaunchAgent ai.openclaw.gateway і
ai.openclaw.node, кожен із яких додавав
OPENCLAW_LAUNCHD_LABEL. У такому стані OpenClaw може виявити супервізію launchd,
спробувати передати керування перезапуском назад launchd і потрапити у швидкий цикл
EADDRINUSE/повторного запуску замість підтримання одного стабільного процесу Gateway.
- Кілька PID Gateway у 30-секундній вибірці замість одного стабільного процесу.
EADDRINUSE,another gateway instance is already listeningабо повторювані рядки перезапуску/передавання керування вgateway.log.- Одночасно завантажені
~/Library/LaunchAgents/ai.openclaw.gateway.plistі~/Library/LaunchAgents/ai.openclaw.node.plistна хості, де має працювати лише одна керована служба Gateway.
-
Якщо на цьому хості має працювати лише служба Gateway, видаліть керовану службу Node
за допомогою OpenClaw. Пропустіть цей крок, якщо служба Node активно використовується
для віддалених функцій Node; її видалення зупинить ці функції на
цьому хості:
-
Установіть постійну обгортку Gateway, яка очищає успадковані маркери launchd
перед запуском OpenClaw. Використовуйте підтримуваний параметр
--wrapper; не редагуйте згенерований файл у~/.openclaw/service-env/, оскільки повторне встановлення служби, оновлення та відновлення за допомогою Doctor повторно генерують цей файл:gateway installзберігає шлях до обгортки під час примусових перевстановлень, оновлень і виправлень за допомогою doctor. -
Переконайтеся, що Gateway працює стабільно й обслуговує RPC, а не лише прослуховує з’єднання:
Вибірка PID має показувати один стабільний процес замість змінного набору PID, а диспетчеризація вхідних повідомлень каналів має відновитися.
-
Після оновлення до випуску, у якому виправлено базовий цикл із двома LaunchAgent,
видаліть обхідне рішення та перевстановіть звичайну керовану службу:
Gateway завершує роботу під час інтенсивного використання пам’яті
Використовуйте, коли Gateway зникає під навантаженням, супервізор повідомляє про перезапуск у стилі OOM або в журналах згадуєтьсяcritical memory pressure bundle written.
Reason: diagnostic.memory.pressure.criticalв останньому пакеті стабільності.Memory pressure:зcritical/rss_threshold,critical/heap_thresholdабоcritical/rss_growth.- Значення
V8 heap:поблизу граничного обсягу купи. - Записи
Largest session files:, як-отagents/<agent>/sessions/<session>.jsonlабоsessions/<session>.jsonl. - Лічильники пам’яті cgroup у Linux, коли Gateway працює в контейнері або службі з обмеженням пам’яті.
critical memory pressure bundle writtenз’являється незадовго до перезапуску → OpenClaw зберіг пакет стабільності перед OOM. Перевірте його за допомогоюopenclaw gateway stability --bundle latest.memory pressure: level=critical ... memoryPressureSnapshot=disabledз’являється в журналах Gateway → OpenClaw виявив критичний тиск на пам’ять, але знімок стабільності перед OOM вимкнено.Largest session files:указує на дуже великий шлях до редагованої стенограми → скоротіть збережену історію сеансів, перевірте зростання сеансу або перемістіть старі стенограми з активного сховища перед перезапуском.- Кількість використаних байтів
V8 heap:близька до граничного обсягу купи → зменште навантаження від підказок і сеансів, скоротіть кількість одночасних завдань або збільште граничний обсяг купи Node лише після підтвердження, що таке робоче навантаження є очікуваним. Memory pressure: critical/rss_growth→ обсяг пам’яті швидко зріс у межах одного інтервалу вибірки. Перевірте останні журнали на наявність великого імпорту, неконтрольованого виведення інструментів, повторюваних спроб або пакета поставлених у чергу завдань агентів.- У журналах з’являється критичний тиск на пам’ять, але пакета немає → це типова поведінка. Установіть
diagnostics.memoryPressureSnapshot: true, щоб під час майбутніх подій критичного тиску на пам’ять зберігався пакет стабільності перед OOM.
Gateway відхилив недійсну конфігурацію
Використовуйте, коли запуск Gateway завершується помилкоюInvalid config або журнали гарячого перезавантаження повідомляють, що недійсне редагування було пропущено.
Invalid config at ...config reload skipped (invalid config): ...Config write rejected: ...- Файл
openclaw.json.rejected.*із позначкою часу поруч з активною конфігурацією. - Файл
openclaw.json.clobbered.*із позначкою часу, якщоdoctor --fixвиправив пошкоджене безпосереднє редагування. - OpenClaw зберігає останні 32 файли
.clobbered.*для кожного шляху конфігурації та видаляє старіші під час ротації.
Що сталося
Що сталося
- Конфігурація не пройшла перевірку під час запуску, гарячого перезавантаження або запису, виконаного OpenClaw.
- Запуск Gateway завершується безпечною відмовою замість перезапису
openclaw.json. - Гаряче перезавантаження пропускає недійсні зовнішні редагування та залишає чинну конфігурацію середовища виконання активною.
- Записи, виконувані OpenClaw, відхиляють недійсне або руйнівне корисне навантаження перед фіксацією та зберігають
.rejected.*. openclaw doctor --fixвідповідає за виправлення. Він може видалити префікси, що не належать до JSON, або відновити останню відому справну копію, зберігши відхилене корисне навантаження як.clobbered.*.- Коли для одного шляху конфігурації виконується багато виправлень, OpenClaw видаляє старіші файли
.clobbered.*під час ротації, щоб найновіше виправлене корисне навантаження залишалося доступним.
Перевірка та виправлення
Перевірка та виправлення
Поширені ознаки
Поширені ознаки
.clobbered.*існує → doctor зберіг пошкоджене зовнішнє редагування під час виправлення активної конфігурації..rejected.*існує → запис конфігурації, виконаний OpenClaw, не пройшов перевірку схеми або перезапису перед фіксацією.Config write rejected:→ під час запису була спроба вилучити обов’язкову структуру, різко зменшити файл або зберегти недійсну конфігурацію.config reload skipped (invalid config):→ безпосереднє редагування не пройшло перевірку, тому запущений Gateway його проігнорував.Invalid config at ...→ запуск завершився помилкою до завантаження служб Gateway.missing-meta-vs-last-good,gateway-mode-missing-vs-last-goodабоsize-drop-vs-last-good:*→ запис, виконаний OpenClaw, було відхилено, оскільки порівняно з останньою справною резервною копією було втрачено поля або зменшено розмір.Config last-known-good promotion skipped→ кандидат містив замінники прихованих секретів, як-от***.
Варіанти виправлення
Варіанти виправлення
- Запустіть
openclaw doctor --fix, щоб doctor виправив конфігурацію з префіксом або наслідками перезапису чи відновив останню справну версію. - Скопіюйте лише потрібні ключі з
.clobbered.*або.rejected.*, а потім застосуйте їх за допомогоюopenclaw config setабоconfig.patch. - Перед перезапуском виконайте
openclaw config validate. - Під час ручного редагування зберігайте повну конфігурацію JSON5, а не лише частковий об’єкт, який потрібно змінити.
Попередження перевірки Gateway
Використовуйте, колиopenclaw gateway probe встановлює з’єднання, але все одно виводить блок попереджень.
warnings[].codeіprimaryTargetIdу виведенні JSON.- Чи стосується попередження резервного підключення через SSH, кількох Gateway, відсутніх областей доступу або нерозпізнаних посилань на автентифікаційні дані.
SSH tunnel failed to start; falling back to direct probes.→ налаштування SSH завершилося помилкою, але команда все одно спробувала підключитися безпосередньо до налаштованих цілей або цілей зворотного зв’язку.multiple reachable gateway identities detected→ відповіли різні Gateway або OpenClaw не зміг підтвердити, що доступні цілі є тим самим Gateway. Тунель SSH, URL-адреса проксі або налаштована віддалена URL-адреса того самого Gateway вважаються одним Gateway із кількома транспортами, навіть якщо їхні порти відрізняються.Read-probe diagnostics are limited by gateway scopes (missing operator.read)→ підключення успішне, але детальний RPC обмежений областю доступу; сполучіть ідентичність пристрою або використайте облікові дані зoperator.read.Gateway accepted the WebSocket connection, but follow-up read diagnostics failed→ підключення успішне, але виконання повного набору діагностичних RPC завершилося через перевищення часу очікування або з помилкою. Вважайте цей Gateway доступним, але з обмеженою діагностикою; порівняйтеconnect.okіconnect.rpcOkу виведенні--json.Capability: pairing-pendingабоgateway closed (1008): pairing required→ Gateway відповів, але цьому клієнту все ще потрібне сполучення або схвалення для звичайного операторського доступу.- Текст попередження про нерозпізнане посилання на секрет
gateway.auth.*/gateway.remote.*→ автентифікаційні дані були недоступні в цьому шляху команди для цілі, підключення до якої завершилося помилкою.
Канал підключено, але повідомлення не надходять
Якщо стан каналу — підключено, але обмін повідомленнями не відбувається, зосередьтеся на політиках, дозволах і специфічних для каналу правилах доставлення.- Політику особистих повідомлень (
pairing,allowlist,open,disabled). - Список дозволених груп і вимоги щодо згадок.
- Відсутні дозволи або області доступу API каналу.
mention required→ повідомлення проігноровано через групову політику згадок.pairing/ сліди очікування схвалення → відправника не схвалено.missing_scope,not_in_channel,Forbidden,401/403→ проблема з автентифікацією або дозволами каналу.
Доставлення Cron і Heartbeat
Якщо Cron або Heartbeat не запустився чи не виконав доставлення, спочатку перевірте стан планувальника, а потім ціль доставлення.- Чи ввімкнено Cron і чи вказано час наступного пробудження.
- Стан історії запусків завдання (
ok,skipped,error). - Причини пропуску Heartbeat (
quiet-hours,requests-in-flight,cron-in-progress,lanes-busy,alerts-disabled,empty-heartbeat-file,no-tasks-due).
Поширені ознаки
Поширені ознаки
cron: scheduler disabled; jobs will not run automatically→ Cron вимкнено.cron: timer tick failed→ такт планувальника завершився помилкою; перевірте помилки файлів, журналів і середовища виконання.heartbeat skippedзreason=quiet-hours→ поза межами вікна активних годин.heartbeat skippedзreason=empty-heartbeat-file→HEARTBEAT.mdіснує, але містить лише порожні рядки, коментарі, заголовки, огорожі блоків або заготовку порожнього списку завдань, тому OpenClaw пропускає виклик моделі.heartbeat skippedзreason=no-tasks-due→HEARTBEAT.mdмістить блокtasks:, але на цьому такті жодне із завдань не має виконуватися.heartbeat: unknown accountId→ недійсний ідентифікатор облікового запису для цілі доставлення Heartbeat.heartbeat skippedзreason=dm-blocked→ ціль Heartbeat визначено як призначення типу особистого повідомлення, колиagents.defaults.heartbeat.directPolicy(або перевизначення для окремого агента) має значенняblock.
Node сполучено, але інструмент не працює
Якщо Node сполучено, але інструменти не працюють, окремо перевірте стан переднього плану, дозволів і схвалення.- Чи перебуває Node в мережі та чи має очікувані можливості.
- Надані дозволи ОС на камеру, мікрофон, геопозицію та екран.
- Схвалення виконання команд і стан списку дозволених команд.
NODE_BACKGROUND_UNAVAILABLE→ застосунок Node має перебувати на передньому плані.*_PERMISSION_REQUIRED/LOCATION_PERMISSION_REQUIRED→ відсутній дозвіл ОС.SYSTEM_RUN_DENIED: approval required→ очікується схвалення виконання команди.SYSTEM_RUN_DENIED: allowlist miss→ команду заблоковано списком дозволених команд.
Інструмент браузера не працює
Використовуйте, коли дії інструмента браузера завершуються помилкою, хоча сам Gateway працює справно.- Чи задано
plugins.allowі чи містить воноbrowser. - Чинний шлях до виконуваного файлу браузера.
- Доступність профілю CDP.
- Наявність локального Chrome для профілів
existing-session/user.
Ознаки Plugin / виконуваного файлу
Ознаки Plugin / виконуваного файлу
unknown command "browser"абоunknown command 'browser'→ вбудований Plugin браузера виключено налаштуваннямplugins.allow.- Інструмент браузера відсутній або недоступний, коли
browser.enabled=true→plugins.allowвиключаєbrowser, тому Plugin не завантажився. Failed to start Chrome CDP on port→ не вдалося запустити процес браузера.browser.executablePath not found→ налаштований шлях недійсний.browser.cdpUrl must be http(s) or ws(s)→ налаштована URL-адреса CDP використовує непідтримувану схему, як-отfile:абоftp:.browser.cdpUrl has invalid port→ налаштована URL-адреса CDP має недійсний порт або порт поза допустимим діапазоном.Playwright is not available in this gateway build; '<feature>' is unsupported.→ у поточній інсталяції Gateway відсутня основна залежність середовища виконання браузера; перевстановіть або оновіть OpenClaw, а потім перезапустіть Gateway. Знімки ARIA та базові знімки сторінок усе ще можуть працювати, але навігація, знімки ШІ, знімки елементів за CSS-селекторами й експорт у PDF залишатимуться недоступними.
Ознаки Chrome MCP / наявного сеансу
Ознаки Chrome MCP / наявного сеансу
Could not find DevToolsActivePort for chrome→ наявному сеансу Chrome MCP ще не вдалося підключитися до вибраного каталогу даних браузера. Відкрийте сторінку перевірки браузера, увімкніть віддалене налагодження, залиште браузер відкритим, схваліть перший запит на підключення, а потім повторіть спробу. Якщо стан входу в обліковий запис не потрібен, віддайте перевагу керованому профілюopenclaw.No browser tabs found for profile="user"→ у профілі підключення Chrome MCP немає відкритих локальних вкладок Chrome.Remote CDP for profile "<name>" is not reachable→ налаштована віддалена кінцева точка CDP недоступна з хоста Gateway.Browser attachOnly is enabled ... not reachableабоBrowser attachOnly is enabled and CDP websocket ... is not reachable→ профіль лише для підключення не має доступної цілі або кінцева точка HTTP відповіла, але WebSocket CDP усе одно не вдалося відкрити.
Ознаки елементів / знімків екрана / передавання файлів
Ознаки елементів / знімків екрана / передавання файлів
fullPage is not supported for element screenshots→ запит на знімок екрана поєднав--full-pageз--refабо--element.element screenshots are not supported for existing-session profiles; use ref from snapshot.→ виклики знімків екрана Chrome MCP /existing-sessionмають використовувати захоплення сторінки або--refзнімка, а не CSS--element.existing-session file uploads do not support element selectors; use ref/inputRef.→ обробникам передавання файлів Chrome MCP потрібні посилання на знімки, а не CSS-селектори.existing-session file uploads currently support one file at a time.→ у профілях Chrome MCP передавайте один файл за один виклик.existing-session dialog handling does not support timeoutMs.→ обробники діалогів у профілях Chrome MCP не підтримують перевизначення часу очікування.existing-session type does not support timeoutMs overrides.→ не вказуйтеtimeoutMsдляact:typeу профіляхprofile="user"/ наявного сеансу Chrome MCP або використовуйте керований профіль чи профіль браузера CDP, якщо потрібен власний час очікування.response body is not supported for existing-session profiles yet.→ дляresponsebodyусе ще потрібен керований браузер або необроблений профіль CDP.- Застарілі перевизначення області перегляду, темного режиму, локалі або автономного режиму в профілях лише для підключення чи віддалених профілях CDP → запустіть
openclaw browser stop --browser-profile <name>, щоб закрити активний сеанс керування та звільнити стан емуляції Playwright/CDP без перезапуску всього Gateway.
Якщо після оновлення щось раптово перестало працювати
Більшість несправностей після оновлення спричинена розбіжностями конфігурації або застосуванням суворіших стандартних налаштувань.1. Поведінка автентифікації та перевизначення URL змінилася
1. Поведінка автентифікації та перевизначення URL змінилася
- Якщо
gateway.mode=remote, виклики CLI можуть спрямовуватися до віддаленого сервісу, тоді як локальний сервіс працює справно. - Явні виклики
--urlне використовують збережені облікові дані як резервний варіант.
gateway connect failed:→ неправильна цільова URL-адреса.unauthorized→ кінцева точка доступна, але автентифікація неправильна.
2. Обмеження прив’язування та автентифікації стали суворішими
2. Обмеження прив’язування та автентифікації стали суворішими
- Прив’язування не до loopback-інтерфейсу (
lan,tailnet,custom) потребує коректного шляху автентифікації Gateway: автентифікації за спільним токеном/паролем або правильно налаштованого розгортанняtrusted-proxyне на loopback-інтерфейсі. - Старі ключі на кшталт
gateway.tokenне замінюютьgateway.auth.token.
refusing to bind gateway ... without auth→ прив’язування не до loopback-інтерфейсу без коректного шляху автентифікації Gateway.Connectivity probe: failed, коли середовище виконання працює → Gateway працює, але недоступний із поточними параметрами автентифікації або URL-адреси.
3. Стан сполучення та ідентичності пристрою змінився
3. Стан сполучення та ідентичності пристрою змінився
- Очікують схвалення пристрої для панелі керування/вузлів.
- Очікують схвалення запити на сполучення через приватні повідомлення після змін політики або ідентичності.
device identity required→ вимоги автентифікації пристрою не виконано.pairing required→ відправника/пристрій необхідно схвалити.