---
read_when:
    - Вы хотите узнать, приводит ли перезапуск Gateway к потере выполняемой агентом работы
    - Выполнение агента было прервано перезапуском, сбоем или перезагрузкой конфигурации
    - Вы отлаживаете автоматическое восстановление сеанса после возобновления работы Gateway
summary: 'Что сохраняется после перезапуска или сбоя Gateway: прерванные ходы агента возобновляются автоматически, субагенты и фоновые задачи восстанавливаются, очередь доставки опустошается'
title: Восстановление после перезапуска
x-i18n:
    generated_at: "2026-07-13T18:10:00Z"
    model: gpt-5.6
    postprocess_version: locale-links-v1
    prompt_version: 24
    provider: openai
    source_hash: 4c03eb16ff37f1d412647b9ae8933a524cc1bc705b1cfd486ce8542699336785
    source_path: gateway/restart-recovery.md
    workflow: 16
---

Перезапуск Gateway не приводит к потере состояния агента. Диалоги, расшифровки,
запланированные задания, записи фоновых задач и исходящие сообщения в очереди
хранятся на диске, а работа, прерванная во время хода, обнаруживается и
автоматически возобновляется после запуска Gateway. Ручное вмешательство не
требуется, и настраивать ничего не нужно: восстановление включено всегда.

На этой странице описано, что сохраняется после перезапуска, как обнаруживается
прерванная работа и как происходит автоматическое возобновление.

## Что сохраняется после перезапуска

| Состояние                     | Хранилище                                   | Поведение при перезапуске                                             |
| ----------------------------- | ------------------------------------------- | --------------------------------------------------------------------- |
| История диалога               | База данных SQLite отдельного агента        | Не изменяется; сеансы продолжаются на основе сохранённой расшифровки  |
| Прерванный ход основного сеанса | Строка сеанса и расшифровка в базе данных SQLite отдельного агента | Автоматически возобновляется через несколько секунд после запуска |
| Запуски субагентов            | SQLite (общая база данных состояния)        | Реестр восстанавливается при загрузке; прерванные запуски возобновляются |
| Фоновые задачи                | SQLite (общая база данных состояния)        | Сверяются при загрузке; потерявшие владельца запуски восстанавливаются или помечаются как потерянные |
| Исходящие доставки в очереди  | Очередь доставки SQLite                     | Обрабатываются после перезапуска; недоставленные ответы отправляются повторно |
| Запланированные задания (cron) | Хранилище cron в SQLite                    | Расписания сохраняются; планировщик повторно активируется при загрузке |
| Продолжение после перезапуска | Маркер перезапуска в SQLite                 | Однократное продолжение отправляется в сеанс, запросивший перезапуск   |

## Перед корректным перезапуском сначала завершается текущая работа

Запрошенный перезапуск (`openclaw gateway restart`, изменение конфигурации, требующее
перезапуска, или обновление Gateway) не прерывает выполняемую работу немедленно.
Gateway прекращает принимать новую работу, а затем ожидает завершения активных
ходов агентов и фоновых задач в пределах периода ожидания завершения (по
умолчанию 5 минут). Поэтому в большинстве случаев перезапуск вообще ничего не
прерывает.

Прерывается только работа, которую невозможно завершить в пределах периода
ожидания (либо любой запуск, прерванный принудительным перезапуском или сбоем),
— и перед этим каждый затронутый сеанс помечается для восстановления.

## Как обнаруживается прерванная работа

Сеансы с незавершённым ходом помечаются тремя взаимодополняющими механизмами:

- **При приёме запроса в Control UI:** для обычного текстового хода в существующем
  основном сеансе Gateway добавляет сообщение пользователя, помечает сеанс как
  выполняющийся и записывает его заявку на доставку только расшифровки в одной
  транзакции SQLite, прежде чем вернуть подтверждение `started`.
  Команды, вложения, переопределения для отдельных ходов, ожидающие доставки,
  предыдущие признаки прерывания, сеансы, принадлежащие плагинам, и ходы с
  хуками выполнения сохраняют свои специализированные пути приёма.
- **При завершении работы:** во время ожидания завершения перед перезапуском
  каждый сеанс с активным запуском получает в хранилище сеансов маркер
  восстановления, прежде чем запуск будет прерван.
- **При запуске:** Gateway сканирует хранилища сеансов на наличие сеансов,
  которые по-прежнему считаются выполняющимися, но не имеют активного владельца
  в новом процессе. Это позволяет обнаруживать аварийные завершения и
  принудительные остановки, при которых код завершения работы не выполнялся.
  Одновременно удаляются устаревшие файлы блокировки расшифровок.

## Автоматическое возобновление

