Урок 7. Ремонт и поддержка OpenClaw — Курс OpenClaw
Урок 7

Урок 7. Ремонт и поддержка OpenClaw

~18 мин чтения ·
Содержание

Бот может сломаться по разным причинам: обновился OpenClaw и поменялась схема конфига, истёк OAuth-токен у провайдера, упал плагин, забилась очередь, кончилось место на диске. В этом уроке — три уровня починки от самого универсального к узким.

Главный путь — делегировать диагностику AI-агенту (Codex Desktop). Описываешь симптом одной фразой, он сам заходит на сервер, читает логи, находит проблему и применяет починку. Подходит и тем, кто не знает что такое systemd. Дальше — быстрая команда openclaw doctor на случай, когда хочется решить вопрос за пять секунд без запуска AI. А чтобы вообще не ловить проблемы постфактум, в конце настроим бота на самонаблюдение: пусть раз в сутки проверяет своё здоровье и пишет в Telegram, если что-то поломалось.

Починка через AI-агента — Codex Desktop

Идея простая: AI-агент с доступом в терминал умеет сам зайти по SSH на сервер, посмотреть логи, прочитать конфиг, найти проблему и применить починку. Тебе остаётся написать ему задачу одним сообщением. Это работает почти для любой поломки и не требует понимания, как устроен gateway, systemd и OAuth.

Codex Desktop, Codex CLI или Claude Code

Три варианта по убыванию удобства:

  • Codex Desktop — десктопное приложение OpenAI для macOS и Windows. Внутри тот же агент на gpt-5-codex, что и в CLI, но обёрнутый в нормальный GUI: окно чата, видимый список действий, удобные диалоги одобрения, кнопка «открыть терминал в проекте». Идёт бесплатно с подпиской ChatGPT Plus. Рекомендую начать с него — порог входа ниже всего.
  • Codex CLI — тот же агент, но в терминале. Полезен, когда уже сидишь в SSH-сессии и не хочешь переключаться, или когда хочешь автоматизировать починку скриптом.
  • Claude Code — терминальный агент Anthropic на базе Claude Sonnet/Opus. Лучше в сложных кейсах с большой кодовой базой. Нужна подписка Claude Pro/Max или API-ключ.

Дальше показываю на Codex Desktop. CLI-вариант и Claude Code — в конце раздела короткой шпаргалкой, промпты везде одинаковые.

Установка Codex Desktop

  1. Заходи на openai.com/codex и скачивай приложение для своей платформы (есть Mac и Windows билды, плюс пакет для Linux через snap/flatpak в зависимости от дистрибутива).
  2. Открой приложение и войди через свой ChatGPT-аккаунт. Если у тебя Plus — Codex автоматически возьмёт квоту оттуда, отдельной оплаты не нужно. Без Plus можно подложить API-ключ OpenAI.
  3. На первом запуске приложение попросит дать разрешения: доступ к файлам (чтобы агент мог читать и редактировать), доступ к терминалу (чтобы выполнять команды), accessibility (на macOS — для управления интерфейсом, если понадобится). Все три выдай — без них починка работать не будет.

После установки в окне приложения видишь поле для сообщения — туда и пишутся задачи. Никаких терминалов открывать не надо, всё через одно окно.

Зачем нужен полный доступ

По умолчанию Codex спрашивает разрешение на каждое действие: «можно я выполню cat?», «можно я отредактирую этот файл?», «можно я открою SSH-соединение?». Это разумно при работе с твоим кодом, но для удалённой починки сервера превращается в пытку — на одну сессию диагностики придётся нажать «да» сто раз.

В Codex Desktop режим доступа выбирается в настройках сессии (значок ⚙️ или меню Approvals в верхней панели). Варианты обычно три:

  • Ask for each action — спрашивать каждое действие (дефолт).
  • Auto-edit + auto-run — самостоятельно править файлы и запускать команды в рабочей папке, опасные операции (sudo, удаление вне папки) всё ещё спрашивает.
  • Full access / Bypass approvals — ничего не спрашивает, делает что хочет.

