diff --git a/docs/uk/cli/doctor.md b/docs/uk/cli/doctor.md index 6a514195f..b2f088dca 100644 --- a/docs/uk/cli/doctor.md +++ b/docs/uk/cli/doctor.md @@ -1,25 +1,25 @@ --- read_when: - - У вас виникли проблеми з підключенням/автентифікацією, і вам потрібні покрокові виправлення - - Ви виконали оновлення й хочете перевірити, що все гаразд -summary: Довідник CLI для `openclaw doctor` (перевірки справності + керовані виправлення) + - У вас проблеми з підключенням або автентифікацією, і вам потрібні покрокові вказівки для їх виправлення + - Ви оновили й хочете швидку перевірку +summary: Довідник CLI для `openclaw doctor` (перевірки працездатності + керовані виправлення) title: Діагностика x-i18n: - generated_at: "2026-04-30T19:53:22Z" + generated_at: "2026-05-01T15:25:45Z" model: gpt-5.5 provider: openai - source_hash: 265d82a10da086cf89687886e491be018a720b70021e0b26bd8f39b25a907e14 + source_hash: f7d89a2e425c73f583505498b912c4b2409ba6103a3aa17aa1b8babdd23b5fda source_path: cli/doctor.md workflow: 16 --- # `openclaw doctor` -Перевірки справності + швидкі виправлення для Gateway і каналів. +Перевірки стану + швидкі виправлення для Gateway і каналів. -Пов’язане: +Пов’язано: -- Усунення неполадок: [Усунення неполадок](/uk/gateway/troubleshooting) +- Усунення несправностей: [Усунення несправностей](/uk/gateway/troubleshooting) - Аудит безпеки: [Безпека](/uk/gateway/security) ## Приклади @@ -34,40 +34,41 @@ openclaw doctor --generate-gateway-token ## Параметри -- `--no-workspace-suggestions`: вимкнути пропозиції пам’яті/пошуку робочого простору -- `--yes`: приймати типові значення без запитів -- `--repair`: застосувати рекомендовані виправлення без запитів +- `--no-workspace-suggestions`: вимкнути пропозиції пам’яті/пошуку робочої області +- `--yes`: приймати типові значення без запиту +- `--repair`: застосувати рекомендовані виправлення, не пов’язані із сервісом, без запиту; встановлення та перезапис сервісу Gateway все ще потребують інтерактивного підтвердження або явних команд Gateway - `--fix`: псевдонім для `--repair` -- `--force`: застосувати агресивні виправлення, зокрема перезапис користувацької конфігурації сервісу за потреби -- `--non-interactive`: запуск без запитів; лише безпечні міграції -- `--generate-gateway-token`: згенерувати й налаштувати токен Gateway -- `--deep`: просканувати системні сервіси на наявність додаткових встановлень Gateway +- `--force`: застосувати агресивні виправлення, зокрема перезапис користувацької конфігурації сервісу, коли потрібно +- `--non-interactive`: запускати без запитів; лише безпечні міграції та виправлення, не пов’язані із сервісом +- `--generate-gateway-token`: згенерувати та налаштувати токен Gateway +- `--deep`: сканувати системні сервіси на наявність додаткових встановлень Gateway Примітки: -- Інтерактивні запити (наприклад, виправлення keychain/OAuth) виконуються лише тоді, коли stdin є TTY і `--non-interactive` **не** задано. Запуски без інтерфейсу (cron, Telegram, без термінала) пропускатимуть запити. -- Продуктивність: неінтерактивні запуски `doctor` пропускають завчасне завантаження плагінів, щоб перевірки справності без інтерфейсу залишалися швидкими. Інтерактивні сеанси все одно повністю завантажують плагіни, коли перевірці потрібен їхній внесок. +- Інтерактивні запити (наприклад, виправлення keychain/OAuth) виконуються лише тоді, коли stdin є TTY і **не** задано `--non-interactive`. Безголові запуски (cron, Telegram, без термінала) пропускатимуть запити. +- Продуктивність: неінтерактивні запуски `doctor` пропускають завчасне завантаження Plugin, щоб безголові перевірки стану залишалися швидкими. Інтерактивні сеанси все одно повністю завантажують Plugins, коли перевірці потрібен їхній внесок. - `--fix` (псевдонім для `--repair`) записує резервну копію в `~/.openclaw/openclaw.json.bak` і видаляє невідомі ключі конфігурації, перелічуючи кожне видалення. -- Перевірки цілісності стану тепер виявляють осиротілі файли транскриптів у каталозі сеансів. Для архівування їх як `.deleted.` потрібне інтерактивне підтвердження; `--fix`, `--yes` і запуски без інтерфейсу залишають їх на місці. -- Doctor також сканує `~/.openclaw/cron/jobs.json` (або `cron.store`) на наявність застарілих форм завдань Cron і може переписати їх на місці до того, як планувальнику доведеться автоматично нормалізувати їх під час виконання. -- Doctor виправляє відсутні runtime-залежності вбудованих Plugin без запису в упаковані глобальні встановлення. Для root-встановлень npm або посилених systemd-юнітів задайте `OPENCLAW_PLUGIN_STAGE_DIR` на каталог із правом запису, наприклад `/var/lib/openclaw/plugin-runtime-deps`; це також може бути список шляхів, як-от `/opt/openclaw/plugin-runtime-deps:/var/lib/openclaw/plugin-runtime-deps`, де попередні корені є шарами пошуку лише для читання, а останній корінь є ціллю виправлення. -- Doctor виправляє застарілу конфігурацію Plugin, видаляючи відсутні ідентифікатори Plugin з `plugins.allow`/`plugins.entries`, а також відповідну висячу конфігурацію каналів, цілі Heartbeat і перевизначення моделей каналів, коли виявлення Plugin справне. -- Doctor ізолює недійсну конфігурацію Plugin, вимикаючи відповідний запис `plugins.entries.` і видаляючи його недійсне корисне навантаження `config`. Запуск Gateway уже пропускає лише цей несправний Plugin, тому інші Plugin і канали можуть продовжувати працювати. -- Задайте `OPENCLAW_SERVICE_REPAIR_POLICY=external`, коли життєвим циклом Gateway керує інший супервізор. Doctor усе ще повідомляє про справність Gateway/сервісу та застосовує виправлення, не пов’язані із сервісом, але пропускає встановлення/запуск/перезапуск/bootstrap сервісу та очищення застарілих сервісів. -- На Linux doctor ігнорує неактивні додаткові systemd-юніти, схожі на Gateway, і не переписує метадані команди/точки входу для запущеного systemd-сервісу Gateway під час виправлення. Спочатку зупиніть сервіс або використайте `openclaw gateway install --force`, якщо ви навмисно хочете замінити активний launcher. -- Doctor автоматично мігрує застарілу пласку конфігурацію Talk (`talk.voiceId`, `talk.modelId` та пов’язані ключі) у `talk.provider` + `talk.providers.`. -- Повторні запуски `doctor --fix` більше не повідомляють і не застосовують нормалізацію Talk, коли єдиною відмінністю є порядок ключів об’єкта. -- Doctor включає перевірку готовності пошуку в пам’яті та може рекомендувати `openclaw configure --section model`, коли відсутні облікові дані для embeddings. -- Doctor попереджає, коли не налаштовано власника команд. Власник команд — це обліковий запис оператора-людини, якому дозволено виконувати команди лише для власника й затверджувати небезпечні дії. Сполучення через DM лише дозволяє комусь спілкуватися з ботом; якщо ви затвердили відправника до появи bootstrap першого власника, явно задайте `commands.ownerAllowFrom`. -- Doctor попереджає, коли налаштовано агентів у режимі Codex і в Codex home оператора існують персональні ресурси Codex CLI. Локальні запуски app-server Codex використовують ізольовані домівки для кожного агента, тому використовуйте `openclaw migrate codex --dry-run`, щоб інвентаризувати ресурси, які слід свідомо просунути. +- `doctor --fix --non-interactive` повідомляє про відсутні або застарілі визначення сервісу Gateway, але не встановлює й не перезаписує їх поза режимом виправлення оновлення. Запустіть `openclaw gateway install` для відсутнього сервісу або `openclaw gateway install --force`, коли навмисно хочете замінити launcher. +- Перевірки цілісності стану тепер виявляють осиротілі файли транскриптів у каталозі сеансів. Архівування їх як `.deleted.` потребує інтерактивного підтвердження; `--fix`, `--yes` і безголові запуски залишають їх на місці. +- Doctor також сканує `~/.openclaw/cron/jobs.json` (або `cron.store`) на застарілі форми завдань cron і може перезаписати їх на місці до того, як планувальнику доведеться автоматично нормалізувати їх під час виконання. +- Doctor виправляє відсутні runtime-залежності вбудованих Plugin без запису в запаковані глобальні встановлення. Для встановлень npm, що належать root, або посилених systemd units задайте `OPENCLAW_PLUGIN_STAGE_DIR` у доступний для запису каталог, наприклад `/var/lib/openclaw/plugin-runtime-deps`; це також може бути список шляхів, як-от `/opt/openclaw/plugin-runtime-deps:/var/lib/openclaw/plugin-runtime-deps`, де попередні корені є шарами пошуку лише для читання, а фінальний корінь є ціллю виправлення. +- Doctor виправляє застарілу конфігурацію Plugin, видаляючи відсутні plugin ids з `plugins.allow`/`plugins.entries`, а також відповідну висячу конфігурацію каналу, цілі heartbeat і перевизначення моделей каналів, коли виявлення Plugin працює справно. +- Doctor ізолює недійсну конфігурацію Plugin, вимикаючи відповідний запис `plugins.entries.` і видаляючи його недійсний payload `config`. Запуск Gateway уже пропускає лише цей несправний Plugin, тож інші Plugins і канали можуть продовжувати працювати. +- Задайте `OPENCLAW_SERVICE_REPAIR_POLICY=external`, коли життєвим циклом Gateway керує інший supervisor. Doctor все одно повідомляє про стан Gateway/сервісу та застосовує виправлення, не пов’язані із сервісом, але пропускає встановлення/запуск/перезапуск/bootstrap сервісу та очищення застарілих сервісів. +- У Linux doctor ігнорує неактивні додаткові systemd units, схожі на Gateway, і не перезаписує метадані команди/entrypoint для запущеного systemd-сервісу Gateway під час виправлення. Спершу зупиніть сервіс або використайте `openclaw gateway install --force`, коли навмисно хочете замінити активний launcher. +- Doctor автоматично мігрує застарілу пласку конфігурацію Talk (`talk.voiceId`, `talk.modelId` тощо) у `talk.provider` + `talk.providers.`. +- Повторні запуски `doctor --fix` більше не повідомляють і не застосовують нормалізацію Talk, коли єдина відмінність — порядок ключів об’єкта. +- Doctor включає перевірку готовності memory-search і може рекомендувати `openclaw configure --section model`, коли відсутні облікові дані embedding. +- Doctor попереджає, коли не налаштовано власника команд. Власник команд — це обліковий запис людини-оператора, якому дозволено запускати команди лише для власника та схвалювати небезпечні дії. DM pairing лише дозволяє комусь спілкуватися з ботом; якщо ви схвалили відправника до появи bootstrap першого власника, явно задайте `commands.ownerAllowFrom`. +- Doctor попереджає, коли налаштовано агентів у режимі Codex і в Codex home оператора існують особисті ресурси Codex CLI. Локальні запуски app-server Codex використовують ізольовані homes для кожного агента, тому використовуйте `openclaw migrate codex --dry-run`, щоб інвентаризувати ресурси, які слід підвищувати свідомо. - Якщо режим sandbox увімкнено, але Docker недоступний, doctor повідомляє високосигнальне попередження з виправленням (`install Docker` або `openclaw config set agents.defaults.sandbox.mode off`). -- Якщо `gateway.auth.token`/`gateway.auth.password` керуються SecretRef і недоступні в поточному шляху команди, doctor повідомляє попередження лише для читання й не записує резервні облікові дані відкритим текстом. -- Якщо перевірка SecretRef каналу не вдається в шляху виправлення, doctor продовжує роботу й повідомляє попередження замість передчасного завершення. -- Автоматичне визначення імені користувача Telegram `allowFrom` (`doctor --fix`) потребує Telegram-токена, який можна розв’язати в поточному шляху команди. Якщо перевірка токена недоступна, doctor повідомляє попередження й пропускає автоматичне визначення для цього проходу. +- Якщо `gateway.auth.token`/`gateway.auth.password` керуються SecretRef і недоступні в поточному шляху команди, doctor повідомляє попередження лише для читання й не записує fallback облікові дані у відкритому тексті. +- Якщо перевірка SecretRef каналу завершується помилкою в шляху виправлення, doctor продовжує роботу й повідомляє попередження замість раннього виходу. +- Автоматичне розв’язання імен користувачів Telegram `allowFrom` (`doctor --fix`) потребує розв’язуваного токена Telegram у поточному шляху команди. Якщо перевірка токена недоступна, doctor повідомляє попередження й пропускає автоматичне розв’язання для цього проходу. ## macOS: перевизначення env `launchctl` -Якщо ви раніше запускали `launchctl setenv OPENCLAW_GATEWAY_TOKEN ...` (або `...PASSWORD`), це значення перевизначає ваш файл конфігурації та може спричиняти постійні помилки “unauthorized”. +Якщо раніше ви запускали `launchctl setenv OPENCLAW_GATEWAY_TOKEN ...` (або `...PASSWORD`), це значення перевизначає ваш файл конфігурації та може спричиняти постійні помилки “unauthorized”. ```bash launchctl getenv OPENCLAW_GATEWAY_TOKEN @@ -77,7 +78,7 @@ launchctl unsetenv OPENCLAW_GATEWAY_TOKEN launchctl unsetenv OPENCLAW_GATEWAY_PASSWORD ``` -## Пов’язане +## Пов’язано - [Довідник CLI](/uk/cli) - [Gateway doctor](/uk/gateway/doctor)