Через несколько секунд после запуска Gateway повторно отправляет каждый
помеченный сеанс с синтетическим системным сообщением, которое уведомляет
агента о том, что его предыдущий ход был прерван перезапуском, и предписывает
продолжить работу на основе существующей расшифровки. Если итоговый ответ уже
был сформирован, но не доставлен, его текст включается в сообщение, чтобы агент
мог доставить его вместо повторного выполнения работы. Восстановление
повторяется до 3 раз с экспоненциальной задержкой. При каждой попытке
используется один и тот же постоянный идентификатор отправки, поэтому
неоднозначный сбой подключения не может запустить одно и то же восстановление
дважды. Для завершённых и невозобновляемых ходов Control UI также сохраняются
ограниченные по сроку постоянные маркеры идемпотентности, позволяющие
переподключившейся очереди исходящих сообщений снять их с обработки без
повторного выполнения запроса.

Перед возобновлением Gateway проверяет, можно ли безопасно продолжить с конца
расшифровки. Если нельзя (например, ход завершился на устаревшем ожидающем
подтверждении), сеанс не запускается повторно вслепую; вместо этого агент
публикует короткое уведомление с просьбой повторно отправить последний запрос.
Для WebChat это уведомление записывается непосредственно в историю сеанса,
чтобы оно оставалось видимым после переподключения.

OpenClaw также может восстанавливать прерванную работу [Code Mode](/ru/reference/code-mode)
только для чтения. Code Mode помечает такие запуски как безопасные при
перезапуске и отклоняет инструменты каталога или пространства имён плагинов с
побочными эффектами до их выполнения. Если перезапуск происходит на элементе
управления `wait`, новый Gateway восстанавливает ход по его
расшифровке и принудительно сохраняет безопасность восстановленного выполнения
при перезапуске, даже если модель пропускает или сбрасывает этот флаг. Хост
ограничивает весь восстановленный ход проверенными основными инструментами
только для чтения и явно безопасными для повторного выполнения инструментами
плагинов, в том числе если Code Mode отключён после перезапуска. Работа с
побочными эффектами остаётся защищённой уведомлением о повторной отправке,
чтобы исключить риск дублирующей записи.

### Субагенты

Запуски субагентов сохраняются в общей базе данных состояния SQLite, поэтому
реестр субагентов переживает перезапуск процесса. При загрузке реестр
восстанавливается, а прерванные сеансы субагентов возобновляются с исходным
контекстом задачи. Применяются два защитных механизма:

- Запуски, прерванные более 2 часов назад, завершаются вместо возобновления,
  чтобы Gateway, не работавший всю ночь, не возобновлял устаревшую работу.
- Сеанс, который неоднократно не удаётся восстановить, помечается постоянным
  маркером как зависший, чтобы восстановление не зацикливалось навсегда.

### Фоновые задачи

[Реестр фоновых задач](/ru/automation/tasks) использует SQLite и сверяется при
загрузке, а также через заданные интервалы: постоянные результаты, записанные
завершёнными запусками, восстанавливаются, а запуски, процесс-владелец которых
исчез, после льготного периода помечаются как потерянные, а не остаются
зависшими навсегда.

### Перезапуски по запросу агента

Когда агент сам инициирует перезапуск (применяя изменение конфигурации,
обновляя Gateway или явно запрашивая перезапуск), перед завершением процесса в
SQLite записывается маркер перезапуска. После загрузки Gateway публикует
результат в исходном чате и отправляет однократный ход продолжения, чтобы агент
возобновил работу ровно с того места, где остановился, в том же канале и ветке.

## Защитные механизмы и наблюдаемость

- **Предохранитель от циклических сбоев:** 3 некорректных загрузки в течение
  5 минут активируют предохранитель, который при следующей загрузке подавляет
  автоматический запуск вспомогательных служб, чтобы сбойный Gateway не
  усугублял проблему. Нормальная работа восстанавливается после истечения окна
  некорректных загрузок.
- **Метрики:** сведения об активности восстановления экспортируются через
  [Prometheus](/ru/gateway/prometheus) как `openclaw_session_recovery_total` и
  `openclaw_session_recovery_age_seconds`.
- **Журналы:** решения о восстановлении записываются в журналы подсистем
  `main-session-restart-recovery` и `subagent-interrupted-resume`.

## Что не возобновляется

- Сеансы, исключённые из восстановления основных сеансов, поскольку ими уже
  управляет другой владелец: сеансы субагентов (восстановление субагентов),
  сеансы cron (планировщик повторно запускает их по расписанию) и сеансы под
  управлением ACP (за возобновление отвечает подключённая IDE или клиент).
- Сеансы, которые нельзя безопасно продолжить с конца расшифровки; вместо
  скрытого повторного запуска они получают описанное выше уведомление о
  повторной отправке.
- Работа, которая не была принята: сообщения, поступившие в период ожидания
  завершения, отклоняются с явной ошибкой перезапуска, а не молча добавляются в
  очередь завершающегося процесса.