Для починки сервера ставь Full access. Понимай, на что соглашаешься: ты буквально даёшь модели полный контроль над терминалом и файлами. Делать так стоит в одной из двух ситуаций:

  • Локально на временной или изолированной машине, где ты не боишься за данные.
  • Для подключения по SSH к удалённому серверу, где живёт только бот и сам сервер не жалко переподнять.

На рабочем ноутбуке с важными файлами лучше держать Auto-edit + auto-run и одобрять опасное руками.

Аналоги в других инструментах: в Codex CLI это флаг --dangerously-bypass-approvals-and-sandbox, в Claude Code — --dangerously-skip-permissions.

Пример: чиним удалённый сервер

Открываешь Codex Desktop на своём ноутбуке, в настройках сессии выставляешь Full access — и отправляешь одно сообщение:

Сервер IP: 188.245.103.77
Логин: openclaw
Пароль: Pm8k2wNqV5xR/4tH/9aL
Документация: https://docs.openclaw.ai/

У меня не работает OpenClaw бот в Telegram. Подключись по SSH
и проведи диагностику.

Что Codex обычно делает дальше (порядок может отличаться):

  1. Открывает SSH-соединение через sshpass (если нужен пароль) или обычным ssh с ключом.
  2. Прогоняет openclaw status, openclaw gateway status, openclaw doctor.
  3. Читает openclaw logs --tail 200, ищет ошибки.
  4. Если видит знакомый паттерн (просроченный токен, упавший плагин, нужно пересоздать сервис) — применяет починку и показывает, что поменял.
  5. Перезапускает gateway, проверяет, что бот ожил.
  6. Возвращается с отчётом: что было сломано и что сделал.

Про пароль в чате. Подсовывать пароль агенту — нормально для одноразовой починки сервера, который и так у тебя в полном владении. Но пароль попадает в историю Codex/OpenAI. После починки лучше сменить его на сервере (passwd под пользователем openclaw) или сразу перейти на SSH-ключи (тогда указываешь путь к ключу, а не пароль).

Пример: чиним бота на macOS

Если OpenClaw установлен локально на маке (вариант из урока 1), всё ещё проще — никакого SSH не нужно. Открываешь Codex Desktop на этом же маке, ставишь Full access и пишешь:

У меня OpenClaw установлен локально на этом маке. Перестал отвечать в
Telegram. Документация: https://docs.openclaw.ai/

На macOS у Codex есть прямой доступ к LaunchAgent'у (~/Library/LaunchAgents/), к Keychain и к каталогу ~/.openclaw/. Он быстро найдёт типовое: упал LaunchAgent после перезагрузки, забыли включить VPN, истёк OAuth-токен.

Codex CLI и Claude Code как альтернативы

Если по каким-то причинам Codex Desktop не подходит (нет Mac/Windows под рукой, работаешь сразу с сервера, любишь терминал) — те же сценарии заводятся в CLI-агентах.

Codex CLI. Нужен Node.js 22+:

npm install -g @openai/codex
codex login                                       # OAuth через ChatGPT
codex --dangerously-bypass-approvals-and-sandbox  # запуск в режиме полного доступа

Claude Code. Тоже Node.js 22+:

npm install -g @anthropic-ai/claude-code
claude                                # первый запуск спросит ключ или подписку
claude --dangerously-skip-permissions # запуск в режиме полного доступа

Промпты из примеров выше работают как есть — отправляешь то же самое сообщение в CLI. Что выбрать, зависит от подписки и контекста. Я для разовой починки чаще беру Codex Desktop (быстрее и нагляднее), для длинных расследований с правкой конфигов — Claude Code из терминала.

Быстрая починка одной командой — openclaw doctor

Если ты комфортно живёшь в терминале и не хочешь ради каждой мелочи запускать Codex, у OpenClaw есть встроенная команда, которая чинит большинство типовых проблем за пару секунд. Это не замена AI-агенту, а быстрая первая попытка: запустил, не помогло — тогда уже зовёшь Codex.

