chore(i18n): refresh uk translations
This commit is contained in:
parent
a2b5d9c923
commit
49d244ddcf
@ -1,14 +1,14 @@
|
||||
---
|
||||
read_when:
|
||||
- Центр усунення несправностей направив вас сюди для глибшої діагностики
|
||||
- Центр усунення несправностей спрямував вас сюди для глибшої діагностики
|
||||
- Вам потрібні стабільні розділи посібника на основі симптомів із точними командами
|
||||
summary: Детальний посібник з усунення несправностей для Gateway, каналів, автоматизації, Node і браузера
|
||||
title: Усунення несправностей
|
||||
x-i18n:
|
||||
generated_at: "2026-04-20T12:31:50Z"
|
||||
generated_at: "2026-04-21T07:13:40Z"
|
||||
model: gpt-5.4
|
||||
provider: openai
|
||||
source_hash: 2afb105376bb467e5a344e6d73726908cb718fa13116b751fddb494a0b641c42
|
||||
source_hash: add7625785e3b78897c750b4785b7fe84a3d91c23c4175de750c4834272967f9
|
||||
source_path: gateway/troubleshooting.md
|
||||
workflow: 15
|
||||
---
|
||||
@ -18,9 +18,9 @@ x-i18n:
|
||||
Ця сторінка — детальний посібник.
|
||||
Почніть із [/help/troubleshooting](/uk/help/troubleshooting), якщо спочатку хочете швидкий сценарій первинної діагностики.
|
||||
|
||||
## Драбина команд
|
||||
## Послідовність команд
|
||||
|
||||
Спершу виконайте ці команди в такому порядку:
|
||||
Спочатку виконайте це, саме в такому порядку:
|
||||
|
||||
```bash
|
||||
openclaw status
|
||||
@ -33,11 +33,11 @@ openclaw channels status --probe
|
||||
Очікувані ознаки справного стану:
|
||||
|
||||
- `openclaw gateway status` показує `Runtime: running`, `Connectivity probe: ok` і рядок `Capability: ...`.
|
||||
- `openclaw doctor` не повідомляє про блокувальні проблеми конфігурації/сервісу.
|
||||
- `openclaw channels status --probe` показує живий стан транспорту для кожного облікового запису та,
|
||||
де це підтримується, результати probe/audit, як-от `works` або `audit ok`.
|
||||
- `openclaw doctor` не повідомляє про блокувальні проблеми конфігурації/служби.
|
||||
- `openclaw channels status --probe` показує живий стан транспорту для кожного акаунта і,
|
||||
де це підтримується, результати probe/audit, такі як `works` або `audit ok`.
|
||||
|
||||
## Anthropic 429: для довгого контексту потрібне додаткове використання
|
||||
## Додаткове використання Anthropic 429 потрібне для довгого контексту
|
||||
|
||||
Використовуйте це, коли журнали/помилки містять:
|
||||
`HTTP 429: rate_limit_error: Extra usage is required for long context requests`.
|
||||
@ -50,14 +50,14 @@ openclaw config get agents.defaults.models
|
||||
|
||||
Зверніть увагу на таке:
|
||||
|
||||
- Для вибраної моделі Anthropic Opus/Sonnet встановлено `params.context1m: true`.
|
||||
- Вибрана модель Anthropic Opus/Sonnet має `params.context1m: true`.
|
||||
- Поточні облікові дані Anthropic не мають права на використання довгого контексту.
|
||||
- Запити падають лише на довгих сеансах/запусках моделі, яким потрібен шлях 1M beta.
|
||||
- Запити падають лише на довгих сесіях/запусках моделі, яким потрібен шлях 1M beta.
|
||||
|
||||
Варіанти виправлення:
|
||||
|
||||
1. Вимкніть `context1m` для цієї моделі, щоб повернутися до звичайного вікна контексту.
|
||||
2. Використайте облікові дані Anthropic, які мають право на запити з довгим контекстом, або перейдіть на Anthropic API key.
|
||||
2. Використайте облікові дані Anthropic, які мають право на запити з довгим контекстом, або перейдіть на ключ Anthropic API.
|
||||
3. Налаштуйте резервні моделі, щоб запуски продовжувалися, коли запити Anthropic із довгим контекстом відхиляються.
|
||||
|
||||
Пов’язане:
|
||||
@ -66,13 +66,13 @@ openclaw config get agents.defaults.models
|
||||
- [/reference/token-use](/uk/reference/token-use)
|
||||
- [/help/faq#why-am-i-seeing-http-429-ratelimiterror-from-anthropic](/uk/help/faq#why-am-i-seeing-http-429-ratelimiterror-from-anthropic)
|
||||
|
||||
## Локальний OpenAI-сумісний backend проходить прямі probe, але запуски агента падають
|
||||
## Локальний OpenAI-сумісний бекенд проходить прямі probe, але запуски агента падають
|
||||
|
||||
Використовуйте це, коли:
|
||||
|
||||
- `curl ... /v1/models` працює
|
||||
- малі прямі виклики `/v1/chat/completions` працюють
|
||||
- запуски моделей OpenClaw падають лише на звичайних ходах агента
|
||||
- запуски моделі OpenClaw падають лише під час звичайних ходів агента
|
||||
|
||||
```bash
|
||||
curl http://127.0.0.1:1234/v1/models
|
||||
@ -86,32 +86,32 @@ openclaw logs --follow
|
||||
Зверніть увагу на таке:
|
||||
|
||||
- прямі малі виклики успішні, але запуски OpenClaw падають лише на більших prompt
|
||||
- помилки backend про те, що `messages[].content` має очікувати рядок
|
||||
- збої backend, які з’являються лише за більшої кількості prompt-token або в повних prompt середовища виконання агента
|
||||
- помилки бекенда про те, що `messages[].content` очікує рядок
|
||||
- збої бекенда, які з’являються лише за більших підрахунків prompt-token або повних prompt середовища виконання агента
|
||||
|
||||
Типові сигнатури:
|
||||
Поширені ознаки:
|
||||
|
||||
- `messages[...].content: invalid type: sequence, expected a string` → backend
|
||||
відхиляє структуровані частини вмісту Chat Completions. Виправлення: встановіть
|
||||
- `messages[...].content: invalid type: sequence, expected a string` → бекенд
|
||||
не приймає структуровані частини вмісту Chat Completions. Виправлення: установіть
|
||||
`models.providers.<provider>.models[].compat.requiresStringContent: true`.
|
||||
- прямі малі запити успішні, але запуски агента OpenClaw падають через збої backend/моделі
|
||||
(наприклад, Gemma на деяких збірках `inferrs`) → транспорт OpenClaw,
|
||||
імовірно, уже правильний; проблема в тому, що backend не справляється з більшими prompt
|
||||
середовища виконання агента.
|
||||
- прямі малі запити успішні, але запуски агента OpenClaw падають через збої
|
||||
бекенда/моделі (наприклад, Gemma на деяких збірках `inferrs`) → транспорт OpenClaw,
|
||||
імовірно, уже налаштований правильно; збій відбувається в бекенді через більшу форму
|
||||
prompt середовища виконання агента.
|
||||
- збої зменшуються після вимкнення інструментів, але не зникають → схеми інструментів
|
||||
були частиною навантаження, але решта проблеми все одно знаходиться вище за течією:
|
||||
це обмеження моделі/сервера або помилка backend.
|
||||
були частиною навантаження, але решта проблеми все одно полягає в обмеженнях моделі/сервера
|
||||
вищого рівня або в багу бекенда.
|
||||
|
||||
Варіанти виправлення:
|
||||
|
||||
1. Встановіть `compat.requiresStringContent: true` для backend Chat Completions, які підтримують лише рядковий вміст.
|
||||
2. Встановіть `compat.supportsTools: false` для моделей/backend, які не можуть надійно обробляти
|
||||
поверхню схем інструментів OpenClaw.
|
||||
3. Зменште навантаження на prompt, де це можливо: менший bootstrap робочого простору, коротша
|
||||
історія сеансу, легша локальна модель або backend із кращою підтримкою довгого контексту.
|
||||
4. Якщо прямі малі запити й далі проходять, а ходи агента OpenClaw все одно аварійно завершуються
|
||||
всередині backend, розглядайте це як обмеження upstream сервера/моделі й створіть
|
||||
там repro із прийнятою формою payload.
|
||||
1. Установіть `compat.requiresStringContent: true` для бекендів Chat Completions, що підтримують лише рядки.
|
||||
2. Установіть `compat.supportsTools: false` для моделей/бекендів, які не можуть
|
||||
надійно обробляти поверхню схем інструментів OpenClaw.
|
||||
3. Де можливо, зменште навантаження prompt: менший bootstrap робочого простору, коротша
|
||||
історія сесії, легша локальна модель або бекенд із кращою підтримкою довгого контексту.
|
||||
4. Якщо малі прямі запити й надалі проходять, а ходи агента OpenClaw все одно падають
|
||||
усередині бекенда, вважайте це обмеженням сервера/моделі вищого рівня та створіть
|
||||
там repro з прийнятою формою payload.
|
||||
|
||||
Пов’язане:
|
||||
|
||||
@ -121,7 +121,7 @@ openclaw logs --follow
|
||||
|
||||
## Немає відповідей
|
||||
|
||||
Якщо канали працюють, але нічого не відповідає, перевірте маршрутизацію та політику, перш ніж щось перепідключати.
|
||||
Якщо канали працюють, але відповіді немає, перш ніж щось перепідключати, перевірте маршрутизацію та політику.
|
||||
|
||||
```bash
|
||||
openclaw status
|
||||
@ -133,14 +133,14 @@ openclaw logs --follow
|
||||
|
||||
Зверніть увагу на таке:
|
||||
|
||||
- Pairing очікує на підтвердження для відправників у DM.
|
||||
- Обмеження згадок у групах (`requireMention`, `mentionPatterns`).
|
||||
- Очікує підтвердження pairing для відправників у DM.
|
||||
- Обмеження згадування в групі (`requireMention`, `mentionPatterns`).
|
||||
- Невідповідності allowlist каналу/групи.
|
||||
|
||||
Типові сигнатури:
|
||||
Поширені ознаки:
|
||||
|
||||
- `drop guild message (mention required` → групове повідомлення ігнорується, доки немає згадки.
|
||||
- `pairing request` → відправник потребує схвалення.
|
||||
- `drop guild message (mention required` → повідомлення групи ігнорується, доки немає згадки.
|
||||
- `pairing request` → відправника потрібно схвалити.
|
||||
- `blocked` / `allowlist` → відправника/канал було відфільтровано політикою.
|
||||
|
||||
Пов’язане:
|
||||
@ -149,7 +149,7 @@ openclaw logs --follow
|
||||
- [/channels/pairing](/uk/channels/pairing)
|
||||
- [/channels/groups](/uk/channels/groups)
|
||||
|
||||
## Підключення до dashboard/control UI
|
||||
## Підключення dashboard/control UI
|
||||
|
||||
Коли dashboard/control UI не підключається, перевірте URL, режим автентифікації та припущення щодо безпечного контексту.
|
||||
|
||||
@ -163,49 +163,48 @@ openclaw gateway status --json
|
||||
|
||||
Зверніть увагу на таке:
|
||||
|
||||
- Правильні URL probe і dashboard.
|
||||
- Правильний URL probe і URL dashboard.
|
||||
- Невідповідність режиму автентифікації/токена між клієнтом і Gateway.
|
||||
- Використання HTTP там, де потрібна ідентичність пристрою.
|
||||
|
||||
Типові сигнатури:
|
||||
Поширені ознаки:
|
||||
|
||||
- `device identity required` → небезпечний контекст або відсутня автентифікація пристрою.
|
||||
- `origin not allowed` → `Origin` браузера відсутній у `gateway.controlUi.allowedOrigins`
|
||||
(або ви підключаєтеся з не-loopback origin браузера без явного
|
||||
- `origin not allowed` → браузерний `Origin` відсутній у `gateway.controlUi.allowedOrigins`
|
||||
(або ви підключаєтеся з браузерного origin не з loopback без явного
|
||||
allowlist).
|
||||
- `device nonce required` / `device nonce mismatch` → клієнт не завершує
|
||||
challenge-based потік автентифікації пристрою (`connect.challenge` + `device.nonce`).
|
||||
- `device signature invalid` / `device signature expired` → клієнт підписав неправильний
|
||||
payload (або застарілу часову мітку) для поточного handshake.
|
||||
- `AUTH_TOKEN_MISMATCH` з `canRetryWithDeviceToken=true` → клієнт може виконати одну довірену повторну спробу з кешованим токеном пристрою.
|
||||
- Ця повторна спроба з кешованим токеном повторно використовує кешований набір scope, збережений із пов’язаним
|
||||
токеном пристрою. Виклики з явним `deviceToken` / явними `scopes` зберігають свій
|
||||
запитаний набір scope.
|
||||
- Поза цим шляхом повторної спроби пріоритет автентифікації підключення такий:
|
||||
спочатку явний shared token/password, потім явний `deviceToken`, далі збережений токен пристрою,
|
||||
а потім bootstrap token.
|
||||
- В асинхронному шляху Tailscale Serve Control UI невдалі спроби для того самого
|
||||
`{scope, ip}` серіалізуються до того, як обмежувач зафіксує невдачу. Тому дві одночасні
|
||||
хибні повторні спроби від того самого клієнта можуть дати `retry later`
|
||||
на другій спробі замість двох звичайних невідповідностей.
|
||||
payload (або payload із застарілою часовою міткою) для поточного handshake.
|
||||
- `AUTH_TOKEN_MISMATCH` із `canRetryWithDeviceToken=true` → клієнт може виконати одну довірену повторну спробу з кешованим токеном пристрою.
|
||||
- Ця повторна спроба з кешованим токеном повторно використовує кешований набір scope, збережений із paired
|
||||
токеном пристрою. Виклики з явним `deviceToken` / явними `scopes` натомість зберігають
|
||||
свій запитаний набір scope.
|
||||
- Поза цим шляхом повторної спроби пріоритет автентифікації підключення такий: спочатку явний спільний
|
||||
token/password, потім явний `deviceToken`, потім збережений токен пристрою,
|
||||
потім bootstrap token.
|
||||
- На асинхронному шляху Tailscale Serve Control UI невдалі спроби для того самого
|
||||
`{scope, ip}` серіалізуються до того, як лімітер зафіксує помилку. Тому дві неправильні
|
||||
одночасні повторні спроби від того самого клієнта можуть показати `retry later`
|
||||
у другій спробі замість двох звичайних невідповідностей.
|
||||
- `too many failed authentication attempts (retry later)` від loopback-клієнта з browser-origin
|
||||
→ повторні невдалі спроби з того самого нормалізованого `Origin` тимчасово блокуються;
|
||||
інший localhost origin використовує окремий bucket.
|
||||
- повторювані `unauthorized` після цієї повторної спроби → розсинхронізація shared token/device token; оновіть конфігурацію токена та за потреби повторно схваліть/перевипустіть токен пристрою.
|
||||
- `gateway connect failed:` → неправильний host/port/url призначення.
|
||||
→ повторні помилки від того самого нормалізованого `Origin` тимчасово блокуються; інший localhost origin використовує окремий bucket.
|
||||
- повторюваний `unauthorized` після цієї повторної спроби → дрейф shared token/device token; оновіть конфігурацію токена та за потреби повторно схваліть/перевипустіть токен пристрою.
|
||||
- `gateway connect failed:` → неправильна ціль host/port/url.
|
||||
|
||||
### Швидка таблиця кодів деталей автентифікації
|
||||
### Швидка мапа детальних кодів автентифікації
|
||||
|
||||
Використовуйте `error.details.code` з невдалого `connect` response, щоб вибрати наступну дію:
|
||||
Використовуйте `error.details.code` із невдалої відповіді `connect`, щоб вибрати наступну дію:
|
||||
|
||||
| Код деталей | Значення | Рекомендована дія |
|
||||
| --------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| `AUTH_TOKEN_MISSING` | Клієнт не надіслав обов’язковий shared token. | Вставте/задайте токен у клієнті й повторіть спробу. Для шляхів dashboard: `openclaw config get gateway.auth.token`, потім вставте його в налаштуваннях Control UI. |
|
||||
| `AUTH_TOKEN_MISMATCH` | Shared token не збігся з токеном автентифікації Gateway. | Якщо `canRetryWithDeviceToken=true`, дозвольте одну довірену повторну спробу. Повторні спроби з кешованим токеном повторно використовують збережені схвалені scope; виклики з явним `deviceToken` / `scopes` зберігають запитані scope. Якщо все ще не вдається, виконайте [контрольний список відновлення після дрейфу токена](/cli/devices#token-drift-recovery-checklist). |
|
||||
| `AUTH_DEVICE_TOKEN_MISMATCH` | Кешований токен для окремого пристрою застарів або був відкликаний. | Перевипустіть/повторно схваліть токен пристрою за допомогою [devices CLI](/cli/devices), а потім перепідключіться. |
|
||||
| `PAIRING_REQUIRED` | Ідентичність пристрою потребує схвалення. Перевірте `error.details.reason` для `not-paired`, `scope-upgrade`, `role-upgrade` або `metadata-upgrade` і використайте `requestId` / `remediationHint`, якщо вони є. | Схваліть запит, що очікує: `openclaw devices list`, потім `openclaw devices approve <requestId>`. Підвищення scope/ролі використовують той самий потік після перевірки запитаного доступу. |
|
||||
| Detail code | Значення | Рекомендована дія |
|
||||
| ---------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| `AUTH_TOKEN_MISSING` | Клієнт не надіслав обов’язковий спільний токен. | Вставте/установіть токен у клієнті та повторіть спробу. Для шляхів dashboard: `openclaw config get gateway.auth.token`, потім вставте його в налаштуваннях Control UI. |
|
||||
| `AUTH_TOKEN_MISMATCH` | Спільний токен не збігся з токеном автентифікації Gateway. | Якщо `canRetryWithDeviceToken=true`, дозвольте одну довірену повторну спробу. Повторні спроби з кешованим токеном повторно використовують збережені схвалені scope; виклики з явним `deviceToken` / `scopes` зберігають запитаний набір scope. Якщо помилка лишається, виконайте [контрольний список відновлення після дрейфу токена](/cli/devices#token-drift-recovery-checklist). |
|
||||
| `AUTH_DEVICE_TOKEN_MISMATCH` | Кешований токен для конкретного пристрою застарів або був відкликаний. | Перевипустіть/повторно схваліть токен пристрою за допомогою [CLI пристроїв](/cli/devices), а потім підключіться знову. |
|
||||
| `PAIRING_REQUIRED` | Ідентичність пристрою потребує схвалення. Перевірте `error.details.reason` для `not-paired`, `scope-upgrade`, `role-upgrade` або `metadata-upgrade` і використовуйте `requestId` / `remediationHint`, якщо вони є. | Схваліть запит, що очікує розгляду: `openclaw devices list`, потім `openclaw devices approve <requestId>`. Оновлення scope/role використовують той самий потік після того, як ви перевірите запитаний доступ. |
|
||||
|
||||
Перевірка міграції device auth v2:
|
||||
Перевірка міграції автентифікації пристрою v2:
|
||||
|
||||
```bash
|
||||
openclaw --version
|
||||
@ -213,18 +212,18 @@ openclaw doctor
|
||||
openclaw gateway status
|
||||
```
|
||||
|
||||
Якщо журнали показують помилки nonce/signature, оновіть клієнт, що підключається, і перевірте, що він:
|
||||
Якщо журнали показують помилки nonce/signature, оновіть клієнт, що підключається, і переконайтеся, що він:
|
||||
|
||||
1. чекає на `connect.challenge`
|
||||
2. підписує payload, прив’язаний до challenge
|
||||
3. надсилає `connect.params.device.nonce` з тим самим nonce challenge
|
||||
3. надсилає `connect.params.device.nonce` із тим самим nonce challenge
|
||||
|
||||
Якщо `openclaw devices rotate` / `revoke` / `remove` несподівано заборонено:
|
||||
Якщо `openclaw devices rotate` / `revoke` / `remove` неочікувано відхиляється:
|
||||
|
||||
- сеанси токена пов’язаного пристрою можуть керувати лише **власним**
|
||||
пристроєм, якщо викликальник також не має `operator.admin`
|
||||
- сесії токенів paired-device можуть керувати лише **власним** пристроєм, якщо
|
||||
виклик не має також `operator.admin`
|
||||
- `openclaw devices rotate --scope ...` може запитувати лише ті operator scope,
|
||||
які сеанс викликальника вже має
|
||||
які сесія виклику вже має
|
||||
|
||||
Пов’язане:
|
||||
|
||||
@ -234,32 +233,32 @@ openclaw gateway status
|
||||
- [/gateway/remote](/uk/gateway/remote)
|
||||
- [/cli/devices](/cli/devices)
|
||||
|
||||
## Сервіс Gateway не запущено
|
||||
## Служба Gateway не запущена
|
||||
|
||||
Використовуйте це, коли сервіс установлено, але процес не залишається запущеним.
|
||||
Використовуйте це, коли службу встановлено, але процес не утримується в робочому стані.
|
||||
|
||||
```bash
|
||||
openclaw gateway status
|
||||
openclaw status
|
||||
openclaw logs --follow
|
||||
openclaw doctor
|
||||
openclaw gateway status --deep # також проскануйте системні сервіси
|
||||
openclaw gateway status --deep # також сканувати системні служби
|
||||
```
|
||||
|
||||
Зверніть увагу на таке:
|
||||
|
||||
- `Runtime: stopped` із підказками щодо завершення.
|
||||
- Невідповідність конфігурації сервісу (`Config (cli)` проти `Config (service)`).
|
||||
- Конфлікти порту/слухача.
|
||||
- Додаткові встановлення launchd/systemd/schtasks при використанні `--deep`.
|
||||
- Підказки очищення `Other gateway-like services detected (best effort)`.
|
||||
- Невідповідність конфігурації служби (`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 (token/password або trusted-proxy, якщо налаштовано).
|
||||
- `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 (token/password або trusted-proxy, якщо налаштовано).
|
||||
- `another gateway instance is already listening` / `EADDRINUSE` → конфлікт порту.
|
||||
- `Other gateway-like services detected (best effort)` → існують застарілі або паралельні модулі launchd/systemd/schtasks. У більшості конфігурацій на машині має бути один gateway; якщо вам справді потрібно більше одного, ізолюйте порти + config/state/workspace. Див. [/gateway#multiple-gateways-same-host](/uk/gateway#multiple-gateways-same-host).
|
||||
- `Other gateway-like services detected (best effort)` → існують застарілі або паралельні модулі launchd/systemd/schtasks. У більшості налаштувань на одній машині має бути один Gateway; якщо вам справді потрібно більше одного, ізолюйте порти + конфігурацію/стан/робочий простір. Див. [/gateway#multiple-gateways-same-host](/uk/gateway#multiple-gateways-same-host).
|
||||
|
||||
Пов’язане:
|
||||
|
||||
@ -284,16 +283,16 @@ openclaw doctor
|
||||
- `gateway: invalid config was restored from last-known-good backup`
|
||||
- `config reload restored last-known-good config after invalid-config`
|
||||
- Файл із часовою міткою `openclaw.json.clobbered.*` поруч з активною конфігурацією
|
||||
- Подія системи main-agent, яка починається з `Config recovery warning`
|
||||
- Системна подія головного агента, що починається з `Config recovery warning`
|
||||
|
||||
Що сталося:
|
||||
|
||||
- Відхилена конфігурація не пройшла валідацію під час запуску або гарячого перезавантаження.
|
||||
- OpenClaw зберіг відхилений payload як `.clobbered.*`.
|
||||
- Активну конфігурацію було відновлено з останньої перевіреної справної копії.
|
||||
- Наступний хід main-agent отримує попередження не переписувати відхилену конфігурацію навмання.
|
||||
- Активну конфігурацію було відновлено з останньої перевіреної останньої відомої справної копії.
|
||||
- На наступному ході головного агента з’явиться попередження не переписувати відхилену конфігурацію всліпу.
|
||||
|
||||
Перевірка та виправлення:
|
||||
Перевірка і виправлення:
|
||||
|
||||
```bash
|
||||
CONFIG="$(openclaw config file)"
|
||||
@ -303,19 +302,19 @@ openclaw config validate
|
||||
openclaw doctor
|
||||
```
|
||||
|
||||
Типові сигнатури:
|
||||
Поширені ознаки:
|
||||
|
||||
- існує `.clobbered.*` → було відновлено зовнішнє пряме редагування або читання під час запуску.
|
||||
- існує `.rejected.*` → запис конфігурації, що належить OpenClaw, не пройшов перевірку схеми або перевірки clobber перед фіксацією.
|
||||
- `Config write rejected:` → під час запису була спроба прибрати обов’язкову структуру, різко зменшити файл або зберегти невалідну конфігурацію.
|
||||
- `Config last-known-good promotion skipped` → кандидат містив замасковані заповнювачі секретів, наприклад `***`.
|
||||
- існує `.rejected.*` → запис конфігурації, яким керував OpenClaw, не пройшов перевірки схеми або перевірки clobber перед підтвердженням.
|
||||
- `Config write rejected:` → запис намагався прибрати обов’язкову структуру, різко зменшити файл або зберегти невалідну конфігурацію.
|
||||
- `Config last-known-good promotion skipped` → кандидат містив замасковані placeholder секретів, наприклад `***`.
|
||||
|
||||
Варіанти виправлення:
|
||||
|
||||
1. Залиште відновлену активну конфігурацію, якщо вона правильна.
|
||||
2. Скопіюйте лише потрібні ключі з `.clobbered.*` або `.rejected.*`, а потім застосуйте їх через `openclaw config set` або `config.patch`.
|
||||
3. Запустіть `openclaw config validate` перед перезапуском.
|
||||
4. Якщо редагуєте вручну, зберігайте повну JSON5-конфігурацію, а не лише частковий об’єкт, який хотіли змінити.
|
||||
3. Перед перезапуском виконайте `openclaw config validate`.
|
||||
4. Якщо редагуєте вручну, зберігайте повну конфігурацію JSON5, а не лише частковий об’єкт, який хотіли змінити.
|
||||
|
||||
Пов’язане:
|
||||
|
||||
@ -326,7 +325,7 @@ openclaw doctor
|
||||
|
||||
## Попередження probe Gateway
|
||||
|
||||
Використовуйте це, коли `openclaw gateway probe` до чогось достукується, але все одно виводить блок попередження.
|
||||
Використовуйте це, коли `openclaw gateway probe` щось досягає, але все одно виводить блок попереджень.
|
||||
|
||||
```bash
|
||||
openclaw gateway probe
|
||||
@ -336,16 +335,16 @@ openclaw gateway probe --ssh user@gateway-host
|
||||
|
||||
Зверніть увагу на таке:
|
||||
|
||||
- `warnings[].code` і `primaryTargetId` у JSON-виводі.
|
||||
- Чи стосується попередження резервного переходу на SSH, кількох gateway, відсутніх scope або нерозв’язаних auth refs.
|
||||
- `warnings[].code` і `primaryTargetId` у виводі JSON.
|
||||
- Чи стосується попередження SSH fallback, кількох Gateway, відсутніх scope або нерозв’язаних посилань auth.
|
||||
|
||||
Типові сигнатури:
|
||||
Поширені ознаки:
|
||||
|
||||
- `SSH tunnel failed to start; falling back to direct probes.` → налаштування SSH не вдалося, але команда все одно спробувала прямі налаштовані/loopback цілі.
|
||||
- `multiple reachable gateways detected` → відповіло більше однієї цілі. Зазвичай це означає навмисну конфігурацію з кількома gateway або застарілі/дубльовані слухачі.
|
||||
- `Read-probe diagnostics are limited by gateway scopes (missing operator.read)` → підключення спрацювало, але детальний RPC обмежено scope; виконайте pairing ідентичності пристрою або використайте облікові дані з `operator.read`.
|
||||
- `Capability: pairing-pending` або `gateway closed (1008): pairing required` → gateway відповів, але цьому клієнту все ще потрібне pairing/схвалення перед звичайним доступом оператора.
|
||||
- нерозв’язаний текст попередження `gateway.auth.*` / `gateway.remote.*` SecretRef → auth-матеріал був недоступний у цьому шляху команди для цілі, що не вдалася.
|
||||
- `SSH tunnel failed to start; falling back to direct probes.` → налаштування SSH не спрацювало, але команда все одно спробувала прямі налаштовані/loopback цілі.
|
||||
- `multiple reachable gateways detected` → відповіло більше однієї цілі. Зазвичай це означає навмисну конфігурацію з кількома Gateway або застарілі/дубльовані слухачі.
|
||||
- `Read-probe diagnostics are limited by gateway scopes (missing operator.read)` → підключення спрацювало, але detail RPC обмежено scope; виконайте pairing ідентичності пристрою або використайте облікові дані з `operator.read`.
|
||||
- `Capability: pairing-pending` або `gateway closed (1008): pairing required` → Gateway відповів, але цьому клієнту все ще потрібне pairing/схвалення перед звичайним доступом оператора.
|
||||
- нерозв’язане попередження SecretRef у тексті `gateway.auth.*` / `gateway.remote.*` → матеріал автентифікації був недоступний у цьому шляху команди для цілі, що не вдалася.
|
||||
|
||||
Пов’язане:
|
||||
|
||||
@ -353,9 +352,9 @@ openclaw gateway probe --ssh user@gateway-host
|
||||
- [/gateway#multiple-gateways-same-host](/uk/gateway#multiple-gateways-same-host)
|
||||
- [/gateway/remote](/uk/gateway/remote)
|
||||
|
||||
## Канал підключено, але повідомлення не проходять
|
||||
## Канал підключений, але повідомлення не проходять
|
||||
|
||||
Якщо стан каналу — підключено, але потік повідомлень мертвий, зосередьтеся на політиках, дозволах і правилах доставки, специфічних для каналу.
|
||||
Якщо стан каналу показує підключення, але потік повідомлень не працює, зосередьтеся на політиці, дозволах і правилах доставки, специфічних для каналу.
|
||||
|
||||
```bash
|
||||
openclaw channels status --probe
|
||||
@ -368,12 +367,12 @@ openclaw config get channels
|
||||
Зверніть увагу на таке:
|
||||
|
||||
- Політика DM (`pairing`, `allowlist`, `open`, `disabled`).
|
||||
- Group allowlist і вимоги до згадок.
|
||||
- Груповий allowlist і вимоги до згадувань.
|
||||
- Відсутні дозволи/scopes API каналу.
|
||||
|
||||
Типові сигнатури:
|
||||
Поширені ознаки:
|
||||
|
||||
- `mention required` → повідомлення ігнорується політикою згадок у групі.
|
||||
- `mention required` → повідомлення ігнорується через політику згадувань у групі.
|
||||
- `pairing` / сліди очікування схвалення → відправника не схвалено.
|
||||
- `missing_scope`, `not_in_channel`, `Forbidden`, `401/403` → проблема з автентифікацією/дозволами каналу.
|
||||
|
||||
@ -386,7 +385,7 @@ openclaw config get channels
|
||||
|
||||
## Доставка Cron і Heartbeat
|
||||
|
||||
Якщо Cron або Heartbeat не запустилися або не доставилися, спочатку перевірте стан планувальника, а потім ціль доставки.
|
||||
Якщо Cron або Heartbeat не запустився чи не доставився, спочатку перевірте стан планувальника, а потім ціль доставки.
|
||||
|
||||
```bash
|
||||
openclaw cron status
|
||||
@ -398,19 +397,19 @@ openclaw logs --follow
|
||||
|
||||
Зверніть увагу на таке:
|
||||
|
||||
- Cron увімкнено, і присутній час наступного пробудження.
|
||||
- Стан історії запусків завдання (`ok`, `skipped`, `error`).
|
||||
- Cron увімкнено і є наступне пробудження.
|
||||
- Статус історії запусків завдання (`ok`, `skipped`, `error`).
|
||||
- Причини пропуску Heartbeat (`quiet-hours`, `requests-in-flight`, `alerts-disabled`, `empty-heartbeat-file`, `no-tasks-due`).
|
||||
|
||||
Типові сигнатури:
|
||||
Поширені ознаки:
|
||||
|
||||
- `cron: scheduler disabled; jobs will not run automatically` → Cron вимкнено.
|
||||
- `cron: timer tick failed` → збій тика планувальника; перевірте помилки файлів/журналів/середовища виконання.
|
||||
- `cron: timer tick failed` → збій тіку планувальника; перевірте помилки файлів/журналів/середовища виконання.
|
||||
- `heartbeat skipped` з `reason=quiet-hours` → поза вікном активних годин.
|
||||
- `heartbeat skipped` з `reason=empty-heartbeat-file` → `HEARTBEAT.md` існує, але містить лише порожні рядки / markdown-заголовки, тому OpenClaw пропускає виклик моделі.
|
||||
- `heartbeat skipped` з `reason=no-tasks-due` → `HEARTBEAT.md` містить блок `tasks:`, але жодне із завдань не має виконуватися на цьому тику.
|
||||
- `heartbeat: unknown accountId` → недійсний account id для цілі доставки Heartbeat.
|
||||
- `heartbeat skipped` з `reason=dm-blocked` → ціль Heartbeat було визначено як призначення у стилі DM, тоді як `agents.defaults.heartbeat.directPolicy` (або перевизначення для окремого агента) має значення `block`.
|
||||
- `heartbeat skipped` з `reason=empty-heartbeat-file` → `HEARTBEAT.md` існує, але містить лише порожні рядки / заголовки markdown, тому OpenClaw пропускає виклик моделі.
|
||||
- `heartbeat skipped` з `reason=no-tasks-due` → `HEARTBEAT.md` містить блок `tasks:`, але жодне із завдань не має виконуватися на цьому тіку.
|
||||
- `heartbeat: unknown accountId` → недійсний id акаунта для цілі доставки Heartbeat.
|
||||
- `heartbeat skipped` з `reason=dm-blocked` → ціль Heartbeat визначилась як пункт призначення в стилі DM, тоді як `agents.defaults.heartbeat.directPolicy` (або перевизначення для конкретного агента) має значення `block`.
|
||||
|
||||
Пов’язане:
|
||||
|
||||
@ -418,9 +417,9 @@ openclaw logs --follow
|
||||
- [/automation/cron-jobs](/uk/automation/cron-jobs)
|
||||
- [/gateway/heartbeat](/uk/gateway/heartbeat)
|
||||
|
||||
## Збій інструмента пов’язаного Node
|
||||
## Збій інструмента paired Node
|
||||
|
||||
Якщо Node пов’язаний, але інструменти не працюють, ізолюйте стан foreground, дозволів і схвалення.
|
||||
Якщо Node paired, але інструменти не працюють, ізолюйте стан переднього плану, дозволів і схвалення.
|
||||
|
||||
```bash
|
||||
openclaw nodes status
|
||||
@ -433,15 +432,15 @@ openclaw status
|
||||
Зверніть увагу на таке:
|
||||
|
||||
- Node онлайн з очікуваними можливостями.
|
||||
- Надані дозволи ОС на камеру/мікрофон/геолокацію/екран.
|
||||
- Дозволи ОС для камери/мікрофона/геолокації/екрана.
|
||||
- Стан схвалень exec і allowlist.
|
||||
|
||||
Типові сигнатури:
|
||||
Поширені ознаки:
|
||||
|
||||
- `NODE_BACKGROUND_UNAVAILABLE` → застосунок Node має бути на передньому плані.
|
||||
- `*_PERMISSION_REQUIRED` / `LOCATION_PERMISSION_REQUIRED` → відсутній дозвіл ОС.
|
||||
- `SYSTEM_RUN_DENIED: approval required` → очікується схвалення exec.
|
||||
- `SYSTEM_RUN_DENIED: allowlist miss` → команду заблоковано через allowlist.
|
||||
- `*_PERMISSION_REQUIRED` / `LOCATION_PERMISSION_REQUIRED` → бракує дозволу ОС.
|
||||
- `SYSTEM_RUN_DENIED: approval required` → схвалення exec очікує.
|
||||
- `SYSTEM_RUN_DENIED: allowlist miss` → команду заблоковано allowlist.
|
||||
|
||||
Пов’язане:
|
||||
|
||||
@ -449,9 +448,9 @@ openclaw status
|
||||
- [/nodes/index](/uk/nodes/index)
|
||||
- [/tools/exec-approvals](/uk/tools/exec-approvals)
|
||||
|
||||
## Збій browser tool
|
||||
## Збій інструмента браузера
|
||||
|
||||
Використовуйте це, коли дії browser tool не вдаються, хоча сам gateway справний.
|
||||
Використовуйте це, коли дії інструмента браузера не вдаються, хоча сам Gateway справний.
|
||||
|
||||
```bash
|
||||
openclaw browser status
|
||||
@ -463,30 +462,31 @@ openclaw doctor
|
||||
|
||||
Зверніть увагу на таке:
|
||||
|
||||
- Чи встановлено `plugins.allow` і чи містить воно `browser`.
|
||||
- Коректний шлях до виконуваного файла браузера.
|
||||
- Чи встановлено `plugins.allow` і чи містить він `browser`.
|
||||
- Чинний шлях до виконуваного файла браузера.
|
||||
- Досяжність профілю CDP.
|
||||
- Наявність локального Chrome для профілів `existing-session` / `user`.
|
||||
- Доступність локального Chrome для профілів `existing-session` / `user`.
|
||||
|
||||
Типові сигнатури:
|
||||
Поширені ознаки:
|
||||
|
||||
- `unknown command "browser"` або `unknown command 'browser'` → вбудований browser Plugin виключено через `plugins.allow`.
|
||||
- browser tool відсутній / недоступний, хоча `browser.enabled=true` → `plugins.allow` виключає `browser`, тому Plugin ніколи не завантажувався.
|
||||
- `Failed to start Chrome CDP on port` → процес браузера не зміг запуститися.
|
||||
- `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 має некоректний або недопустимий порт.
|
||||
- `browser.cdpUrl must be http(s) or ws(s)` → налаштований URL CDP використовує непідтримувану схему, таку як `file:` або `ftp:`.
|
||||
- `browser.cdpUrl has invalid port` → налаштований URL CDP має некоректний або неприпустимий порт.
|
||||
- `Could not find DevToolsActivePort for chrome` → наявна сесія Chrome MCP `existing-session` ще не змогла приєднатися до вибраного каталогу даних браузера. Відкрийте сторінку inspect браузера, увімкніть віддалене налагодження, залиште браузер відкритим, схваліть перший запит на приєднання, а потім повторіть спробу. Якщо стан входу не потрібен, надайте перевагу керованому профілю `openclaw`.
|
||||
- `No Chrome 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 endpoint відповіла, але CDP WebSocket все одно не вдалося відкрити.
|
||||
- `Playwright is not available in this gateway build; '<feature>' is unsupported.` → у поточній інсталяції gateway відсутній повний пакет Playwright; знімки ARIA та базові знімки сторінки все ще можуть працювати, але навігація, AI snapshots, знімки елементів за CSS-селекторами та експорт PDF залишаються недоступними.
|
||||
- `fullPage is not supported for element screenshots` → запит на screenshot поєднав `--full-page` з `--ref` або `--element`.
|
||||
- `element screenshots are not supported for existing-session profiles; use ref from snapshot.` → виклики screenshot для Chrome MCP / `existing-session` мають використовувати захоплення сторінки або `--ref` зі snapshot, а не CSS `--element`.
|
||||
- `existing-session file uploads do not support element selectors; use ref/inputRef.` → хуки завантаження файлів Chrome MCP потребують snapshot refs, а не CSS-селекторів.
|
||||
- `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 endpoint відповів, але WebSocket CDP усе одно не вдалося відкрити.
|
||||
- `Playwright is not available in this gateway build; '<feature>' is unsupported.` → у поточному встановленні Gateway немає повного пакета Playwright; ARIA-знімки й базові знімки сторінки все ще можуть працювати, але навігація, AI-знімки, знімки елементів за CSS-селекторами й експорт PDF залишаються недоступними.
|
||||
- `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` зі snapshot, а не CSS `--element`.
|
||||
- `existing-session file uploads do not support element selectors; use ref/inputRef.` → хуки завантаження файлів Chrome MCP потребують посилань snapshot, а не CSS-селекторів.
|
||||
- `existing-session file uploads currently support one file at a time.` → надсилайте одне завантаження за виклик у профілях Chrome MCP.
|
||||
- `existing-session dialog handling does not support timeoutMs.` → хуки діалогів у профілях Chrome MCP не підтримують перевизначення timeout.
|
||||
- `response body is not supported for existing-session profiles yet.` → `responsebody` все ще потребує керованого браузера або профілю raw CDP.
|
||||
- застарілі перевизначення viewport / dark-mode / locale / offline у профілях attach-only або remote CDP → запустіть `openclaw browser stop --browser-profile <name>`, щоб закрити активний сеанс керування й звільнити стан емуляції Playwright/CDP без перезапуску всього gateway.
|
||||
- `response body is not supported for existing-session profiles yet.` → `responsebody` поки що вимагає керований браузер або профіль raw CDP.
|
||||
- застарілі перевизначення viewport / dark-mode / locale / offline у профілях лише для приєднання або віддалених CDP → виконайте `openclaw browser stop --browser-profile <name>`, щоб закрити активну контрольну сесію та звільнити стан емуляції Playwright/CDP без перезапуску всього Gateway.
|
||||
|
||||
Пов’язане:
|
||||
|
||||
@ -497,7 +497,7 @@ openclaw doctor
|
||||
|
||||
Більшість збоїв після оновлення — це дрейф конфігурації або суворіші типові значення, які тепер примусово застосовуються.
|
||||
|
||||
### 1) Змінилася поведінка автентифікації та перевизначення URL
|
||||
### 1) Поведінка автентифікації та перевизначення URL змінилася
|
||||
|
||||
```bash
|
||||
openclaw gateway status
|
||||
@ -508,13 +508,13 @@ openclaw config get gateway.auth.mode
|
||||
|
||||
Що перевірити:
|
||||
|
||||
- Якщо `gateway.mode=remote`, виклики CLI можуть бути спрямовані на віддалений вузол, тоді як ваш локальний сервіс справний.
|
||||
- Явні виклики `--url` не переходять на резервні збережені облікові дані.
|
||||
- Якщо `gateway.mode=remote`, виклики CLI можуть бути спрямовані на віддалений Gateway, тоді як ваша локальна служба справна.
|
||||
- Явні виклики з `--url` не повертаються до збережених облікових даних.
|
||||
|
||||
Типові сигнатури:
|
||||
Поширені ознаки:
|
||||
|
||||
- `gateway connect failed:` → неправильна ціль URL.
|
||||
- `unauthorized` → endpoint досяжна, але автентифікація неправильна.
|
||||
- `unauthorized` → endpoint досяжний, але автентифікація неправильна.
|
||||
|
||||
### 2) Обмеження bind і auth стали суворішими
|
||||
|
||||
@ -528,15 +528,15 @@ openclaw logs --follow
|
||||
|
||||
Що перевірити:
|
||||
|
||||
- Прив’язки до не-loopback адрес (`lan`, `tailnet`, `custom`) потребують коректного шляху автентифікації gateway: shared token/password auth або правильно налаштованого розгортання `trusted-proxy` для не-loopback адрес.
|
||||
- Старі ключі на кшталт `gateway.token` не замінюють `gateway.auth.token`.
|
||||
- Прив’язки не до loopback (`lan`, `tailnet`, `custom`) потребують дійсного шляху автентифікації gateway: спільна автентифікація token/password або правильно налаштоване розгортання `trusted-proxy` не для loopback.
|
||||
- Старі ключі, такі як `gateway.token`, не замінюють `gateway.auth.token`.
|
||||
|
||||
Типові сигнатури:
|
||||
Поширені ознаки:
|
||||
|
||||
- `refusing to bind gateway ... without auth` → прив’язка до не-loopback адреси без коректного шляху автентифікації gateway.
|
||||
- `Connectivity probe: failed`, хоча середовище виконання запущене → gateway працює, але недоступний із поточними auth/url.
|
||||
- `refusing to bind gateway ... without auth` → прив’язка не до loopback без дійсного шляху автентифікації gateway.
|
||||
- `Connectivity probe: failed` коли середовище виконання працює → Gateway живий, але недоступний із поточними auth/url.
|
||||
|
||||
### 3) Змінився стан pairing та ідентичності пристрою
|
||||
### 3) Стан pairing та ідентичності пристрою змінився
|
||||
|
||||
```bash
|
||||
openclaw devices list
|
||||
@ -548,14 +548,14 @@ openclaw doctor
|
||||
Що перевірити:
|
||||
|
||||
- Незавершені схвалення пристроїв для dashboard/nodes.
|
||||
- Незавершені схвалення pairing для DM після змін політики або ідентичності.
|
||||
- Незавершені схвалення pairing у DM після змін політики або ідентичності.
|
||||
|
||||
Типові сигнатури:
|
||||
Поширені ознаки:
|
||||
|
||||
- `device identity required` → вимоги device auth не виконано.
|
||||
- `device identity required` → автентифікацію пристрою не виконано.
|
||||
- `pairing required` → відправника/пристрій потрібно схвалити.
|
||||
|
||||
Якщо конфігурація сервісу та середовище виконання все ще не збігаються після перевірок, перевстановіть метадані сервісу з того самого каталогу профілю/стану:
|
||||
Якщо після перевірок конфігурація служби і середовище виконання все ще не збігаються, перевстановіть метадані служби з того самого каталогу профілю/стану:
|
||||
|
||||
```bash
|
||||
openclaw gateway install --force
|
||||
|
||||
Loading…
Reference in New Issue
Block a user