From 3d5bc53603aa8de9cb6168db1b9a8b442ddecf7c Mon Sep 17 00:00:00 2001 From: "openclaw-docs-i18n[bot]" Date: Wed, 8 Apr 2026 16:06:15 +0000 Subject: [PATCH] chore(i18n): refresh uk translations --- docs/uk/gateway/doctor.md | 426 +++++++++++++++++++------------------- 1 file changed, 216 insertions(+), 210 deletions(-) diff --git a/docs/uk/gateway/doctor.md b/docs/uk/gateway/doctor.md index 26cea1e03..2f1ea6966 100644 --- a/docs/uk/gateway/doctor.md +++ b/docs/uk/gateway/doctor.md @@ -5,18 +5,18 @@ read_when: summary: 'Команда Doctor: перевірки стану, міграції конфігурації та кроки відновлення' title: Doctor x-i18n: - generated_at: "2026-04-08T02:10:27Z" + generated_at: "2026-04-08T16:06:15Z" model: gpt-5.4 provider: openai - source_hash: 3761a222d9db7088f78215575fa84e5896794ad701aa716e8bf9039a4424dca6 + source_hash: a2f701f5c22cd5afc6b62cf2d916f183155ee55b5cebf03ef0d1272b94121cf7 source_path: gateway/doctor.md workflow: 15 --- # Doctor -`openclaw doctor` — це інструмент відновлення та міграції для OpenClaw. Він виправляє застарілий -конфігураційний файл/стан, перевіряє працездатність і надає практичні кроки для відновлення. +`openclaw doctor` — це інструмент відновлення та міграції для OpenClaw. Він виправляє застарілі +конфігурації/стан, перевіряє стан системи та надає практичні кроки для відновлення. ## Швидкий старт @@ -24,13 +24,13 @@ x-i18n: openclaw doctor ``` -### Безголовий режим / автоматизація +### Без інтерфейсу / автоматизація ```bash openclaw doctor --yes ``` -Прийняти типові значення без запитів (зокрема кроки відновлення перезапуску/служб/пісочниці, де це застосовно). +Прийняти типові значення без запитів (зокрема кроки відновлення перезапуску/сервісів/пісочниці, якщо застосовно). ```bash openclaw doctor --repair @@ -42,20 +42,20 @@ openclaw doctor --repair openclaw doctor --repair --force ``` -Застосувати також агресивні виправлення (перезаписує користувацькі конфігурації supervisor). +Застосувати також агресивні виправлення (перезаписує власні конфігурації supervisor). ```bash openclaw doctor --non-interactive ``` -Запустити без запитів і застосувати лише безпечні міграції (нормалізація конфігурації + переміщення стану на диску). Пропускає дії з перезапуском/службами/пісочницею, які потребують підтвердження людини. +Запустити без запитів і застосовувати лише безпечні міграції (нормалізація конфігурації + переміщення стану на диску). Пропускає дії з перезапуском/сервісами/пісочницею, які потребують підтвердження людини. Міграції застарілого стану запускаються автоматично, якщо їх виявлено. ```bash openclaw doctor --deep ``` -Просканувати системні служби на наявність додаткових встановлень gateway (launchd/systemd/schtasks). +Сканувати системні сервіси на наявність додаткових інсталяцій gateway (launchd/systemd/schtasks). Якщо ви хочете переглянути зміни перед записом, спочатку відкрийте файл конфігурації: @@ -63,49 +63,49 @@ openclaw doctor --deep cat ~/.openclaw/openclaw.json ``` -## Що він робить (стисло) +## Що це робить (коротко) -- Необов’язкове попереднє оновлення для git-встановлень (лише в інтерактивному режимі). -- Перевірка актуальності протоколу UI (перезбирає Control UI, якщо схема протоколу новіша). -- Перевірка працездатності + запит на перезапуск. -- Зведення стану Skills (доступні/відсутні/заблоковані) і стану plugin. +- Необов’язкове попереднє оновлення для git-інсталяцій (лише в інтерактивному режимі). +- Перевірка актуальності UI-протоколу (перебудовує Control UI, якщо схема протоколу новіша). +- Перевірка стану + запит на перезапуск. +- Підсумок стану Skills (доступні/відсутні/заблоковані) і стану plugin. - Нормалізація конфігурації для застарілих значень. -- Міграція конфігурації Talk зі старих плоских полів `talk.*` у `talk.provider` + `talk.providers.`. -- Перевірки міграції браузера для застарілих конфігурацій розширення Chrome і готовності Chrome MCP. +- Міграція конфігурації Talk із застарілих плоских полів `talk.*` до `talk.provider` + `talk.providers.`. +- Перевірки міграції браузера для застарілих конфігурацій розширення Chrome та готовності Chrome MCP. - Попередження про перевизначення провайдера OpenCode (`models.providers.opencode` / `models.providers.opencode-go`). - Попередження про затінення Codex OAuth (`models.providers.openai-codex`). -- Перевірка вимог TLS для профілів OpenAI Codex OAuth. -- Міграція застарілого стану на диску (сесії/каталог агента/автентифікація WhatsApp). -- Міграція застарілих ключів контракту маніфесту plugin (`speechProviders`, `realtimeTranscriptionProviders`, `realtimeVoiceProviders`, `mediaUnderstandingProviders`, `imageGenerationProviders`, `videoGenerationProviders`, `webFetchProviders`, `webSearchProviders` → `contracts`). +- Перевірка TLS-передумов OAuth для профілів OpenAI Codex OAuth. +- Міграція застарілого стану на диску (sessions/каталог agent/автентифікація WhatsApp). +- Міграція застарілих ключів контрактів у маніфестах plugin (`speechProviders`, `realtimeTranscriptionProviders`, `realtimeVoiceProviders`, `mediaUnderstandingProviders`, `imageGenerationProviders`, `videoGenerationProviders`, `webFetchProviders`, `webSearchProviders` → `contracts`). - Міграція застарілого сховища cron (`jobId`, `schedule.cron`, поля delivery/payload верхнього рівня, `provider` у payload, прості резервні webhook jobs з `notify: true`). - Перевірка файлів блокування сесій і очищення застарілих блокувань. -- Перевірки цілісності стану та прав доступу (sessions, transcripts, каталог стану). +- Перевірки цілісності стану та прав доступу (sessions, transcripts, каталог state). - Перевірки прав доступу до файлу конфігурації (`chmod 600`) під час локального запуску. -- Стан автентифікації моделей: перевіряє строк дії OAuth, може оновлювати токени, що скоро спливають, і повідомляє про стани cooldown/disabled профілів автентифікації. +- Стан автентифікації моделей: перевіряє строк дії OAuth, може оновити токени, строк дії яких спливає, і повідомляє про cooldown/disabled стани профілю автентифікації. - Виявлення додаткового каталогу workspace (`~/openclaw`). -- Відновлення образу sandbox, якщо sandboxing увімкнено. -- Міграція застарілих служб і виявлення додаткових gateway. +- Відновлення образу пісочниці, коли пісочницю увімкнено. +- Міграція застарілих сервісів і виявлення додаткових gateway. - Міграція застарілого стану каналу Matrix (у режимі `--fix` / `--repair`). -- Перевірки середовища виконання gateway (службу встановлено, але вона не запущена; кешована мітка launchd). -- Попередження про стан каналів (отримані з запущеного gateway). +- Перевірки runtime gateway (сервіс встановлено, але не запущено; кешована мітка launchd). +- Попередження про стан каналів (отримані через пробу із запущеного gateway). - Аудит конфігурації supervisor (launchd/systemd/schtasks) з необов’язковим відновленням. -- Перевірки рекомендованих практик середовища виконання gateway (Node проти Bun, шляхи менеджерів версій). -- Діагностика конфліктів портів gateway (типово `18789`). +- Перевірки рекомендацій для runtime gateway (Node проти Bun, шляхи менеджерів версій). +- Діагностика конфліктів порту gateway (типово `18789`). - Попередження безпеки для відкритих політик DM. -- Перевірки автентифікації gateway для локального режиму токена (пропонує згенерувати токен, коли джерело токена відсутнє; не перезаписує конфігурації токенів SecretRef). -- Перевірка systemd linger у Linux. +- Перевірки автентифікації gateway для локального режиму токена (пропонує згенерувати токен, якщо джерело токена відсутнє; не перезаписує конфігурації токена через SecretRef). +- Перевірка `linger` systemd у Linux. - Перевірка розміру bootstrap-файлів workspace (попередження про обрізання/наближення до ліміту для контекстних файлів). -- Перевірка стану shell completion і автоматичне встановлення/оновлення. -- Перевірка готовності провайдера embedding для пошуку в пам’яті (локальна модель, віддалений API key або бінарний файл QMD). -- Перевірки встановлення з вихідного коду (невідповідність pnpm workspace, відсутні UI assets, відсутній бінарний файл tsx). +- Перевірка стану автодоповнення shell та автоматичне встановлення/оновлення. +- Перевірка готовності провайдера embedding для memory search (локальна модель, віддалений API-ключ або бінарник QMD). +- Перевірки source-інсталяції (невідповідність pnpm workspace, відсутні UI-ресурси, відсутній бінарник tsx). - Записує оновлену конфігурацію + метадані майстра. -## Докладна поведінка та обґрунтування +## Детальна поведінка та обґрунтування -### 0) Необов’язкове оновлення (git-встановлення) +### 0) Необов’язкове оновлення (git-інсталяції) Якщо це git checkout і doctor запущено в інтерактивному режимі, він пропонує -оновити систему (fetch/rebase/build) перед запуском doctor. +оновитися (fetch/rebase/build) перед запуском doctor. ### 1) Нормалізація конфігурації @@ -113,24 +113,25 @@ cat ~/.openclaw/openclaw.json без перевизначення для конкретного каналу), doctor нормалізує їх до поточної схеми. -Сюди також входять застарілі плоскі поля Talk. Поточна публічна конфігурація Talk — -це `talk.provider` + `talk.providers.`. Doctor переписує старі -форми `talk.voiceId` / `talk.voiceAliases` / `talk.modelId` / `talk.outputFormat` / +Це також охоплює застарілі плоскі поля Talk. Поточна публічна конфігурація Talk — +це `talk.provider` + `talk.providers.`. Doctor переписує старі форми +`talk.voiceId` / `talk.voiceAliases` / `talk.modelId` / `talk.outputFormat` / `talk.apiKey` у мапу провайдерів. ### 2) Міграції застарілих ключів конфігурації -Коли конфігурація містить застарілі ключі, інші команди відмовляються виконуватися та просять -запустити `openclaw doctor`. +Коли конфігурація містить застарілі ключі, інші команди відмовляються запускатися +і просять вас виконати `openclaw doctor`. Doctor: - Пояснить, які застарілі ключі було знайдено. -- Покажe міграцію, яку він застосував. -- Перезапише `~/.openclaw/openclaw.json` за оновленою схемою. +- Покаже міграцію, яку він застосував. +- Перезапише `~/.openclaw/openclaw.json` оновленою схемою. Gateway також автоматично запускає міграції doctor під час старту, коли виявляє -застарілий формат конфігурації, тому старі конфігурації відновлюються без ручного втручання. +застарілий формат конфігурації, тож застарілі конфігурації виправляються без +ручного втручання. Міграції сховища cron jobs обробляються через `openclaw doctor --fix`. Поточні міграції: @@ -140,7 +141,7 @@ Gateway також автоматично запускає міграції doct - `routing.groupChat.historyLimit` → `messages.groupChat.historyLimit` - `routing.groupChat.mentionPatterns` → `messages.groupChat.mentionPatterns` - `routing.queue` → `messages.queue` -- `routing.bindings` → верхньорівневий `bindings` +- `routing.bindings` → `bindings` верхнього рівня - `routing.agents`/`routing.defaultAgentId` → `agents.list` + `agents.list[].default` - застарілі `talk.voiceId`/`talk.voiceAliases`/`talk.modelId`/`talk.outputFormat`/`talk.apiKey` → `talk.provider` + `talk.providers.` - `routing.agentToAgent` → `tools.agentToAgent` @@ -155,7 +156,7 @@ Gateway також автоматично запускає міграції doct - `plugins.entries.voice-call.config.streaming.openaiApiKey|sttModel|silenceDurationMs|vadThreshold` → `plugins.entries.voice-call.config.streaming.providers.openai.*` - `bindings[].match.accountID` → `bindings[].match.accountId` -- Для каналів з іменованими `accounts`, але зі збереженими однокористувацькими значеннями каналу верхнього рівня, перемістити ці значення, прив’язані до облікового запису, до вибраного підвищеного облікового запису для цього каналу (`accounts.default` для більшості каналів; Matrix може зберегти наявну відповідну іменовану/типову ціль) +- Для каналів з іменованими `accounts`, але з залишеними значеннями каналу верхнього рівня для одного акаунта, перемістити ці значення, прив’язані до акаунта, до підвищеного акаунта, вибраного для цього каналу (`accounts.default` для більшості каналів; Matrix може зберегти наявну відповідну іменовану/типову ціль) - `identity` → `agents.list[].identity` - `agent.*` → `agents.defaults` + `tools.*` (tools/elevated/exec/sandbox/subagents) - `agent.model`/`allowedModels`/`modelAliases`/`modelFallbacks`/`imageModelFallbacks` @@ -164,16 +165,16 @@ Gateway також автоматично запускає міграції doct - `browser.profiles.*.driver: "extension"` → `"existing-session"` - видалити `browser.relayBindHost` (застаріле налаштування relay для розширення) -Попередження doctor також містять рекомендації щодо типового облікового запису для багатокористувацьких каналів: +Попередження doctor також містять рекомендації щодо типового акаунта для багатoакаунтних каналів: -- Якщо налаштовано два або більше записів `channels..accounts` без `channels..defaultAccount` або `accounts.default`, doctor попереджає, що резервна маршрутизація може вибрати неочікуваний обліковий запис. -- Якщо `channels..defaultAccount` установлено на невідомий ID облікового запису, doctor попереджає та перелічує налаштовані ID облікових записів. +- Якщо налаштовано два або більше записів `channels..accounts` без `channels..defaultAccount` або `accounts.default`, doctor попереджає, що резервна маршрутизація може вибрати неочікуваний акаунт. +- Якщо `channels..defaultAccount` вказано на невідомий ID акаунта, doctor попереджає і перелічує налаштовані ID акаунтів. ### 2b) Перевизначення провайдера OpenCode Якщо ви вручну додали `models.providers.opencode`, `opencode-zen` або `opencode-go`, це перевизначає вбудований каталог OpenCode з `@mariozechner/pi-ai`. -Це може спрямувати моделі на неправильний API або обнулити вартість. Doctor попереджає, щоб ви +Це може примусово спрямувати моделі на неправильний API або обнулити вартість. Doctor попереджає, щоб ви могли прибрати перевизначення й відновити маршрутизацію API та вартість для кожної моделі. ### 2c) Міграція браузера та готовність Chrome MCP @@ -188,83 +189,83 @@ Doctor також перевіряє шлях host-local Chrome MCP, коли в "user"` або налаштований профіль `existing-session`: - перевіряє, чи встановлено Google Chrome на тому самому хості для типових - профілів автопідключення + профілів автоматичного підключення - перевіряє виявлену версію Chrome і попереджає, якщо вона нижча за Chrome 144 -- нагадує ввімкнути remote debugging на сторінці inspect браузера (наприклад - `chrome://inspect/#remote-debugging`, `brave://inspect/#remote-debugging` +- нагадує увімкнути remote debugging на сторінці inspect браузера (наприклад + `chrome://inspect/#remote-debugging`, `brave://inspect/#remote-debugging`, або `edge://inspect/#remote-debugging`) -Doctor не може ввімкнути це налаштування в Chrome за вас. Host-local Chrome MCP -усе ще потребує: +Doctor не може увімкнути це налаштування на боці Chrome за вас. Host-local Chrome MCP +досі вимагає: - браузер на базі Chromium 144+ на хості gateway/node -- браузер, що працює локально +- браузер, запущений локально - увімкнений remote debugging у цьому браузері -- підтвердження першого запиту на дозвіл attach у браузері +- підтвердження першого запиту на дозвіл підключення в браузері -Готовність тут стосується лише локальних передумов attach. Existing-session зберігає +Готовність тут стосується лише передумов локального підключення. Existing-session зберігає поточні обмеження маршрутів Chrome MCP; розширені маршрути, як-от `responsebody`, експорт PDF, -перехоплення завантажень і пакетні дії, усе ще потребують керованого -браузера або профілю raw CDP. +перехоплення завантажень і пакетні дії, як і раніше, потребують керованого +браузера або сирого профілю CDP. -Ця перевірка **не** застосовується до Docker, sandbox, remote-browser чи інших -безголових сценаріїв. Вони, як і раніше, використовують raw CDP. +Ця перевірка **не** стосується Docker, sandbox, remote-browser чи інших +безголових сценаріїв. Вони, як і раніше, використовують сирий CDP. -### 2d) Вимоги OAuth TLS +### 2d) TLS-передумови OAuth -Коли налаштовано профіль OpenAI Codex OAuth, doctor перевіряє кінцеву точку -авторизації OpenAI, щоб упевнитися, що локальний стек TLS Node/OpenSSL може +Коли налаштовано профіль OpenAI Codex OAuth, doctor перевіряє endpoint авторизації OpenAI, +щоб упевнитися, що локальний стек TLS Node/OpenSSL може перевірити ланцюжок сертифікатів. Якщо перевірка завершується помилкою сертифіката (наприклад `UNABLE_TO_GET_ISSUER_CERT_LOCALLY`, прострочений сертифікат або самопідписаний сертифікат), -doctor виводить інструкції з виправлення для конкретної платформи. У macOS з Node від Homebrew -виправленням зазвичай є `brew postinstall ca-certificates`. З `--deep` перевірка виконується -навіть якщо gateway справний. +doctor виводить платформо-специфічні рекомендації щодо виправлення. На macOS з Node від Homebrew +виправленням зазвичай є `brew postinstall ca-certificates`. З `--deep` перевірка виконується, +навіть якщо gateway працює справно. ### 2c) Перевизначення провайдера Codex OAuth -Якщо ви раніше додали застарілі налаштування транспорту OpenAI у -`models.providers.openai-codex`, вони можуть затіняти вбудований шлях +Якщо ви раніше додали застарілі параметри транспорту OpenAI у +`models.providers.openai-codex`, вони можуть затінити вбудований шлях провайдера Codex OAuth, який новіші випуски використовують автоматично. Doctor попереджає, коли бачить -ці старі налаштування транспорту разом із Codex OAuth, щоб ви могли видалити або переписати -застаріле перевизначення транспорту та повернути вбудовану поведінку маршрутизації/резервування. -Користувацькі проксі та перевизначення лише заголовків, як і раніше, підтримуються й не +ці старі параметри транспорту поруч із Codex OAuth, щоб ви могли видалити або переписати +застаріле перевизначення транспорту й повернути вбудовану поведінку маршрутизації/резервування. +Власні проксі й перевизначення лише заголовків і далі підтримуються та не викликають цього попередження. ### 3) Міграції застарілого стану (структура на диску) Doctor може мігрувати старіші структури на диску до поточної: -- Сховище сесій + стенограми: +- Сховище сесій + transcripts: - з `~/.openclaw/sessions/` до `~/.openclaw/agents//sessions/` -- Каталог агента: +- Каталог agent: - з `~/.openclaw/agent/` до `~/.openclaw/agents//agent/` - Стан автентифікації WhatsApp (Baileys): - зі старих `~/.openclaw/credentials/*.json` (крім `oauth.json`) - - до `~/.openclaw/credentials/whatsapp//...` (типовий ID облікового запису: `default`) + - до `~/.openclaw/credentials/whatsapp//...` (типовий ID акаунта: `default`) -Ці міграції виконуються за можливості та є ідемпотентними; doctor виведе попередження, якщо +Ці міграції виконуються за принципом best-effort та є ідемпотентними; doctor виведе попередження, якщо залишить будь-які застарілі каталоги як резервні копії. Gateway/CLI також автоматично мігрує -застарілі сесії та каталог агента під час запуску, тож історія/автентифікація/моделі потрапляють у шлях -для конкретного агента без ручного запуску doctor. Автентифікація WhatsApp навмисно -мігрується лише через `openclaw doctor`. Нормалізація Talk provider/provider-map тепер -порівнює за структурною рівністю, тому відмінності лише в порядку ключів більше не викликають -повторних порожніх змін `doctor --fix`. +застарілі sessions + каталог agent під час старту, щоб history/auth/models потрапляли в +шлях конкретного agent без ручного запуску doctor. Автентифікація WhatsApp навмисно мігрується +лише через `openclaw doctor`. Нормалізація Talk provider/provider-map тепер +порівнює за структурною рівністю, тож відмінності лише в порядку ключів більше не спричиняють +повторних порожніх змін у `doctor --fix`. ### 3a) Міграції застарілих маніфестів plugin -Doctor сканує всі встановлені маніфести plugin на наявність застарілих ключів -можливостей верхнього рівня (`speechProviders`, `realtimeTranscriptionProviders`, +Doctor сканує всі встановлені маніфести plugin на наявність застарілих ключів можливостей верхнього рівня +(`speechProviders`, `realtimeTranscriptionProviders`, `realtimeVoiceProviders`, `mediaUnderstandingProviders`, `imageGenerationProviders`, `videoGenerationProviders`, `webFetchProviders`, -`webSearchProviders`). Якщо їх знайдено, він пропонує перемістити їх до об’єкта `contracts` -і переписати файл маніфесту на місці. Ця міграція ідемпотентна; +`webSearchProviders`). Якщо їх знайдено, він пропонує перемістити їх у об’єкт `contracts` +і переписати файл маніфесту безпосередньо на місці. Ця міграція є ідемпотентною; якщо ключ `contracts` уже містить ті самі значення, застарілий ключ видаляється без дублювання даних. ### 3b) Міграції застарілого сховища cron Doctor також перевіряє сховище cron jobs (`~/.openclaw/cron/jobs.json` типово, -або `cron.store`, якщо його перевизначено) на старі форми job, які планувальник усе ще +або `cron.store`, якщо його перевизначено) на старі форми jobs, які планувальник досі приймає для сумісності. Поточні очищення cron включають: @@ -273,240 +274,245 @@ Doctor також перевіряє сховище cron jobs (`~/.openclaw/cron - `schedule.cron` → `schedule.expr` - поля payload верхнього рівня (`message`, `model`, `thinking`, ...) → `payload` - поля delivery верхнього рівня (`deliver`, `channel`, `to`, `provider`, ...) → `delivery` -- псевдоніми delivery `provider` у payload → явний `delivery.channel` +- псевдоніми доставки `provider` у payload → явний `delivery.channel` - прості застарілі резервні webhook jobs з `notify: true` → явний `delivery.mode="webhook"` з `delivery.to=cron.webhook` -Doctor автоматично мігрує jobs з `notify: true` лише тоді, коли це можна зробити без -зміни поведінки. Якщо job поєднує застарілий резервний notify з наявним -не-webhook режимом delivery, doctor попереджає й залишає цей job для ручної перевірки. +Doctor автоматично мігрує jobs з `notify: true` лише тоді, коли це можна зробити +без зміни поведінки. Якщо job поєднує застарілий резервний notify із наявним +режимом delivery, що не є webhook, doctor попереджає й залишає цей job для ручної перевірки. ### 3c) Очищення блокувань сесій -Doctor сканує каталог сесій кожного агента на наявність застарілих файлів блокування запису — файлів, -що залишилися після аварійного завершення сесії. Для кожного знайденого файлу блокування він повідомляє: -шлях, PID, чи PID усе ще активний, вік блокування та чи -вважається воно застарілим (мертвий PID або вік понад 30 хвилин). У режимі `--fix` / `--repair` -він автоматично видаляє застарілі файли блокування; інакше виводить примітку та -пропонує повторити запуск з `--fix`. +Doctor сканує каталог сесій кожного agent на наявність застарілих файлів блокування запису — файлів, що залишилися +після аварійного завершення сесії. Для кожного знайденого файла блокування він повідомляє: +шлях, PID, чи PID досі живий, вік блокування та чи +вважається воно застарілим (мертвий PID або старше 30 хвилин). У режимі `--fix` / `--repair` +він видаляє застарілі файли блокування автоматично; інакше виводить примітку та +радить перезапустити з `--fix`. ### 4) Перевірки цілісності стану (збереження сесій, маршрутизація та безпека) -Каталог стану — це операційний стовбур мозку системи. Якщо він зникне, ви втратите +Каталог стану — це операційний стовбур мозку. Якщо він зникне, ви втратите сесії, облікові дані, журнали та конфігурацію (якщо у вас немає резервних копій деінде). Doctor перевіряє: -- **Відсутній каталог стану**: попереджає про катастрофічну втрату стану, пропонує відтворити - каталог і нагадує, що не може відновити втрачені дані. +- **Каталог стану відсутній**: попереджає про катастрофічну втрату стану, пропонує повторно створити + каталог і нагадує, що він не може відновити втрачені дані. - **Права доступу до каталогу стану**: перевіряє можливість запису; пропонує виправити права - (і виводить підказку `chown`, якщо виявлено невідповідність власника/групи). -- **Каталог стану macOS у хмарній синхронізації**: попереджає, коли стан розгортається в iCloud Drive + (і виводить підказку `chown`, якщо виявлено невідповідність owner/group). +- **Каталог стану macOS у хмарній синхронізації**: попереджає, якщо стан знаходиться в iCloud Drive (`~/Library/Mobile Documents/com~apple~CloudDocs/...`) або - `~/Library/CloudStorage/...`, оскільки шляхи із синхронізацією можуть спричиняти повільніший I/O - і конфлікти блокувань/синхронізації. -- **Каталог стану Linux на SD або eMMC**: попереджає, коли стан розгортається на джерелі монтування `mmcblk*`, - оскільки випадковий I/O на SD або eMMC може бути повільнішим і швидше зношувати носій - через записи сесій та облікових даних. -- **Відсутні каталоги сесій**: `sessions/` і каталог сховища сесій + `~/Library/CloudStorage/...`, тому що шляхи з синхронізацією можуть спричиняти повільніший I/O + та гонки блокувань/синхронізації. +- **Каталог стану Linux на SD або eMMC**: попереджає, якщо стан знаходиться на джерелі монтування `mmcblk*`, + тому що випадковий I/O на SD або eMMC може бути повільнішим і швидше зношувати носій + під час записів сесій та облікових даних. +- **Каталоги сесій відсутні**: `sessions/` і каталог сховища сесій потрібні для збереження історії та уникнення збоїв `ENOENT`. -- **Невідповідність стенограм**: попереджає, коли в недавніх записах сесій відсутні - файли стенограм. -- **Основна сесія “1-line JSONL”**: позначає випадки, коли основна стенограма має лише один +- **Невідповідність transcript**: попереджає, коли в недавніх записах сесій відсутні + файли transcript. +- **Основна сесія “1-line JSONL”**: позначає випадки, коли основний transcript має лише один рядок (історія не накопичується). -- **Кілька каталогів стану**: попереджає, коли існує кілька папок `~/.openclaw` у різних - домашніх каталогах або коли `OPENCLAW_STATE_DIR` вказує в інше місце (історія може - розділятися між установками). -- **Нагадування про remote mode**: якщо `gateway.mode=remote`, doctor нагадує запустити - його на віддаленому хості (стан зберігається саме там). -- **Права доступу до файлу конфігурації**: попереджає, якщо `~/.openclaw/openclaw.json` є - читабельним для групи/усіх, і пропонує посилити права до `600`. +- **Кілька каталогів стану**: попереджає, коли існує кілька каталогів `~/.openclaw` у різних + домашніх каталогах або коли `OPENCLAW_STATE_DIR` вказує кудись інакше (історія може + розділитися між інсталяціями). +- **Нагадування про віддалений режим**: якщо `gateway.mode=remote`, doctor нагадує запустити + його на віддаленому хості (стан зберігається там). +- **Права доступу до файлу конфігурації**: попереджає, якщо `~/.openclaw/openclaw.json` доступний + для читання групі/усім, і пропонує посилити права до `600`. ### 5) Стан автентифікації моделей (строк дії OAuth) Doctor перевіряє профілі OAuth у сховищі автентифікації, попереджає, коли строк дії токенів -наближається до завершення або вже завершився, і може оновити їх, якщо це безпечно. Якщо профіль -Anthropic OAuth/token застарів, він пропонує Anthropic API key або -шлях налаштування Anthropic setup-token. +спливає/вже сплив, і може оновити їх, коли це безпечно. Якщо профіль +OAuth/token Anthropic застарів, він пропонує API-ключ Anthropic або +шлях setup-token Anthropic. Запити на оновлення з’являються лише в інтерактивному режимі (TTY); `--non-interactive` пропускає спроби оновлення. +Коли оновлення OAuth остаточно завершується невдачею (наприклад `refresh_token_reused`, +`invalid_grant` або коли провайдер просить увійти знову), doctor повідомляє, +що потрібна повторна автентифікація, і виводить точну команду `openclaw models auth login --provider ...`, +яку треба виконати. + Doctor також повідомляє про профілі автентифікації, які тимчасово непридатні до використання через: -- короткі cooldown (обмеження швидкості/тайм-аути/помилки автентифікації) -- довші вимкнення (помилки білінгу/кредитів) +- короткі cooldown-періоди (rate limits/timeouts/auth failures) +- довші відключення (billing/credit failures) ### 6) Перевірка моделі hooks -Якщо встановлено `hooks.gmail.model`, doctor перевіряє посилання на модель за -каталогом і allowlist та попереджає, коли його не вдається розв’язати або воно не дозволене. +Якщо встановлено `hooks.gmail.model`, doctor перевіряє посилання на модель у +каталозі та списку дозволених значень і попереджає, коли її не вдасться зіставити або вона заборонена. -### 7) Відновлення образу sandbox +### 7) Відновлення образу пісочниці -Коли sandboxing увімкнено, doctor перевіряє образи Docker і пропонує зібрати їх або -переключитися на застарілі імена, якщо поточний образ відсутній. +Коли пісочницю увімкнено, doctor перевіряє Docker-образи і пропонує зібрати їх або +перемкнутися на застарілі назви, якщо поточний образ відсутній. -### 7b) Runtime-залежності bundled plugin +### 7b) Runtime-залежності вбудованих plugin -Doctor перевіряє, що runtime-залежності bundled plugin (наприклад -runtime-пакети plugin Discord) присутні в корені встановлення OpenClaw. -Якщо якихось не вистачає, doctor повідомляє про ці пакети та встановлює їх у +Doctor перевіряє, чи присутні runtime-залежності вбудованих plugin (наприклад +runtime-пакети plugin Discord) у корені інсталяції OpenClaw. +Якщо якихось бракує, doctor повідомляє пакети й установлює їх у режимі `openclaw doctor --fix` / `openclaw doctor --repair`. -### 8) Міграції служб gateway та підказки з очищення +### 8) Міграції сервісів gateway та підказки з очищення -Doctor виявляє застарілі служби gateway (launchd/systemd/schtasks) і -пропонує видалити їх та встановити службу OpenClaw з поточним портом gateway. -Він також може сканувати наявність додаткових gateway-подібних служб і виводити підказки з очищення. -Іменовані за профілем служби OpenClaw gateway вважаються повноцінними і не +Doctor виявляє застарілі сервіси gateway (launchd/systemd/schtasks) і +пропонує видалити їх та встановити сервіс OpenClaw із поточним портом gateway. +Він також може сканувати додаткові схожі на gateway сервіси та виводити підказки з очищення. +Сервіси OpenClaw gateway з назвами профілів вважаються повноцінними й не позначаються як "додаткові". -### 8b) Стартова міграція Matrix +### 8b) Міграція Matrix під час запуску -Коли обліковий запис каналу Matrix має очікувану або придатну до виконання міграцію застарілого стану, +Коли акаунт каналу Matrix має очікувану або виконувану міграцію застарілого стану, doctor (у режимі `--fix` / `--repair`) створює знімок стану до міграції, а потім -виконує найкращим можливим способом кроки міграції: міграцію застарілого стану Matrix і підготовку -застарілого зашифрованого стану. Обидва кроки не є фатальними; помилки записуються в журнал, а +виконує кроки міграції за принципом best-effort: міграцію застарілого стану Matrix і підготовку +застарілого зашифрованого стану. Обидва кроки не є фатальними; помилки журналюються, і запуск триває. У режимі лише читання (`openclaw doctor` без `--fix`) ця перевірка повністю пропускається. ### 9) Попередження безпеки -Doctor виводить попередження, коли провайдер відкритий для DM без allowlist або -коли політику налаштовано небезпечним чином. +Doctor виводить попередження, коли провайдер відкритий для DM без allowlist, +або коли політику налаштовано небезпечно. ### 10) systemd linger (Linux) -Якщо система працює як користувацька служба systemd, doctor перевіряє, що lingering увімкнено, щоб +Якщо робота ведеться як user-сервіс systemd, doctor перевіряє, що lingering увімкнено, щоб gateway залишався активним після виходу з системи. ### 11) Стан workspace (Skills, plugins і застарілі каталоги) -Doctor виводить зведення стану workspace для типового агента: +Doctor виводить зведення стану workspace для типового agent: -- **Стан Skills**: кількість доступних, тих, що не відповідають вимогам, і заблокованих allowlist Skills. +- **Стан Skills**: кількість доступних, з відсутніми вимогами та заблокованих allowlist навичок. - **Застарілі каталоги workspace**: попереджає, коли `~/openclaw` або інші застарілі каталоги workspace існують поруч із поточним workspace. -- **Стан plugin**: кількість завантажених/вимкнених/plugin із помилками; перелічує ID plugin для будь-яких +- **Стан plugin**: кількість завантажених/вимкнених/помилкових plugins; перелічує ID plugin для всіх помилок; повідомляє про можливості bundle plugin. - **Попередження про сумісність plugin**: позначає plugins, які мають проблеми сумісності з поточним runtime. -- **Діагностика plugin**: показує будь-які попередження або помилки під час завантаження, які надіслав - реєстр plugin. +- **Діагностика plugin**: показує будь-які попередження чи помилки під час завантаження, які + згенерував реєстр plugin. ### 11b) Розмір bootstrap-файлу Doctor перевіряє, чи bootstrap-файли workspace (наприклад `AGENTS.md`, -`CLAUDE.md` або інші впроваджені контекстні файли) наближаються до налаштованого -ліміту символів або перевищують його. Він повідомляє для кожного файлу сирий та впроваджений обсяг символів, відсоток обрізання, -причину обрізання (`max/file` або `max/total`) і загальну кількість впроваджених -символів як частку від загального бюджету. Коли файли обрізано або вони наближаються до -ліміту, doctor виводить поради щодо налаштування `agents.defaults.bootstrapMaxChars` +`CLAUDE.md` або інші вбудовані контекстні файли) наближаються до +налаштованого бюджету символів або перевищують його. Він повідомляє для кожного файла кількість сирих і +вбудованих символів, відсоток обрізання, причину обрізання (`max/file` або `max/total`) і загальну кількість вбудованих +символів як частку загального бюджету. Коли файли обрізано або вони наближаються до ліміту, +doctor виводить поради щодо налаштування `agents.defaults.bootstrapMaxChars` і `agents.defaults.bootstrapTotalMaxChars`. -### 11c) Shell completion +### 11c) Автодоповнення shell -Doctor перевіряє, чи встановлено tab completion для поточної оболонки +Doctor перевіряє, чи встановлено автодоповнення для поточної shell (zsh, bash, fish або PowerShell): -- Якщо профіль оболонки використовує повільний шаблон динамічного completion +- Якщо профіль shell використовує повільний шаблон динамічного автодоповнення (`source <(openclaw completion ...)`), doctor оновлює його до швидшого - варіанту з кешованим файлом. -- Якщо completion налаштовано в профілі, але файл кешу відсутній, + варіанта з кешованим файлом. +- Якщо автодоповнення налаштовано в профілі, але кешований файл відсутній, doctor автоматично відновлює кеш. -- Якщо completion взагалі не налаштовано, doctor пропонує встановити його +- Якщо автодоповнення взагалі не налаштовано, doctor пропонує встановити його (лише інтерактивний режим; пропускається з `--non-interactive`). -Запустіть `openclaw completion --write-state`, щоб відновити кеш вручну. +Виконайте `openclaw completion --write-state`, щоб відновити кеш вручну. ### 12) Перевірки автентифікації gateway (локальний токен) -Doctor перевіряє готовність автентифікації локального токена gateway. +Doctor перевіряє готовність автентифікації локального gateway за токеном. -- Якщо режим токена потребує токен, а джерела токена немає, doctor пропонує згенерувати його. -- Якщо `gateway.auth.token` керується через SecretRef, але недоступний, doctor попереджає й не перезаписує його відкритим текстом. -- `openclaw doctor --generate-gateway-token` примусово генерує токен лише тоді, коли токен SecretRef не налаштовано. +- Якщо режим токена потребує токен, а джерело токена відсутнє, doctor пропонує згенерувати його. +- Якщо `gateway.auth.token` керується через SecretRef, але недоступний, doctor попереджає і не перезаписує його простим текстом. +- `openclaw doctor --generate-gateway-token` примусово генерує токен лише тоді, коли не налаштовано токен SecretRef. -### 12b) Відновлення в режимі лише читання з урахуванням SecretRef +### 12b) Виправлення лише для читання з урахуванням SecretRef -Деяким сценаріям відновлення потрібно перевіряти налаштовані облікові дані без послаблення поведінки швидкої відмови під час виконання. +Деякі сценарії виправлення потребують перевірки налаштованих облікових даних без послаблення поведінки runtime fail-fast. -- `openclaw doctor --fix` тепер використовує ту саму модель зведення SecretRef у режимі лише читання, що й команди сімейства status, для цільових виправлень конфігурації. -- Приклад: виправлення Telegram `allowFrom` / `groupAllowFrom` `@username` намагається використовувати налаштовані облікові дані бота, коли вони доступні. -- Якщо токен Telegram-бота налаштовано через SecretRef, але він недоступний у поточному шляху виконання команди, doctor повідомляє, що облікові дані налаштовано, але вони недоступні, і пропускає автоматичне розв’язання замість аварійного завершення або хибного повідомлення про відсутність токена. +- `openclaw doctor --fix` тепер використовує ту саму модель стислого read-only подання SecretRef, що й команди сімейства status, для цільових виправлень конфігурації. +- Приклад: виправлення Telegram `allowFrom` / `groupAllowFrom` `@username` намагається використати налаштовані облікові дані бота, якщо вони доступні. +- Якщо токен Telegram-бота налаштовано через SecretRef, але він недоступний у поточному шляху виконання команди, doctor повідомляє, що облікові дані налаштовано, але вони недоступні, і пропускає автоматичне зіставлення замість аварійного завершення або хибного повідомлення, що токен відсутній. -### 13) Перевірка працездатності gateway + перезапуск +### 13) Перевірка стану gateway + перезапуск -Doctor запускає перевірку працездатності й пропонує перезапустити gateway, якщо той -виглядає несправним. +Doctor запускає перевірку стану й пропонує перезапустити gateway, якщо +він виглядає несправним. -### 13b) Готовність пошуку в пам’яті +### 13b) Готовність memory search -Doctor перевіряє, чи готовий налаштований провайдер embedding для пошуку в пам’яті -для типового агента. Поведінка залежить від налаштованого backend і провайдера: +Doctor перевіряє, чи готовий налаштований провайдер embedding для memory search +для типового agent. Поведінка залежить від налаштованого backend і провайдера: -- **QMD backend**: перевіряє, чи доступний і чи запускається бінарний файл `qmd`. - Якщо ні, виводить інструкції з виправлення, зокрема npm package та варіант ручного шляху до бінарного файла. -- **Явно локальний провайдер**: перевіряє наявність локального файлу моделі або розпізнаваного +- **QMD backend**: перевіряє, чи бінарник `qmd` доступний і чи його можна запустити. + Якщо ні, виводить рекомендації щодо виправлення, зокрема npm-пакет і варіант ручного шляху до бінарника. +- **Явний локальний провайдер**: перевіряє наявність локального файла моделі або розпізнаного URL віддаленої/завантажуваної моделі. Якщо його немає, пропонує перейти на віддаленого провайдера. -- **Явно віддалений провайдер** (`openai`, `voyage` тощо): перевіряє, чи присутній API key - у середовищі або сховищі автентифікації. Якщо його немає, виводить практичні підказки для виправлення. -- **Автоматичний провайдер**: спочатку перевіряє доступність локальної моделі, а потім намагається використати кожного віддаленого +- **Явний віддалений провайдер** (`openai`, `voyage` тощо): перевіряє, чи є API-ключ + у середовищі або сховищі автентифікації. Якщо його немає, виводить практичні підказки щодо виправлення. +- **Auto provider**: спочатку перевіряє доступність локальної моделі, а потім пробує кожного віддаленого провайдера в порядку автоматичного вибору. -Коли доступний результат перевірки gateway (gateway був справний на момент -перевірки), doctor зіставляє його з конфігурацією, видимою CLI, і вказує -на будь-які розбіжності. +Коли доступний результат перевірки gateway (gateway був справним на момент +перевірки), doctor звіряє його результат із конфігурацією, видимою CLI, і позначає +будь-які розбіжності. -Використовуйте `openclaw memory status --deep`, щоб перевірити готовність embedding під час виконання. +Використайте `openclaw memory status --deep`, щоб перевірити готовність embedding під час runtime. ### 14) Попередження про стан каналів -Якщо gateway справний, doctor запускає перевірку стану каналів і повідомляє -про попередження разом із пропозиціями щодо виправлення. +Якщо gateway справний, doctor запускає пробу стану каналів і повідомляє +попередження з рекомендованими виправленнями. ### 15) Аудит конфігурації supervisor + відновлення -Doctor перевіряє встановлену конфігурацію supervisor (launchd/systemd/schtasks) на наявність -відсутніх або застарілих типових значень (наприклад, systemd network-online dependencies та -затримка перезапуску). Коли він знаходить невідповідність, то -рекомендує оновлення й може переписати файл служби/завдання відповідно до поточних типових значень. +Doctor перевіряє встановлену конфігурацію supervisor (launchd/systemd/schtasks) на +відсутні або застарілі типові значення (наприклад залежності systemd від network-online та +затримку перезапуску). Коли він знаходить невідповідність, рекомендує оновлення і може +перезаписати файл сервісу/завдання до поточних типових значень. Примітки: -- `openclaw doctor` запитує підтвердження перед переписуванням конфігурації supervisor. -- `openclaw doctor --yes` приймає типові запити на відновлення. +- `openclaw doctor` запитує підтвердження перед перезаписом конфігурації supervisor. +- `openclaw doctor --yes` приймає типові запити на виправлення. - `openclaw doctor --repair` застосовує рекомендовані виправлення без запитів. -- `openclaw doctor --repair --force` перезаписує користувацькі конфігурації supervisor. -- Якщо автентифікація токеном вимагає токен, а `gateway.auth.token` керується через SecretRef, під час встановлення/відновлення служби doctor перевіряє SecretRef, але не зберігає розв’язані відкриті значення токена в метадані середовища служби supervisor. -- Якщо автентифікація токеном вимагає токен, а налаштований токен SecretRef не розв’язується, doctor блокує шлях встановлення/відновлення та надає практичні вказівки. -- Якщо налаштовано і `gateway.auth.token`, і `gateway.auth.password`, а `gateway.auth.mode` не встановлено, doctor блокує встановлення/відновлення, доки режим не буде явно задано. -- Для користувацьких systemd unit у Linux перевірки розбіжності токенів у doctor тепер включають обидва джерела `Environment=` і `EnvironmentFile=` під час порівняння метаданих автентифікації служби. +- `openclaw doctor --repair --force` перезаписує власні конфігурації supervisor. +- Якщо автентифікація за токеном потребує токен, а `gateway.auth.token` керується через SecretRef, doctor під час встановлення/відновлення сервісу перевіряє SecretRef, але не зберігає розв’язані значення plaintext token у метаданих середовища сервісу supervisor. +- Якщо автентифікація за токеном потребує токен, а налаштований token SecretRef не розв’язується, doctor блокує шлях встановлення/відновлення та надає практичні рекомендації. +- Якщо налаштовано і `gateway.auth.token`, і `gateway.auth.password`, а `gateway.auth.mode` не задано, doctor блокує встановлення/відновлення, доки режим не буде явно встановлено. +- Для user-systemd units у Linux перевірки розходжень токена в doctor тепер охоплюють і джерела `Environment=`, і `EnvironmentFile=` під час порівняння метаданих автентифікації сервісу. - Ви завжди можете примусово виконати повний перезапис через `openclaw gateway install --force`. ### 16) Діагностика runtime gateway + порту -Doctor перевіряє runtime служби (PID, останній статус завершення) і попереджає, коли -службу встановлено, але вона фактично не запущена. Він також перевіряє конфлікти портів +Doctor перевіряє runtime сервісу (PID, останній статус виходу) і попереджає, коли +сервіс встановлено, але фактично не запущено. Він також перевіряє конфлікти на порту gateway (типово `18789`) і повідомляє ймовірні причини (gateway уже -працює, SSH tunnel). +запущено, SSH-тунель). -### 17) Рекомендовані практики runtime gateway +### 17) Рекомендації для runtime gateway -Doctor попереджає, коли служба gateway працює на Bun або через шлях Node, керований менеджером версій -(`nvm`, `fnm`, `volta`, `asdf` тощо). Канали WhatsApp + Telegram вимагають Node, -а шляхи менеджерів версій можуть ламатися після оновлень, оскільки служба не -завантажує вашу ініціалізацію оболонки. Doctor пропонує перейти на системне встановлення Node, -якщо воно доступне (Homebrew/apt/choco). +Doctor попереджає, коли сервіс gateway працює на Bun або на шляху Node, керованому менеджером версій +(`nvm`, `fnm`, `volta`, `asdf` тощо). Канали WhatsApp + Telegram потребують Node, +а шляхи менеджерів версій можуть ламатися після оновлень, тому що сервіс не +завантажує ініціалізацію вашої shell. Doctor пропонує перейти на системну інсталяцію Node, якщо +вона доступна (Homebrew/apt/choco). ### 18) Запис конфігурації + метадані майстра Doctor зберігає будь-які зміни конфігурації та проставляє метадані майстра, щоб зафіксувати запуск doctor. -### 19) Поради щодо workspace (резервне копіювання + система пам’яті) +### 19) Поради щодо workspace (резервне копіювання + memory system) -Doctor пропонує систему пам’яті workspace, якщо її немає, і виводить пораду щодо резервного копіювання, +Doctor пропонує memory system для workspace, якщо його немає, і виводить пораду щодо резервного копіювання, якщо workspace ще не перебуває під git. Див. [/concepts/agent-workspace](/uk/concepts/agent-workspace), щоб отримати повний посібник зі -структури workspace та резервного копіювання через git (рекомендовано приватний GitHub або GitLab). +структури workspace та резервного копіювання в git (рекомендовано приватний GitHub або GitLab).