openclaw doctor — диагностический и ремонтный комбайн OpenClaw. Он проверяет конфиг, состояние gateway, плагины, авторизацию у провайдеров, целостность сессий, миграции схемы — и для большинства проблем умеет применить починку сам.

Одна команда на все случаи жизни

Если бот ведёт себя странно, начинай с этого:

openclaw doctor --fix --yes && openclaw gateway restart

Что здесь происходит:

  • --fix — применить все безопасные починки без вопросов: мигрировать устаревший конфиг, починить права на файлы, обновить OAuth-токены, выкинуть мусорные lock-файлы сессий, переустановить пропавшие плагины и так далее.
  • --yes — соглашаться на дефолтные ответы там, где doctor всё-таки спрашивает (например, при перезаписи systemd-сервиса).
  • gateway restart после — чтобы изменения применились без ожидания фонового перезапуска.

Перед записью doctor сохраняет копию текущего конфига в ~/.openclaw/openclaw.json.bak. Если что-то после починки стало хуже, можно откатиться:

cp ~/.openclaw/openclaw.json.bak ~/.openclaw/openclaw.json
openclaw gateway restart

Что doctor умеет починить сам

Список длинный, но знать его весь не обязательно — достаточно понимать классы проблем, которые покрывает одна команда doctor --fix:

  • Миграции конфига. OpenClaw часто обновляется, и схема openclaw.json меняется. После апдейта старые ключи (routing.queue, agent.model, флаты talk.* и десятки других) уже не понимаются — gateway отказывается стартовать. Doctor переписывает их в актуальный формат.
  • OAuth и авторизация. Проверяет, не истекли ли токены у Anthropic/OpenAI/прочих, обновляет refresh-токены, ловит cooldown'ы и блокировки по биллингу.
  • Состояние сессий. Удаляет залипшие lock-файлы, чинит повреждённые JSONL-транскрипты, мигрирует структуру каталогов после апдейта.
  • Плагины. Переустанавливает пропавшие, чистит висящие ссылки на удалённые плагины в plugins.entries, plugins.allow, channel/agent-конфигах.
  • Gateway service. Сверяет systemd/launchd-юнит с актуальной конфигурацией: правильный порт, правильный путь к Node, нет ли двух конкурирующих сервисов.
  • Каналы. Проверяет статус Telegram/WhatsApp/Discord-аккаунтов, ловит проблемы с разрешениями.
  • Skills. Помечает скиллы, у которых пропали зависимости (бинари, env-переменные, конфиг). С --fix отключает их, чтобы они не тянули за собой ошибки.

Полный список — в документации openclaw doctor. На практике достаточно помнить одну команду из заголовка.

Диагностическая лесенка

Когда doctor --fix отработал, но проблема осталась, прогоняй официальную диагностическую лесенку сверху вниз:

openclaw status              # общий обзор: конфиг, каналы, авторизация
openclaw gateway status      # gateway процесс, RPC, capability
openclaw logs --follow       # живой поток логов
openclaw channels status --probe   # доходят ли сообщения до каналов

Эти команды ничего не меняют. Их задача — показать, на каком уровне отвалилось: gateway, канал, провайдер модели или сама модель. Дальше либо разбираешься сам по гайду по диагностике, либо скармливаешь вывод Codex'у — он разберётся быстрее.

Бот сам следит за собой — ежедневная проверка по cron

Третий уровень — переложить мониторинг на самого бота. У OpenClaw есть встроенный планировщик cron: можно завести задачу, которая раз в сутки запускает диагностику, собирает состояние сервера и пишет тебе в Telegram, если что-то поломалось. И самое приятное — настраивать это руками в конфиге не надо. Бот заведёт cron-задачу себе сам, если просто попросить его в чате.

Настраиваем прямо в чате с ботом

Открываешь обычный диалог с ботом в Telegram и отправляешь что-то вроде:

Заведи cron-задачу: раз в сутки проверяй здоровье OpenClaw и состояние сервера. Если что-то не так — напиши сюда. Доки: https://docs.openclaw.ai/

Бот сам разберётся, что в проверку включать (как минимум openclaw doctor --lint, метрики диска и памяти, статус gateway), соберёт команду openclaw cron add с правильными параметрами, поставит задачу и подтвердит. Всё, дальше она живёт сама.

Если хочется задать конкретику — время, пороги, дополнительные проверки — просто дописываешь в этом же сообщении или поправляешь потом отдельной репликой. Бот переедет на новые требования.

Почему cron, а не heartbeat. У OpenClaw есть второй похожий механизм — heartbeat, он гоняет короткие фоновые ходы каждые 30 минут. Для проверки здоровья он избыточен: doctor раз в полчаса — это лишний расход токенов и лишний шум. Ежедневной cron-проверки хватает с запасом, а для срочных проблем (бот вообще перестал отвечать) ты и так сам это заметишь.

Важно: проверка только смотрит, ничего не чинит. Флаг --lint у doctor гарантирует read-only режим. Это сознательный выбор: бот, который тихо чинит себя в фоне, легко уходит в loop, где починка ломает что-то ещё. Бот находит проблему, описывает её, а дальше решаешь ты — рукой запустить openclaw doctor --fix --yes && openclaw gateway restart или позвать Codex для расследования.

Что увидишь в Telegram

Если всё хорошо — ничего. Бот молча отработает и закроет задачу.

Если найдены проблемы — придёт короткое сообщение вроде:

⚠️ Daily health check — 2 проблемы

1. doctor/model-auth (warning): OAuth-токен Anthropic истекает через 12 часов. Фикс: openclaw models auth login --provider anthropic.

2. Диск / заполнен на 91% (свободно 4.2 ГБ из 50). Логи в ~/.openclaw/logs весят 8.7 ГБ. Фикс: find ~/.openclaw/logs -name '*.log.*' -mtime +14 -delete.

Дальше — либо запускаешь предложенные команды руками, либо пересылаешь сообщение целиком в Codex Desktop с подписью «почини». Codex сам зайдёт на сервер и применит.

Управление задачей через чат

Менять расписание, отключать, смотреть историю запусков — тоже через чат, без терминала:

Покажи, какие у тебя сейчас крон-задачи и когда они в последний раз запускались.

Перенеси daily health check на 8:00 вместо 9:00.

Включи в сводку ещё проверку, что Telegram-бот реально online (через openclaw channels status --probe).

Удали задачу daily health check, она надоела.

Бот разберёт openclaw cron list, openclaw cron edit, openclaw cron delete и применит изменения сам.

Если всё совсем сломалось

Бывают ситуации, когда даже doctor не запускается — например, сам gateway не может стартовать из-за повреждённого конфига, или после неудачного апдейта openclaw бинарь не находится. Аварийный комплект:

# 1. Откатить конфиг на бэкап
cp ~/.openclaw/openclaw.json.bak ~/.openclaw/openclaw.json

# 2. Принудительно переустановить gateway-сервис
openclaw gateway install --force
openclaw gateway restart

# 3. Если openclaw не находится — переустановить CLI
curl -fsSL https://openclaw.ai/install.sh | bash -s -- --no-onboard

# 4. Крайний случай: полностью переустановить с нуля скриптом из урока 1
curl -fsSL https://raw.githubusercontent.com/MissiaL/openclaw/refs/heads/main/setup_openclaw_ubuntu.sh | bash

Сетап-скрипт из урока 1 идемпотентный — повторный запуск пропускает уже сделанное и переставляет только сломанное. Конфиг и данные (~/.openclaw/) не трогает. Это безопасно делать на «живом» сервере как последнее средство.

Что дальше

Бот стоит, чинится, сам себя мониторит. На этом основной курс закончен — у тебя в руках всё, чтобы держать OpenClaw на проде. Дальше копать по интересу: продвинутые скиллы, агентные пайплайны, кастомные плагины, multi-agent сетапы. Заходи в телеграм-канал курса, там обсуждаем уже выпущенные уроки и собираем темы для следующих.


Если что-то не получается или есть вопросы — заходи в телеграм-канал курса. Там помогут разобраться.

Обсуждение