---
read_when:
    - Ответы на распространенные вопросы о настройке, установке, первичном запуске и поддержке во время выполнения
    - Триаж проблем, о которых сообщили пользователи, перед более глубокой отладкой
summary: Часто задаваемые вопросы о настройке, конфигурации и использовании OpenClaw
title: Часто задаваемые вопросы
x-i18n:
    generated_at: "2026-06-28T23:02:46Z"
    model: gpt-5.5
    postprocess_version: locale-links-v1
    provider: openai
    source_hash: 40b32792c202944576cd983ecf8bf794551bc50986d6b5c985a8ddfe0ecf0b34
    source_path: help/faq.md
    workflow: 16
---

Краткие ответы и более глубокое устранение неполадок для реальных конфигураций (локальная разработка, VPS, несколько агентов, OAuth/API-ключи, отказоустойчивое переключение моделей). Диагностику среды выполнения см. в [Устранении неполадок](/ru/gateway/troubleshooting). Полный справочник конфигурации см. в [Конфигурации](/ru/gateway/configuration).

## Первые 60 секунд, если что-то сломалось

1. **Быстрый статус (первая проверка)**

   ```bash
   openclaw status
   ```

   Быстрая локальная сводка: ОС + обновление, доступность gateway/службы, агенты/сеансы, конфигурация провайдера + проблемы среды выполнения (когда gateway доступен).

2. **Отчет для вставки (безопасно делиться)**

   ```bash
   openclaw status --all
   ```

   Диагностика только для чтения с хвостом журнала (токены скрыты).

3. **Состояние демона + порта**

   ```bash
   openclaw gateway status
   ```

   Показывает среду выполнения супервизора в сравнении с доступностью RPC, целевой URL проверки и какую конфигурацию, вероятно, использовала служба.

4. **Глубокие проверки**

   ```bash
   openclaw status --deep
   ```

   Запускает живую проверку состояния gateway, включая проверки каналов, когда они поддерживаются
   (требуется доступный gateway). См. [Health](/ru/gateway/health).

5. **Отслеживание последнего журнала**

   ```bash
   openclaw logs --follow
   ```

   Если RPC недоступен, используйте запасной вариант:

   ```bash
   tail -f "$(ls -t /tmp/openclaw/openclaw-*.log | head -1)"
   ```

   Файловые журналы отделены от журналов службы; см. [Логирование](/ru/logging) и [Устранение неполадок](/ru/gateway/troubleshooting).

6. **Запуск doctor (исправления)**

   ```bash
   openclaw doctor
   ```

   Исправляет/мигрирует конфигурацию/состояние + выполняет проверки работоспособности. См. [Doctor](/ru/gateway/doctor).

7. **Снимок Gateway**

   ```bash
   openclaw health --json
   openclaw health --verbose   # shows the target URL + config path on errors
   ```

   Запрашивает у запущенного gateway полный снимок (только WS). См. [Health](/ru/gateway/health).

## Быстрый старт и первая настройка

Вопросы и ответы по первому запуску — установка, onboarding, маршруты аутентификации, подписки, начальные сбои —
находятся в [FAQ по первому запуску](/ru/help/faq-first-run).

## Что такое OpenClaw?

<AccordionGroup>
  <Accordion title="Что такое OpenClaw в одном абзаце?">
    OpenClaw — это персональный AI-ассистент, который вы запускаете на собственных устройствах. Он отвечает в уже используемых вами мессенджерах и каналах (WhatsApp, Telegram, Slack, Mattermost, Discord, Google Chat, Signal, iMessage, WebChat и встроенных канальных plugin, таких как QQ Bot), а также может работать с голосом + живым Canvas на поддерживаемых платформах. **Gateway** — это постоянно включенный контур управления; ассистент — это продукт.
  </Accordion>

  <Accordion title="Ценностное предложение">
    OpenClaw — это не «просто обертка для Claude». Это **локальный прежде всего контур управления**, который позволяет запускать
    способного ассистента на **вашем собственном железе**, доступного из уже используемых вами чат-приложений, с
    сеансами с состоянием, памятью и инструментами — без передачи контроля над вашими рабочими процессами размещенному
    SaaS.

    Основное:

    - **Ваши устройства, ваши данные:** запускайте Gateway где хотите (Mac, Linux, VPS) и храните
      рабочее пространство + историю сеансов локально.
    - **Настоящие каналы, а не веб-песочница:** WhatsApp/Telegram/Slack/Discord/Signal/iMessage/и т. д.,
      плюс мобильный голос и Canvas на поддерживаемых платформах.
    - **Независимость от модели:** используйте Anthropic, OpenAI, MiniMax, OpenRouter и т. д. с маршрутизацией
      и failover для каждого агента.
    - **Только локальный вариант:** запускайте локальные модели, чтобы **все данные могли оставаться на вашем устройстве**, если хотите.
    - **Маршрутизация нескольких агентов:** отдельные агенты для канала, учетной записи или задачи, каждый со своим
      рабочим пространством и значениями по умолчанию.
    - **Открытый исходный код и возможность доработки:** изучайте, расширяйте и размещайте самостоятельно без привязки к поставщику.

    Документация: [Gateway](/ru/gateway), [Каналы](/ru/channels), [Несколько агентов](/ru/concepts/multi-agent),
    [Память](/ru/concepts/memory).

  </Accordion>

  <Accordion title="Я только что настроил это — что сделать сначала?">
    Хорошие первые проекты:

    - Создать сайт (WordPress, Shopify или простой статический сайт).
    - Прототипировать мобильное приложение (структура, экраны, план API).
    - Организовать файлы и папки (очистка, именование, теги).
    - Подключить Gmail и автоматизировать сводки или последующие действия.

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

  </Accordion>

  <Accordion title="Каковы пять главных повседневных сценариев использования OpenClaw?">
    Повседневная польза обычно выглядит так:

    - **Личные брифинги:** сводки входящих, календаря и важных для вас новостей.
    - **Исследование и черновики:** быстрое исследование, сводки и первые черновики писем или документов.
    - **Напоминания и последующие действия:** подсказки и чек-листы на базе Cron или Heartbeat.
    - **Автоматизация браузера:** заполнение форм, сбор данных и повторяющиеся веб-задачи.
    - **Координация между устройствами:** отправьте задачу с телефона, дайте Gateway выполнить ее на сервере и получите результат обратно в чате.

  </Accordion>

  <Accordion title="Может ли OpenClaw помогать с лидогенерацией, outreach, рекламой и блогами для SaaS?">
    Да, для **исследования, квалификации и подготовки черновиков**. Он может сканировать сайты, составлять короткие списки,
    резюмировать потенциальных клиентов и писать черновики outreach-сообщений или рекламных текстов.

    Для **outreach или запуска рекламы** держите человека в контуре. Избегайте спама, соблюдайте местные законы и
    политики платформ, а также проверяйте все перед отправкой. Самый безопасный шаблон — поручить
    OpenClaw подготовить черновик, а вам утверждать.

    Документация: [Безопасность](/ru/gateway/security).

  </Accordion>

  <Accordion title="Какие преимущества по сравнению с Claude Code для веб-разработки?">
    OpenClaw — это **персональный ассистент** и слой координации, а не замена IDE. Используйте
    Claude Code или Codex для самого быстрого прямого цикла кодирования внутри репозитория. Используйте OpenClaw, когда вам
    нужны долговременная память, доступ с разных устройств и оркестрация инструментов.

    Преимущества:

    - **Постоянная память + рабочее пространство** между сеансами
    - **Доступ с нескольких платформ** (WhatsApp, Telegram, TUI, WebChat)
    - **Оркестрация инструментов** (браузер, файлы, планирование, хуки)
    - **Постоянно включенный Gateway** (запуск на VPS, взаимодействие откуда угодно)
    - **Узлы** для локального браузера/экрана/камеры/exec

    Витрина: [https://openclaw.ai/showcase](https://openclaw.ai/showcase)

  </Accordion>
</AccordionGroup>

## Skills и автоматизация

<AccordionGroup>
  <Accordion title="Как настроить Skills, не оставляя репозиторий грязным?">
    Используйте управляемые переопределения вместо редактирования копии в репозитории. Поместите изменения в `~/.openclaw/skills/<name>/SKILL.md` (или добавьте папку через `skills.load.extraDirs` в `~/.openclaw/openclaw.json`). Приоритет: `<workspace>/skills` → `<workspace>/.agents/skills` → `~/.agents/skills` → `~/.openclaw/skills` → встроенные → `skills.load.extraDirs`, поэтому управляемые переопределения все равно имеют приоритет над встроенными Skills без изменения git. Если Skill нужно установить глобально, но показывать только некоторым агентам, храните общую копию в `~/.openclaw/skills` и управляйте видимостью через `agents.defaults.skills` и `agents.list[].skills`. В репозитории должны находиться только изменения, достойные upstream, и уходить как PR.
  </Accordion>

  <Accordion title="Можно ли загрузить Skills из пользовательской папки?">
    Да. Добавьте дополнительные каталоги через `skills.load.extraDirs` в `~/.openclaw/openclaw.json` (самый низкий приоритет). Приоритет по умолчанию: `<workspace>/skills` → `<workspace>/.agents/skills` → `~/.agents/skills` → `~/.openclaw/skills` → встроенные → `skills.load.extraDirs`. `clawhub` по умолчанию устанавливает в `./skills`, что OpenClaw воспринимает как `<workspace>/skills` в следующем сеансе. Если Skill должен быть виден только определенным агентам, сочетайте это с `agents.defaults.skills` или `agents.list[].skills`.
  </Accordion>

  <Accordion title="Как использовать разные модели или настройки для разных задач?">
    Сегодня поддерживаются такие шаблоны:

    - **Задания Cron**: изолированные задания могут задавать переопределение `model` для каждого задания.
    - **Агенты**: направляйте задачи отдельным агентам с разными моделями по умолчанию, уровнями thinking и параметрами потока.
    - **Переключение по требованию**: используйте `/model`, чтобы в любой момент переключить модель текущего сеанса.

    Например, используйте одну и ту же модель с разными настройками для каждого агента:

    ```json5
    {
      agents: {
        list: [
          {
            id: "coder",
            model: "xiaomi/mimo-v2.5-pro",
            thinkingDefault: "high",
            params: { temperature: 0.1 },
          },
          {
            id: "chat",
            model: "xiaomi/mimo-v2.5-pro",
            thinkingDefault: "off",
            params: { temperature: 0.8 },
          },
        ],
      },
    }
    ```

    Поместите общие значения по умолчанию для модели в `agents.defaults.models["provider/model"].params`, затем поместите переопределения конкретного агента в плоский `agents.list[].params`. Не определяйте отдельные вложенные записи `agents.list[].models["provider/model"].params` для той же модели; `agents.list[].models` предназначен для каталога моделей и переопределений среды выполнения для конкретного агента.

    См. [Задания Cron](/ru/automation/cron-jobs), [Маршрутизация нескольких агентов](/ru/concepts/multi-agent), [Конфигурация](/ru/gateway/config-agents) и [Slash-команды](/ru/tools/slash-commands).

  </Accordion>

  <Accordion title="Бот зависает во время тяжелой работы. Как вынести это отдельно?">
    Используйте **субагентов** для долгих или параллельных задач. Субагенты работают в собственном сеансе,
    возвращают сводку и сохраняют отзывчивость основного чата.

    Попросите бота «spawn a sub-agent for this task» или используйте `/subagents`.
    Используйте `/status` в чате, чтобы увидеть, что Gateway делает прямо сейчас (и занят ли он).

    Совет по токенам: долгие задачи и субагенты потребляют токены. Если важна стоимость, задайте
    более дешевую модель для субагентов через `agents.defaults.subagents.model`.

    Документация: [Субагенты](/ru/tools/subagents), [Фоновые задачи](/ru/automation/tasks).

  </Accordion>

  <Accordion title="Как работают привязанные к тредам сеансы субагентов в Discord?">
    Используйте привязки тредов. Вы можете привязать тред Discord к субагенту или целевому сеансу, чтобы последующие сообщения в этом треде оставались в привязанном сеансе.

    Базовый поток:

    - Создайте через `sessions_spawn` с `thread: true` (и при необходимости `mode: "session"` для постоянных последующих сообщений).
    - Или привяжите вручную через `/focus <target>`.
    - Используйте `/agents`, чтобы проверить состояние привязки.
    - Используйте `/session idle <duration|off>` и `/session max-age <duration|off>`, чтобы управлять автоматическим снятием фокуса.
    - Используйте `/unfocus`, чтобы отвязать тред.

    Требуемая конфигурация:

    - Глобальные значения по умолчанию: `session.threadBindings.enabled`, `session.threadBindings.idleHours`, `session.threadBindings.maxAgeHours`.
    - Переопределения Discord: `channels.discord.threadBindings.enabled`, `channels.discord.threadBindings.idleHours`, `channels.discord.threadBindings.maxAgeHours`.
    - Автопривязка при создании: `channels.discord.threadBindings.spawnSessions` по умолчанию равен `true`; установите `false`, чтобы отключить создание сеансов, привязанных к тредам.

    Документация: [Субагенты](/ru/tools/subagents), [Discord](/ru/channels/discord), [Справочник конфигурации](/ru/gateway/configuration-reference), [Slash-команды](/ru/tools/slash-commands).

  </Accordion>

  <Accordion title="Субагент завершился, но обновление о завершении ушло не туда или вообще не было опубликовано. Что проверить?">
    Сначала проверьте разрешенный маршрут инициатора:

    - Доставка субагента в режиме завершения предпочитает любой привязанный тред или маршрут беседы, когда он существует.
    - Если источник завершения содержит только канал, OpenClaw использует запасной вариант — сохраненный маршрут сеанса инициатора (`lastChannel` / `lastTo` / `lastAccountId`), чтобы прямая доставка все еще могла выполниться успешно.
    - Если нет ни привязанного маршрута, ни пригодного сохраненного маршрута, прямая доставка может завершиться ошибкой, а результат вместо немедленной публикации в чат попадет в доставку через очередь сеанса.
    - Недействительные или устаревшие цели все еще могут принудительно привести к запасной очереди или окончательному сбою доставки.
    - Если последний видимый ответ ассистента дочернего агента — точный тихий токен `NO_REPLY` / `no_reply` или ровно `ANNOUNCE_SKIP`, OpenClaw намеренно подавляет объявление вместо публикации устаревшего более раннего прогресса.
    - Вывод tool/toolResult не продвигается в текст результата дочернего агента; результат — это последний видимый ответ ассистента дочернего агента.

    Отладка:

    ```bash
    openclaw tasks show <runId-or-sessionKey>
    ```

    Документация: [субагенты](/ru/tools/subagents), [фоновые задачи](/ru/automation/tasks), [инструменты сеанса](/ru/concepts/session-tool).

  </Accordion>

  <Accordion title="Cron или напоминания не срабатывают. Что проверить?">
    Cron выполняется внутри процесса Gateway. Если Gateway не работает непрерывно,
    запланированные задания не будут выполняться.

    Контрольный список:

    - Убедитесь, что cron включен (`cron.enabled`) и `OPENCLAW_SKIP_CRON` не задан.
    - Проверьте, что Gateway работает 24/7 (без сна/перезапусков).
    - Проверьте настройки часового пояса для задания (`--tz` и часовой пояс хоста).

    Отладка:

    ```bash
    openclaw cron run <jobId>
    openclaw cron runs --id <jobId> --limit 50
    ```

    Документация: [задания Cron](/ru/automation/cron-jobs), [автоматизация](/ru/automation).

  </Accordion>

  <Accordion title="Cron сработал, но в канал ничего не отправлено. Почему?">
    Сначала проверьте режим доставки:

    - `--no-deliver` / `delivery.mode: "none"` означает, что резервная отправка раннером не ожидается.
    - Отсутствующая или недопустимая цель объявления (`channel` / `to`) означает, что раннер пропустил исходящую доставку.
    - Сбои авторизации канала (`unauthorized`, `Forbidden`) означают, что раннер пытался доставить сообщение, но учетные данные это заблокировали.
    - Тихий изолированный результат (только `NO_REPLY` / `no_reply`) считается намеренно недоставляемым, поэтому раннер также подавляет резервную доставку из очереди.

    Для изолированных заданий cron агент все еще может отправлять напрямую с помощью инструмента `message`,
    когда доступен маршрут чата. `--announce` управляет только резервным путем раннера
    для финального текста, который агент еще не отправил.

    Отладка:

    ```bash
    openclaw cron runs --id <jobId> --limit 50
    openclaw tasks show <runId-or-sessionKey>
    ```

    Документация: [задания Cron](/ru/automation/cron-jobs), [фоновые задачи](/ru/automation/tasks).

  </Accordion>

  <Accordion title="Почему изолированный запуск cron переключил модели или повторился один раз?">
    Обычно это путь переключения live-модели, а не дублирование планирования.

    Изолированный cron может сохранять передачу runtime-модели и повторять попытку, когда активный
    запуск выбрасывает `LiveSessionModelSwitchError`. Повтор сохраняет переключенного
    провайдера/модель, а если переключение принесло новое переопределение профиля авторизации, cron
    также сохраняет его перед повторной попыткой.

    Связанные правила выбора:

    - Переопределение модели хуком Gmail имеет приоритет, когда применимо.
    - Затем `model` отдельного задания.
    - Затем любое сохраненное переопределение модели cron-сеанса.
    - Затем обычный выбор модели агента/по умолчанию.

    Цикл повторов ограничен. После начальной попытки плюс 2 повторов переключения
    cron прерывается, а не зацикливается навсегда.

    Отладка:

    ```bash
    openclaw cron runs --id <jobId> --limit 50
    openclaw tasks show <runId-or-sessionKey>
    ```

    Документация: [задания Cron](/ru/automation/cron-jobs), [CLI cron](/ru/cli/cron).

  </Accordion>

  <Accordion title="Как установить Skills в Linux?">
    Используйте встроенные команды `openclaw skills` или поместите Skills в рабочую область. Интерфейс Skills для macOS недоступен в Linux.
    Просматривайте Skills на [https://clawhub.ai](https://clawhub.ai).

    ```bash
    openclaw skills search "calendar"
    openclaw skills search --limit 20
    openclaw skills install @owner/<skill-slug>
    openclaw skills install @owner/<skill-slug> --version <version>
    openclaw skills install @owner/<skill-slug> --force
    openclaw skills install @owner/<skill-slug> --global
    openclaw skills update --all
    openclaw skills update --all --global
    openclaw skills list --eligible
    openclaw skills check
    ```

    Встроенная команда `openclaw skills install` по умолчанию записывает в каталог
    `skills/` активной рабочей области. Добавьте `--global`, чтобы установить в общий управляемый
    каталог Skills для всех локальных агентов. Устанавливайте отдельный CLI `clawhub`
    только если хотите публиковать или синхронизировать собственные Skills. Используйте
    `agents.defaults.skills` или `agents.list[].skills`, если хотите сузить
    набор агентов, которым видны общие Skills.

  </Accordion>

  <Accordion title="Может ли OpenClaw выполнять задачи по расписанию или постоянно в фоне?">
    Да. Используйте планировщик Gateway:

    - **Задания Cron** для запланированных или повторяющихся задач (сохраняются между перезапусками).
    - **Heartbeat** для периодических проверок «основного сеанса».
    - **Изолированные задания** для автономных агентов, которые публикуют сводки или доставляют сообщения в чаты.

    Документация: [задания Cron](/ru/automation/cron-jobs), [автоматизация](/ru/automation),
    [Heartbeat](/ru/gateway/heartbeat).

  </Accordion>

  <Accordion title="Могу ли я запускать Skills только для Apple macOS из Linux?">
    Не напрямую. Skills для macOS ограничены `metadata.openclaw.os` и необходимыми бинарными файлами, а Skills появляются в системном промпте только когда они допустимы на **хосте Gateway**. В Linux Skills только для `darwin` (например, `apple-notes`, `apple-reminders`, `things-mac`) не загрузятся, если вы не переопределите ограничение.

    Поддерживаются три схемы:

    **Вариант A - запустить Gateway на Mac (проще всего).**
    Запустите Gateway там, где существуют бинарные файлы macOS, затем подключитесь из Linux в [удаленном режиме](#gateway-ports-already-running-and-remote-mode) или через Tailscale. Skills загружаются нормально, потому что хост Gateway работает на macOS.

    **Вариант B - использовать узел macOS (без SSH).**
    Запустите Gateway в Linux, сопрягите узел macOS (приложение в строке меню) и установите **Команды запуска Node** в "Всегда спрашивать" или "Всегда разрешать" на Mac. OpenClaw может считать Skills только для macOS допустимыми, когда необходимые бинарные файлы существуют на узле. Агент запускает эти Skills через инструмент `nodes`. Если выбрать "Всегда спрашивать", одобрение "Всегда разрешать" в запросе добавит эту команду в список разрешенных.

    **Вариант C - проксировать бинарные файлы macOS через SSH (для продвинутых).**
    Оставьте Gateway в Linux, но сделайте так, чтобы необходимые CLI-бинарники разрешались в SSH-обертки, которые запускаются на Mac. Затем переопределите Skill, чтобы разрешить Linux и сохранить его допустимым.

    1. Создайте SSH-обертку для бинарного файла (пример: `memo` для Apple Notes):

       ```bash
       #!/usr/bin/env bash
       set -euo pipefail
       exec ssh -T user@mac-host /opt/homebrew/bin/memo "$@"
       ```

    2. Поместите обертку в `PATH` на хосте Linux (например, `~/bin/memo`).
    3. Переопределите метаданные Skill (в рабочей области или `~/.openclaw/skills`), чтобы разрешить Linux:

       ```markdown
       ---
       name: apple-notes
       description: Manage Apple Notes via the memo CLI on macOS.
       metadata: { "openclaw": { "os": ["darwin", "linux"], "requires": { "bins": ["memo"] } } }
       ---
       ```

    4. Запустите новый сеанс, чтобы снимок Skills обновился.

  </Accordion>

  <Accordion title="Есть ли у вас интеграция с Notion или HeyGen?">
    На сегодня встроенной нет.

    Варианты:

    - **Пользовательский Skill / Plugin:** лучший вариант для надежного доступа к API (у Notion/HeyGen есть API).
    - **Автоматизация браузера:** работает без кода, но медленнее и более хрупкая.

    Если вы хотите хранить контекст по каждому клиенту (рабочие процессы агентства), простой шаблон таков:

    - Одна страница Notion на клиента (контекст + предпочтения + активная работа).
    - Попросите агента получить эту страницу в начале сеанса.

    Если нужна нативная интеграция, откройте запрос функции или создайте Skill,
    работающий с этими API.

    Установка Skills:

    ```bash
    openclaw skills install @owner/<skill-slug>
    openclaw skills update --all
    ```

    Встроенные установки попадают в каталог `skills/` активной рабочей области. Для общих Skills для всех локальных агентов используйте `openclaw skills install @owner/<skill-slug> --global` (или разместите их вручную в `~/.openclaw/skills/<name>/SKILL.md`). Если общий установленный Skill должны видеть только некоторые агенты, настройте `agents.defaults.skills` или `agents.list[].skills`. Некоторые Skills ожидают бинарные файлы, установленные через Homebrew; в Linux это означает Linuxbrew (см. запись FAQ по Homebrew для Linux выше). См. [Skills](/ru/tools/skills), [конфигурацию Skills](/ru/tools/skills-config) и [ClawHub](/ru/clawhub).

  </Accordion>

  <Accordion title="Как использовать мой уже авторизованный Chrome с OpenClaw?">
    Используйте встроенный профиль браузера `user`, который подключается через Chrome DevTools MCP:

    ```bash
    openclaw browser --browser-profile user tabs
    openclaw browser --browser-profile user snapshot
    ```

    Если нужно пользовательское имя, создайте явный профиль MCP:

    ```bash
    openclaw browser create-profile --name chrome-live --driver existing-session
    openclaw browser --browser-profile chrome-live tabs
    ```

    Этот путь может использовать локальный браузер хоста или подключенный браузерный узел. Если Gateway работает в другом месте, либо запустите хост узла на машине с браузером, либо используйте удаленный CDP.

    Текущие ограничения для `existing-session` / `user`:

    - действия управляются `ref`, а не CSS-селекторами
    - для загрузок требуются `ref` / `inputRef`, сейчас поддерживается один файл за раз
    - `responsebody`, экспорт PDF, перехват скачиваний и пакетные действия все еще требуют управляемого браузера или сырого профиля CDP

  </Accordion>
</AccordionGroup>

## Песочница и память

<AccordionGroup>
  <Accordion title="Есть ли отдельный документ о песочнице?">
    Да. См. [песочницу](/ru/gateway/sandboxing). Для настройки, специфичной для Docker (полный Gateway в Docker или образы песочницы), см. [Docker](/ru/install/docker).
  </Accordion>

  <Accordion title="Docker кажется ограниченным - как включить все возможности?">
    Образ по умолчанию в первую очередь ориентирован на безопасность и запускается от пользователя `node`, поэтому он не
    включает системные пакеты, Homebrew или встроенные браузеры. Для более полной настройки:

    - Сохраняйте `/home/node` с помощью `OPENCLAW_HOME_VOLUME`, чтобы кэши сохранялись.
    - Встраивайте системные зависимости в образ с помощью `OPENCLAW_IMAGE_APT_PACKAGES`.
    - Установите браузеры Playwright через встроенный CLI:
      `node /app/node_modules/playwright-core/cli.js install chromium`
    - Задайте `PLAYWRIGHT_BROWSERS_PATH` и убедитесь, что путь сохраняется.

    Документация: [Docker](/ru/install/docker), [браузер](/ru/tools/browser).

  </Accordion>

  <Accordion title="Могу ли я оставить личные DM приватными, но сделать группы публичными/изолированными в песочнице с одним агентом?">
    Да - если ваш приватный трафик — это **DM**, а публичный трафик — **группы**.

    Используйте `agents.defaults.sandbox.mode: "non-main"`, чтобы групповые/канальные сеансы (неосновные ключи) выполнялись в настроенном бэкенде песочницы, а основной DM-сеанс оставался на хосте. Docker — бэкенд по умолчанию, если не выбрать другой. Затем ограничьте инструменты, доступные в изолированных сеансах, через `tools.sandbox.tools`.

    Пошаговая настройка + пример конфигурации: [группы: личные DM + публичные группы](/ru/channels/groups#pattern-personal-dms-public-groups-single-agent)

    Справочник ключевой конфигурации: [конфигурация Gateway](/ru/gateway/config-agents#agentsdefaultssandbox)

  </Accordion>

  <Accordion title="Как привязать папку хоста в песочницу?">
    Задайте `agents.defaults.sandbox.docker.binds` как `["host:path:mode"]` (например, `"/home/user/src:/src:ro"`). Глобальные привязки и привязки отдельного агента объединяются; привязки отдельного агента игнорируются при `scope: "shared"`. Используйте `:ro` для всего чувствительного и помните, что привязки обходят стены файловой системы песочницы.

    OpenClaw проверяет источники привязок как по нормализованному пути, так и по каноническому пути, разрешенному через самый глубокий существующий предок. Это означает, что выходы через родительские symlink все равно закрываются отказом, даже если последний сегмент пути еще не существует, и проверки разрешенного корня все равно применяются после разрешения symlink.

    См. [песочницу](/ru/gateway/sandboxing#custom-bind-mounts) и [песочница, политика инструментов и Elevated](/ru/gateway/sandbox-vs-tool-policy-vs-elevated#bind-mounts-security-quick-check) для примеров и заметок по безопасности.

  </Accordion>

  <Accordion title="Как работает память?">
    Память OpenClaw — это просто Markdown-файлы в рабочей области агента:

    - Ежедневные заметки в `memory/YYYY-MM-DD.md`
    - Курируемые долгосрочные заметки в `MEMORY.md` (только основные/приватные сеансы)

    OpenClaw также выполняет **тихий сброс памяти перед Compaction**, чтобы напомнить модели
    записать долговечные заметки перед автоматическим Compaction. Это выполняется только когда рабочая область
    доступна для записи (песочницы только для чтения пропускают это). См. [память](/ru/concepts/memory).

  </Accordion>

  <Accordion title="Memory постоянно забывает информацию. Как сделать так, чтобы она сохранялась?">
    Попросите бота **записать факт в память**. Долгосрочные заметки должны быть в `MEMORY.md`,
    краткосрочный контекст — в `memory/YYYY-MM-DD.md`.

    Мы всё ещё улучшаем эту область. Полезно напоминать модели сохранять воспоминания;
    она поймёт, что делать. Если она продолжает забывать, проверьте, что Gateway использует одно и то же
    рабочее пространство при каждом запуске.

    Документация: [Memory](/ru/concepts/memory), [Рабочее пространство агента](/ru/concepts/agent-workspace).

  </Accordion>

  <Accordion title="Сохраняется ли память навсегда? Какие есть ограничения?">
    Файлы памяти находятся на диске и сохраняются, пока вы их не удалите. Ограничение — это ваше
    хранилище, а не модель. **Контекст сеанса** всё равно ограничен окном контекста модели,
    поэтому длинные разговоры могут подвергаться Compaction или обрезаться. Поэтому
    существует поиск по памяти — он возвращает в контекст только релевантные части.

    Документация: [Memory](/ru/concepts/memory), [Контекст](/ru/concepts/context).

  </Accordion>

  <Accordion title="Требует ли семантический поиск по памяти ключ OpenAI API?">
    Только если вы используете **эмбеддинги OpenAI**. Codex OAuth покрывает чат/завершения и
    **не** предоставляет доступ к эмбеддингам, поэтому **вход через Codex (OAuth или
    вход через Codex CLI)** не поможет для семантического поиска по памяти. Эмбеддингам OpenAI
    всё равно нужен настоящий ключ API (`OPENAI_API_KEY` или `models.providers.openai.apiKey`).

    Если вы явно не задаёте провайдера, OpenClaw использует эмбеддинги OpenAI. Устаревшие
    конфигурации, где всё ещё указано `memorySearch.provider = "auto"`, тоже разрешаются в OpenAI.
    Если ключ OpenAI API недоступен, семантический поиск по памяти остаётся недоступным,
    пока вы не настроите ключ или явно не выберете другого провайдера.

    Если вы предпочитаете оставаться локально, задайте `memorySearch.provider = "local"` (и при необходимости
    `memorySearch.fallback = "none"`). Если вам нужны эмбеддинги Gemini, задайте
    `memorySearch.provider = "gemini"` и укажите `GEMINI_API_KEY` (или
    `memorySearch.remote.apiKey`). Мы поддерживаем модели эмбеддингов **OpenAI, OpenAI-совместимые, Gemini,
    Voyage, Mistral, Bedrock, Ollama, LM Studio, GitHub Copilot, DeepInfra или локальные** —
    подробности настройки см. в [Memory](/ru/concepts/memory).

  </Accordion>
</AccordionGroup>

## Где данные находятся на диске

<AccordionGroup>
  <Accordion title="Все ли данные, используемые с OpenClaw, сохраняются локально?">
    Нет — **состояние OpenClaw локально**, но **внешние сервисы всё равно видят то, что вы им отправляете**.

    - **Локально по умолчанию:** сеансы, файлы памяти, конфигурация и рабочее пространство находятся на хосте Gateway
      (`~/.openclaw` + каталог вашего рабочего пространства).
    - **Удалённо по необходимости:** сообщения, которые вы отправляете провайдерам моделей (Anthropic/OpenAI/и т. д.), уходят в
      их API, а чат-платформы (WhatsApp/Telegram/Slack/и т. д.) хранят данные сообщений на своих
      серверах.
    - **Вы контролируете объём данных:** использование локальных моделей оставляет промпты на вашей машине, но трафик каналов
      всё равно проходит через серверы соответствующего канала.

    См. также: [Рабочее пространство агента](/ru/concepts/agent-workspace), [Memory](/ru/concepts/memory).

  </Accordion>

  <Accordion title="Где OpenClaw хранит свои данные?">
    Всё находится в `$OPENCLAW_STATE_DIR` (по умолчанию: `~/.openclaw`):

    | Путь                                                            | Назначение                                                         |
    | --------------------------------------------------------------- | ------------------------------------------------------------------ |
    | `$OPENCLAW_STATE_DIR/openclaw.json`                             | Основная конфигурация (JSON5)                                      |
    | `$OPENCLAW_STATE_DIR/credentials/oauth.json`                    | Импорт устаревшего OAuth (копируется в профили аутентификации при первом использовании) |
    | `$OPENCLAW_STATE_DIR/agents/<agentId>/agent/auth-profiles.json` | Профили аутентификации (OAuth, ключи API и необязательные `keyRef`/`tokenRef`) |
    | `$OPENCLAW_STATE_DIR/secrets.json`                              | Необязательная файловая секретная полезная нагрузка для провайдеров SecretRef `file` |
    | `$OPENCLAW_STATE_DIR/agents/<agentId>/agent/auth.json`          | Файл устаревшей совместимости (статические записи `api_key` очищены) |
    | `$OPENCLAW_STATE_DIR/credentials/`                              | Состояние провайдера (например, `whatsapp/<accountId>/creds.json`) |
    | `$OPENCLAW_STATE_DIR/agents/`                                   | Состояние по агентам (agentDir + сеансы)                           |
    | `$OPENCLAW_STATE_DIR/agents/<agentId>/sessions/`                | История разговоров и состояние (для каждого агента)                |
    | `$OPENCLAW_STATE_DIR/agents/<agentId>/sessions/sessions.json`   | Метаданные сеансов (для каждого агента)                            |

    Устаревший путь для одного агента: `~/.openclaw/agent/*` (мигрируется с помощью `openclaw doctor`).

    Ваше **рабочее пространство** (AGENTS.md, файлы памяти, Skills и т. д.) отделено и настраивается через `agents.defaults.workspace` (по умолчанию: `~/.openclaw/workspace`).

  </Accordion>

  <Accordion title="Где должны находиться AGENTS.md / SOUL.md / USER.md / MEMORY.md?">
    Эти файлы находятся в **рабочем пространстве агента**, а не в `~/.openclaw`.

    - **Рабочее пространство (для каждого агента)**: `AGENTS.md`, `SOUL.md`, `IDENTITY.md`, `USER.md`,
      `MEMORY.md`, `memory/YYYY-MM-DD.md`, необязательный `HEARTBEAT.md`.
      Корневой `memory.md` в нижнем регистре — только вход для исправления устаревшего формата; `openclaw doctor --fix`
      может объединить его с `MEMORY.md`, когда существуют оба файла.
    - **Каталог состояния (`~/.openclaw`)**: конфигурация, состояние каналов/провайдеров, профили аутентификации, сеансы, журналы
      и общие Skills (`~/.openclaw/skills`).

    Рабочее пространство по умолчанию — `~/.openclaw/workspace`, настраивается через:

    ```json5
    {
      agents: { defaults: { workspace: "~/.openclaw/workspace" } },
    }
    ```

    Если бот «забывает» после перезапуска, убедитесь, что Gateway использует одно и то же
    рабочее пространство при каждом запуске (и помните: удалённый режим использует рабочее пространство
    **хоста Gateway**, а не вашего локального ноутбука).

    Совет: если вам нужно устойчивое поведение или предпочтение, попросите бота **записать это в
    AGENTS.md или MEMORY.md**, а не полагайтесь на историю чата.

    См. [Рабочее пространство агента](/ru/concepts/agent-workspace) и [Memory](/ru/concepts/memory).

  </Accordion>

  <Accordion title="Можно ли увеличить SOUL.md?">
    Да. `SOUL.md` — один из файлов начальной загрузки рабочего пространства, внедряемых в
    контекст агента. Лимит внедрения по умолчанию для одного файла — `20000` символов,
    а общий бюджет начальной загрузки по всем файлам — `60000` символов.

    Измените общие значения по умолчанию в конфигурации OpenClaw:

    ```json5
    {
      agents: {
        defaults: {
          bootstrapMaxChars: 50000,
          bootstrapTotalMaxChars: 300000,
        },
      },
    }
    ```

    Или переопределите для одного агента:

    ```json5
    {
      agents: {
        list: [
          {
            id: "main",
            bootstrapMaxChars: 50000,
            bootstrapTotalMaxChars: 300000,
          },
        ],
      },
    }
    ```

    Используйте `/context`, чтобы проверить исходные и внедрённые размеры, а также было ли усечение.
    Держите `SOUL.md` сфокусированным на голосе, позиции и личности; рабочие правила
    помещайте в `AGENTS.md`, а устойчивые факты — в память.

    См. [Контекст](/ru/concepts/context) и [Конфигурация агента](/ru/gateway/config-agents).

  </Accordion>

  <Accordion title="Рекомендуемая стратегия резервного копирования">
    Поместите своё **рабочее пространство агента** в **приватный** git-репозиторий и создавайте резервные копии где-нибудь
    приватно (например, в приватном GitHub). Это сохранит память + файлы AGENTS/SOUL/USER
    и позволит позже восстановить «разум» ассистента.

    **Не** коммитьте ничего из `~/.openclaw` (учётные данные, сеансы, токены или зашифрованные секретные полезные нагрузки).
    Если вам нужно полное восстановление, отдельно создайте резервные копии и рабочего пространства, и каталога состояния
    (см. вопрос о миграции выше).

    Документация: [Рабочее пространство агента](/ru/concepts/agent-workspace).

  </Accordion>

  <Accordion title="Как полностью удалить OpenClaw?">
    См. отдельное руководство: [Удаление](/ru/install/uninstall).
  </Accordion>

  <Accordion title="Могут ли агенты работать за пределами рабочего пространства?">
    Да. Рабочее пространство — это **cwd по умолчанию** и якорь памяти, а не жёсткая песочница.
    Относительные пути разрешаются внутри рабочего пространства, но абсолютные пути могут обращаться к другим
    расположениям на хосте, если песочница не включена. Если нужна изоляция, используйте
    [`agents.defaults.sandbox`](/ru/gateway/sandboxing) или настройки песочницы для конкретного агента. Если вы
    хотите, чтобы репозиторий был рабочим каталогом по умолчанию, укажите в `workspace` этого агента
    корень репозитория. Репозиторий OpenClaw — это просто исходный код; держите
    рабочее пространство отдельно, если только вы намеренно не хотите, чтобы агент работал внутри него.

    Пример (репозиторий как cwd по умолчанию):

    ```json5
    {
      agents: {
        defaults: {
          workspace: "~/Projects/my-repo",
        },
      },
    }
    ```

  </Accordion>

  <Accordion title="Удалённый режим: где находится хранилище сеансов?">
    Состоянием сеансов владеет **хост Gateway**. Если вы в удалённом режиме, нужное вам хранилище сеансов находится на удалённой машине, а не на вашем локальном ноутбуке. См. [Управление сеансами](/ru/concepts/session).
  </Accordion>
</AccordionGroup>

## Основы конфигурации

<AccordionGroup>
  <Accordion title="Какой формат у конфигурации? Где она находится?">
    OpenClaw читает необязательную конфигурацию **JSON5** из `$OPENCLAW_CONFIG_PATH` (по умолчанию: `~/.openclaw/openclaw.json`):

    ```
    $OPENCLAW_CONFIG_PATH
    ```

    Если файл отсутствует, используются достаточно безопасные значения по умолчанию (включая рабочее пространство по умолчанию `~/.openclaw/workspace`).

  </Accordion>

  <Accordion title='Я задал gateway.bind: "lan" (или "tailnet"), и теперь ничего не слушает / UI говорит, что нет авторизации'>
    Привязки не к loopback **требуют действительный путь аутентификации Gateway**. На практике это означает:

    - аутентификация по общему секрету: токен или пароль
    - `gateway.auth.mode: "trusted-proxy"` за правильно настроенным identity-aware обратным прокси

    ```json5
    {
      gateway: {
        bind: "lan",
        auth: {
          mode: "token",
          token: "replace-me",
        },
      },
    }
    ```

    Примечания:

    - `gateway.remote.token` / `.password` сами по себе **не** включают локальную аутентификацию Gateway.
    - Локальные пути вызовов могут использовать `gateway.remote.*` как fallback только когда `gateway.auth.*` не задан.
    - Для аутентификации по паролю вместо этого задайте `gateway.auth.mode: "password"` плюс `gateway.auth.password` (или `OPENCLAW_GATEWAY_PASSWORD`).
    - Если `gateway.auth.token` / `gateway.auth.password` явно настроен через SecretRef и не разрешается, разрешение завершается закрыто (без маскировки удалённым fallback).
    - Настройки Control UI с общим секретом аутентифицируются через `connect.params.auth.token` или `connect.params.auth.password` (хранятся в настройках приложения/UI). Режимы с идентификацией, такие как Tailscale Serve или `trusted-proxy`, вместо этого используют заголовки запроса. Не помещайте общие секреты в URL.
    - При `gateway.auth.mode: "trusted-proxy"` обратные прокси same-host loopback требуют явного `gateway.auth.trustedProxy.allowLoopback = true` и записи loopback в `gateway.trustedProxies`.

  </Accordion>

  <Accordion title="Почему теперь на localhost нужен токен?">
    OpenClaw по умолчанию принудительно включает аутентификацию Gateway, включая loopback. В обычном пути по умолчанию это означает аутентификацию по токену: если явный путь аутентификации не настроен, запуск Gateway разрешается в режим токена и генерирует токен только на время этого запуска, поэтому **локальные WS-клиенты должны аутентифицироваться**. Явно настройте `gateway.auth.token`, `gateway.auth.password`, `OPENCLAW_GATEWAY_TOKEN` или `OPENCLAW_GATEWAY_PASSWORD`, когда клиентам нужен стабильный секрет между перезапусками. Это блокирует другим локальным процессам вызов Gateway.

    Если вы предпочитаете другой путь аутентификации, можно явно выбрать режим пароля (или, для identity-aware обратных прокси, `trusted-proxy`). Если вам **действительно** нужен открытый loopback, явно задайте `gateway.auth.mode: "none"` в конфиге. Doctor может сгенерировать токен для вас в любой момент: `openclaw doctor --generate-gateway-token`.

  </Accordion>

  <Accordion title="Нужно ли перезапускать после изменения конфига?">
    Gateway отслеживает конфиг и поддерживает hot-reload:

    - `gateway.reload.mode: "hybrid"` (по умолчанию): безопасные изменения применяются без перезапуска, критические требуют перезапуска
    - `hot`, `restart`, `off` также поддерживаются

  </Accordion>

  <Accordion title="Как отключить забавные слоганы CLI?">
    Задайте `cli.banner.taglineMode` в конфиге:

    ```json5
    {
      cli: {
        banner: {
          taglineMode: "off", // random | default | off
        },
      },
    }
    ```

    - `off`: скрывает текст слогана, но оставляет строку заголовка/версии баннера.
    - `default`: каждый раз использует `All your chats, one OpenClaw.`.
    - `random`: чередующиеся забавные/сезонные слоганы (поведение по умолчанию).
    - Если вы вообще не хотите показывать баннер, задайте переменную окружения `OPENCLAW_HIDE_BANNER=1`.

  </Accordion>

  <Accordion title="Как включить веб-поиск (и веб-загрузку)?">
    `web_fetch` работает без API-ключа. `web_search` зависит от выбранного
    провайдера:

    - API-backed провайдеры, такие как Brave, Exa, Firecrawl, Gemini, Kimi, MiniMax Search, Perplexity и Tavily, требуют стандартной настройки API-ключа.
    - Grok может повторно использовать xAI OAuth из аутентификации модели или перейти к `XAI_API_KEY` / конфигу веб-поиска Plugin.
    - Ollama Web Search не требует ключа, но использует настроенный хост Ollama и требует `ollama signin`.
    - DuckDuckGo не требует ключа, но это неофициальная интеграция на основе HTML.
    - SearXNG не требует ключа/может быть самостоятельно размещен; настройте `SEARXNG_BASE_URL` или `plugins.entries.searxng.config.webSearch.baseUrl`.

    **Рекомендуется:** запустите `openclaw configure --section web` и выберите провайдера.
    Альтернативы через переменные окружения:

    - Brave: `BRAVE_API_KEY`
    - Exa: `EXA_API_KEY`
    - Firecrawl: `FIRECRAWL_API_KEY`
    - Gemini: `GEMINI_API_KEY`
    - Grok: xAI OAuth, `XAI_API_KEY`
    - Kimi: `KIMI_API_KEY` или `MOONSHOT_API_KEY`
    - MiniMax Search: `MINIMAX_CODE_PLAN_KEY`, `MINIMAX_CODING_API_KEY` или `MINIMAX_API_KEY`
    - Perplexity: `PERPLEXITY_API_KEY` или `OPENROUTER_API_KEY`
    - SearXNG: `SEARXNG_BASE_URL`
    - Tavily: `TAVILY_API_KEY`

    ```json5
    {
      plugins: {
        entries: {
          brave: {
            config: {
              webSearch: {
                apiKey: "BRAVE_API_KEY_HERE",
              },
            },
          },
        },
        },
        tools: {
          web: {
            search: {
              enabled: true,
              provider: "brave",
              maxResults: 5,
            },
            fetch: {
              enabled: true,
              provider: "firecrawl", // optional; omit for auto-detect
            },
          },
        },
    }
    ```

    Конфиг веб-поиска для конкретного провайдера теперь находится в `plugins.entries.<plugin>.config.webSearch.*`.
    Устаревшие пути провайдера `tools.web.search.*` пока загружаются для совместимости, но их не следует использовать для новых конфигов.
    Конфиг fallback для веб-загрузки Firecrawl находится в `plugins.entries.firecrawl.config.webFetch.*`.

    Примечания:

    - Если вы используете списки разрешений, добавьте `web_search`/`web_fetch`/`x_search` или `group:web`.
    - `web_fetch` включен по умолчанию (если явно не отключен).
    - Если `tools.web.fetch.provider` опущен, OpenClaw автоматически обнаруживает первого готового fallback-провайдера для загрузки по доступным учетным данным. Официальный Plugin Firecrawl предоставляет этот fallback.
    - Демоны читают переменные окружения из `~/.openclaw/.env` (или из окружения сервиса).

    Документация: [Веб-инструменты](/ru/tools/web).

  </Accordion>

  <Accordion title="config.apply стер мой конфиг. Как восстановиться и избежать этого?">
    `config.apply` заменяет **весь конфиг**. Если отправить частичный объект, все
    остальное будет удалено.

    Текущий OpenClaw защищает от многих случайных затираний:

    - Операции записи конфига, принадлежащие OpenClaw, проверяют полный конфиг после изменения перед записью.
    - Недопустимые или разрушительные операции записи, принадлежащие OpenClaw, отклоняются и сохраняются как `openclaw.json.rejected.*`.
    - Если прямое редактирование ломает запуск или hot reload, Gateway аварийно закрывается или пропускает перезагрузку; он не перезаписывает `openclaw.json`.
    - `openclaw doctor --fix` отвечает за исправление и может восстановить последнюю рабочую версию, сохранив отклоненный файл как `openclaw.json.clobbered.*`.

    Восстановление:

    - Проверьте `openclaw logs --follow` на наличие `Invalid config at`, `Config write rejected:` или `config reload skipped (invalid config)`.
    - Проверьте самый новый `openclaw.json.clobbered.*` или `openclaw.json.rejected.*` рядом с активным конфигом.
    - Запустите `openclaw config validate` и `openclaw doctor --fix`.
    - Верните только нужные ключи через `openclaw config set` или `config.patch`.
    - Если у вас нет последней рабочей версии или отклоненной полезной нагрузки, восстановите из резервной копии или заново запустите `openclaw doctor` и перенастройте каналы/модели.
    - Если это было неожиданно, создайте баг-репорт и приложите последний известный конфиг или любую резервную копию.
    - Локальный кодовый агент часто может восстановить рабочий конфиг по логам или истории.

    Как избежать:

    - Используйте `openclaw config set` для небольших изменений.
    - Используйте `openclaw configure` для интерактивного редактирования.
    - Сначала используйте `config.schema.lookup`, если не уверены в точном пути или форме поля; он возвращает неглубокий узел схемы плюс краткие описания непосредственных дочерних элементов для детализации.
    - Используйте `config.patch` для частичного редактирования через RPC; оставьте `config.apply` только для полной замены конфига.
    - Если вы используете агентский инструмент `gateway` из запуска агента, он все равно будет отклонять записи в `tools.exec.ask` / `tools.exec.security` (включая устаревшие алиасы `tools.bash.*`, которые нормализуются к тем же защищенным путям exec).

    Документация: [Конфиг](/ru/cli/config), [Настройка](/ru/cli/configure), [Устранение неполадок Gateway](/ru/gateway/troubleshooting#gateway-rejected-invalid-config), [Doctor](/ru/gateway/doctor).

  </Accordion>

  <Accordion title="Как запустить центральный Gateway со специализированными воркерами на разных устройствах?">
    Распространенный шаблон: **один Gateway** (например, Raspberry Pi) плюс **узлы** и **агенты**:

    - **Gateway (центральный):** отвечает за каналы (Signal/WhatsApp), маршрутизацию и сессии.
    - **Узлы (устройства):** Mac/iOS/Android подключаются как периферия и предоставляют локальные инструменты (`system.run`, `canvas`, `camera`).
    - **Агенты (воркеры):** отдельные «мозги»/рабочие пространства для специальных ролей (например, «Hetzner ops», «Personal data»).
    - **Субагенты:** запускают фоновую работу из основного агента, когда нужен параллелизм.
    - **TUI:** подключайтесь к Gateway и переключайте агентов/сессии.

    Документация: [Узлы](/ru/nodes), [Удаленный доступ](/ru/gateway/remote), [Маршрутизация с несколькими агентами](/ru/concepts/multi-agent), [Субагенты](/ru/tools/subagents), [TUI](/ru/web/tui).

  </Accordion>

  <Accordion title="Может ли браузер OpenClaw работать в headless-режиме?">
    Да. Это опция конфига:

    ```json5
    {
      browser: { headless: true },
      agents: {
        defaults: {
          sandbox: { browser: { headless: true } },
        },
      },
    }
    ```

    По умолчанию `false` (с графическим интерфейсом). Headless с большей вероятностью вызывает антибот-проверки на некоторых сайтах. См. [Браузер](/ru/tools/browser).

    Headless использует **тот же движок Chromium** и работает для большинства видов автоматизации (формы, клики, скрейпинг, входы). Основные отличия:

    - Нет видимого окна браузера (используйте скриншоты, если нужна визуальная проверка).
    - Некоторые сайты строже относятся к автоматизации в headless-режиме (CAPTCHA, антибот).
      Например, X/Twitter часто блокирует headless-сессии.

  </Accordion>

  <Accordion title="Как использовать Brave для управления браузером?">
    Задайте `browser.executablePath` равным бинарному файлу Brave (или любого браузера на основе Chromium) и перезапустите Gateway.
    См. полные примеры конфига в [Браузер](/ru/tools/browser#use-brave-or-another-chromium-based-browser).
  </Accordion>
</AccordionGroup>

## Удаленные Gateway и узлы

<AccordionGroup>
  <Accordion title="Как команды распространяются между Telegram, gateway и узлами?">
    Сообщения Telegram обрабатываются **gateway**. Gateway запускает агента и
    только затем вызывает узлы через **Gateway WebSocket**, когда нужен инструмент узла:

    Telegram → Gateway → Agent → `node.*` → Node → Gateway → Telegram

    Узлы не видят входящий трафик провайдера; они получают только RPC-вызовы узлов.

  </Accordion>

  <Accordion title="Как мой агент может получить доступ к моему компьютеру, если Gateway размещен удаленно?">
    Короткий ответ: **сопрягите компьютер как узел**. Gateway работает в другом месте, но может
    вызывать инструменты `node.*` (экран, камера, система) на вашей локальной машине через Gateway WebSocket.

    Типичная настройка:

    1. Запустите Gateway на постоянно включенном хосте (VPS/домашний сервер).
    2. Добавьте хост Gateway и ваш компьютер в одну tailnet.
    3. Убедитесь, что Gateway WS доступен (привязка к tailnet или SSH-туннель).
    4. Откройте приложение macOS локально и подключитесь в режиме **Remote over SSH** (или напрямую через tailnet),
       чтобы оно могло зарегистрироваться как узел.
    5. Одобрите узел на Gateway:

       ```bash
       openclaw devices list
       openclaw devices approve <requestId>
       ```

    Отдельный TCP-мост не требуется; узлы подключаются через Gateway WebSocket.

    Напоминание о безопасности: сопряжение узла macOS разрешает `system.run` на этой машине. Сопрягайте
    только устройства, которым доверяете, и изучите [Безопасность](/ru/gateway/security).

    Документация: [Узлы](/ru/nodes), [Протокол Gateway](/ru/gateway/protocol), [Удаленный режим macOS](/ru/platforms/mac/remote), [Безопасность](/ru/gateway/security).

  </Accordion>

  <Accordion title="Tailscale подключен, но я не получаю ответов. Что теперь?">
    Проверьте базовые вещи:

    - Gateway запущен: `openclaw gateway status`
    - Состояние Gateway: `openclaw status`
    - Состояние канала: `openclaw channels status`

    Затем проверьте аутентификацию и маршрутизацию:

    - Если вы используете Tailscale Serve, убедитесь, что `gateway.auth.allowTailscale` задан корректно.
    - Если вы подключаетесь через SSH-туннель, подтвердите, что локальный туннель поднят и указывает на правильный порт.
    - Подтвердите, что ваши списки разрешений (DM или группа) включают вашу учетную запись.

    Документация: [Tailscale](/ru/gateway/tailscale), [Удаленный доступ](/ru/gateway/remote), [Каналы](/ru/channels).

  </Accordion>

  <Accordion title="Могут ли два экземпляра OpenClaw общаться друг с другом (локальный + VPS)?">
    Да. Встроенного моста «бот-бот» нет, но это можно надежно настроить несколькими
    способами:

    **Самый простой:** используйте обычный чат-канал, к которому имеют доступ оба бота (Telegram/Slack/WhatsApp).
    Пусть бот A отправит сообщение боту B, а затем бот B ответит как обычно.

    **CLI-мост (универсальный):** запустите скрипт, который вызывает другой Gateway с
    `openclaw agent --message ... --deliver`, нацеливаясь на чат, где слушает другой бот.
    Если один бот находится на удаленном VPS, направьте ваш CLI на этот удаленный Gateway
    через SSH/Tailscale (см. [Удаленный доступ](/ru/gateway/remote)).

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

    ```bash
    openclaw agent --message "Hello from local bot" --deliver --channel telegram --reply-to <chat-id>
    ```

    Совет: добавьте защитное ограничение, чтобы два бота не зацикливались бесконечно (только по упоминанию, списки разрешений
    каналов или правило «не отвечать на сообщения ботов»).

    Документация: [Удаленный доступ](/ru/gateway/remote), [CLI агента](/ru/cli/agent), [Отправка агентом](/ru/tools/agent-send).

  </Accordion>

  <Accordion title="Нужны ли отдельные VPS для нескольких агентов?">
    Нет. Один Gateway может размещать несколько агентов, каждый со своим рабочим пространством, настройками моделей по умолчанию
    и маршрутизацией. Это обычная настройка, и она намного дешевле и проще, чем запускать
    отдельный VPS для каждого агента.

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

  </Accordion>

  <Accordion title="Есть ли преимущество в использовании узла на моем личном ноутбуке вместо SSH с VPS?">
    Да - узлы являются основным способом доступа к вашему ноутбуку с удаленного Gateway, и они
    дают больше, чем доступ к оболочке. Gateway работает на macOS/Linux (Windows через WSL2) и
    легковесен (небольшого VPS или устройства класса Raspberry Pi достаточно; 4 ГБ RAM более чем хватает), поэтому распространенная
    схема - постоянно включенный хост плюс ваш ноутбук как узел.

    - **Входящий SSH не требуется.** Узлы подключаются наружу к WebSocket Gateway и используют сопряжение устройств.
    - **Более безопасные элементы управления выполнением.** `system.run` ограничивается allowlist/подтверждениями узла на этом ноутбуке.
    - **Больше инструментов устройства.** Узлы предоставляют `canvas`, `camera` и `screen` в дополнение к `system.run`.
    - **Локальная автоматизация браузера.** Оставьте Gateway на VPS, но запускайте Chrome локально через хост узла на ноутбуке или подключайтесь к локальному Chrome на хосте через Chrome MCP.

    SSH подходит для разового доступа к оболочке, но узлы проще для постоянных рабочих процессов агента и
    автоматизации устройств.

    Документация: [Узлы](/ru/nodes), [CLI узлов](/ru/cli/nodes), [Браузер](/ru/tools/browser).

  </Accordion>

  <Accordion title="Запускают ли узлы сервис Gateway?">
    Нет. На одном хосте должен работать только **один gateway**, если вы намеренно не запускаете изолированные профили (см. [Несколько gateway](/ru/gateway/multiple-gateways)). Узлы - это периферийные устройства, которые подключаются
    к gateway (узлы iOS/Android или "режим узла" macOS в приложении меню). Для headless-хостов узлов
    и управления через CLI см. [CLI хоста Node](/ru/cli/node).

    Полный перезапуск требуется для изменений `gateway`, `discovery` и поверхности размещенных plugin.

  </Accordion>

  <Accordion title="Есть ли способ применить конфигурацию через API / RPC?">
    Да.

    - `config.schema.lookup`: проверить одно поддерево конфигурации с его неглубоким узлом схемы, совпавшей UI-подсказкой и сводками непосредственных дочерних элементов перед записью
    - `config.get`: получить текущий снимок + hash
    - `config.patch`: безопасное частичное обновление (предпочтительно для большинства правок через RPC); выполняет горячую перезагрузку, когда возможно, и перезапускает, когда требуется
    - `config.apply`: проверить + заменить всю конфигурацию; выполняет горячую перезагрузку, когда возможно, и перезапускает, когда требуется
    - Агентский runtime-инструмент `gateway` по-прежнему отказывается перезаписывать `tools.exec.ask` / `tools.exec.security`; устаревшие алиасы `tools.bash.*` нормализуются в те же защищенные пути exec

  </Accordion>

  <Accordion title="Минимальная разумная конфигурация для первой установки">
    ```json5
    {
      agents: { defaults: { workspace: "~/.openclaw/workspace" } },
      channels: { whatsapp: { allowFrom: ["+15555550123"] } },
    }
    ```

    Это задает ваш workspace и ограничивает, кто может запускать бота.

  </Accordion>

  <Accordion title="Как настроить Tailscale на VPS и подключиться с моего Mac?">
    Минимальные шаги:

    1. **Установите + войдите на VPS**

       ```bash
       curl -fsSL https://tailscale.com/install.sh | sh
       sudo tailscale up
       ```

    2. **Установите + войдите на вашем Mac**
       - Используйте приложение Tailscale и войдите в тот же tailnet.
    3. **Включите MagicDNS (рекомендуется)**
       - В консоли администратора Tailscale включите MagicDNS, чтобы у VPS было стабильное имя.
    4. **Используйте hostname tailnet**
       - SSH: `ssh user@your-vps.tailnet-xxxx.ts.net`
       - Gateway WS: `ws://your-vps.tailnet-xxxx.ts.net:18789`

    Если вам нужен Control UI без SSH, используйте Tailscale Serve на VPS:

    ```bash
    openclaw gateway --tailscale serve
    ```

    Это оставляет gateway привязанным к loopback и открывает HTTPS через Tailscale. См. [Tailscale](/ru/gateway/tailscale).

  </Accordion>

  <Accordion title="Как подключить узел Mac к удаленному Gateway (Tailscale Serve)?">
    Serve открывает **Control UI Gateway + WS**. Узлы подключаются через тот же endpoint Gateway WS.

    Рекомендуемая настройка:

    1. **Убедитесь, что VPS + Mac находятся в одном tailnet**.
    2. **Используйте приложение macOS в удаленном режиме** (цель SSH может быть hostname tailnet).
       Приложение создаст туннель к порту Gateway и подключится как узел.
    3. **Одобрите узел** на gateway:

       ```bash
       openclaw devices list
       openclaw devices approve <requestId>
       ```

    Документация: [Протокол Gateway](/ru/gateway/protocol), [Обнаружение](/ru/gateway/discovery), [Удаленный режим macOS](/ru/platforms/mac/remote).

  </Accordion>

  <Accordion title="Стоит ли устанавливать на второй ноутбук или просто добавить узел?">
    Если на втором ноутбуке вам нужны только **локальные инструменты** (screen/camera/exec), добавьте его как
    **узел**. Так у вас останется один Gateway и не будет дублированной конфигурации. Локальные инструменты узла
    сейчас доступны только для macOS, но мы планируем расширить их на другие ОС.

    Устанавливайте второй Gateway только если вам нужна **жесткая изоляция** или два полностью отдельных бота.

    Документация: [Узлы](/ru/nodes), [CLI узлов](/ru/cli/nodes), [Несколько gateway](/ru/gateway/multiple-gateways).

  </Accordion>
</AccordionGroup>

## Переменные окружения и загрузка .env

<AccordionGroup>
  <Accordion title="Как OpenClaw загружает переменные окружения?">
    OpenClaw читает переменные окружения из родительского процесса (оболочка, launchd/systemd, CI и т. д.) и дополнительно загружает:

    - `.env` из текущего рабочего каталога
    - глобальный резервный `.env` из `~/.openclaw/.env` (то есть `$OPENCLAW_STATE_DIR/.env`)

    Ни один файл `.env` не переопределяет существующие переменные окружения.
    Переменные учетных данных провайдеров являются исключением для workspace `.env`: ключи вроде
    `GEMINI_API_KEY`, `XAI_API_KEY` или `MISTRAL_API_KEY` игнорируются из workspace
    `.env` и должны находиться в окружении процесса, `~/.openclaw/.env` или `env` конфигурации.

    Вы также можете задать встроенные переменные окружения в конфигурации (применяются только если отсутствуют в окружении процесса):

    ```json5
    {
      env: {
        OPENROUTER_API_KEY: "sk-or-...",
        vars: { GROQ_API_KEY: "gsk-..." },
      },
    }
    ```

    Полный порядок приоритетов и источники см. в [/environment](/ru/help/environment).

  </Accordion>

  <Accordion title="Я запустил Gateway через сервис, и мои переменные окружения исчезли. Что теперь?">
    Два распространенных исправления:

    1. Поместите отсутствующие ключи в `~/.openclaw/.env`, чтобы они подхватывались даже когда сервис не наследует окружение вашей оболочки.
    2. Включите импорт оболочки (удобство по явному выбору):

    ```json5
    {
      env: {
        shellEnv: {
          enabled: true,
          timeoutMs: 15000,
        },
      },
    }
    ```

    Это запускает вашу login shell и импортирует только отсутствующие ожидаемые ключи (никогда не переопределяет). Эквиваленты переменных окружения:
    `OPENCLAW_LOAD_SHELL_ENV=1`, `OPENCLAW_SHELL_ENV_TIMEOUT_MS=15000`.

  </Accordion>

  <Accordion title='Я задал COPILOT_GITHUB_TOKEN, но статус моделей показывает "Импорт shell env: выключен". Почему?'>
    `openclaw models status` сообщает, включен ли **импорт shell env**. "Импорт shell env: выключен"
    **не** означает, что ваши переменные окружения отсутствуют - это лишь означает, что OpenClaw не будет автоматически загружать
    вашу login shell.

    Если Gateway запущен как сервис (launchd/systemd), он не наследует окружение вашей оболочки.
    Исправьте одним из способов:

    1. Поместите токен в `~/.openclaw/.env`:

       ```
       COPILOT_GITHUB_TOKEN=...
       ```

    2. Или включите импорт оболочки (`env.shellEnv.enabled: true`).
    3. Или добавьте его в блок `env` вашей конфигурации (применяется только если отсутствует).

    Затем перезапустите gateway и проверьте снова:

    ```bash
    openclaw models status
    ```

    Токены Copilot читаются из `COPILOT_GITHUB_TOKEN` (также `GH_TOKEN` / `GITHUB_TOKEN`).
    См. [/concepts/model-providers](/ru/concepts/model-providers) и [/environment](/ru/help/environment).

  </Accordion>
</AccordionGroup>

## Сессии и несколько чатов

<AccordionGroup>
  <Accordion title="Как начать новый разговор?">
    Отправьте `/new` или `/reset` отдельным сообщением. См. [Управление сессиями](/ru/concepts/session).
  </Accordion>

  <Accordion title="Сбрасываются ли сессии автоматически, если я никогда не отправляю /new?">
    Сессии могут истекать после `session.idleMinutes`, но это **отключено по умолчанию** (по умолчанию **0**).
    Задайте положительное значение, чтобы включить истечение по бездействию. Когда это включено, **следующее**
    сообщение после периода бездействия запускает новый id сессии для этого ключа чата.
    Это не удаляет транскрипты - просто начинается новая сессия.

    ```json5
    {
      session: {
        idleMinutes: 240,
      },
    }
    ```

  </Accordion>

  <Accordion title="Есть ли способ сделать команду экземпляров OpenClaw (один CEO и много агентов)?">
    Да, через **маршрутизацию нескольких агентов** и **субагентов**. Вы можете создать одного координатора
    и несколько рабочих агентов со своими workspace и моделями.

    При этом это лучше рассматривать как **интересный эксперимент**. Он потребляет много токенов и часто
    менее эффективен, чем один бот с отдельными сессиями. Типичная модель, которую мы
    предполагаем, - один бот, с которым вы общаетесь, и разные сессии для параллельной работы. Этот
    бот также может запускать субагентов при необходимости.

    Документация: [Маршрутизация нескольких агентов](/ru/concepts/multi-agent), [Субагенты](/ru/tools/subagents), [CLI агентов](/ru/cli/agents).

  </Accordion>

  <Accordion title="Почему контекст был обрезан посреди задачи? Как это предотвратить?">
    Контекст сессии ограничен окном модели. Длинные чаты, большие выводы инструментов или множество
    файлов могут вызвать Compaction или обрезку.

    Что помогает:

    - Попросите бота суммировать текущее состояние и записать его в файл.
    - Используйте `/compact` перед длинными задачами и `/new` при смене темы.
    - Держите важный контекст в workspace и попросите бота прочитать его обратно.
    - Используйте субагентов для долгой или параллельной работы, чтобы основной чат оставался меньше.
    - Выберите модель с большим окном контекста, если это часто происходит.

  </Accordion>

  <Accordion title="Как полностью сбросить OpenClaw, но оставить его установленным?">
    Используйте команду сброса:

    ```bash
    openclaw reset
    ```

    Полный неинтерактивный сброс:

    ```bash
    openclaw reset --scope full --yes --non-interactive
    ```

    Затем снова запустите настройку:

    ```bash
    openclaw onboard --install-daemon
    ```

    Примечания:

    - Onboarding также предлагает **Сброс**, если видит существующую конфигурацию. См. [Onboarding (CLI)](/ru/start/wizard).
    - Если вы использовали профили (`--profile` / `OPENCLAW_PROFILE`), сбросьте каждый каталог состояния (по умолчанию это `~/.openclaw-<profile>`).
    - Сброс для разработки: `openclaw gateway --dev --reset` (только для разработки; стирает dev-конфигурацию + учетные данные + сессии + workspace).

  </Accordion>

  <Accordion title='Я получаю ошибки "context too large" - как выполнить сброс или Compaction?'>
    Используйте один из вариантов:

    - **Compaction** (сохраняет разговор, но суммирует более старые ходы):

      ```
      /compact
      ```

      или `/compact <instructions>`, чтобы направить сводку.

    - **Сброс** (новый ID сессии для того же ключа чата):

      ```
      /new
      /reset
      ```

    Если это продолжает происходить:

    - Включите или настройте **обрезку сессии** (`agents.defaults.contextPruning`), чтобы сокращать старый вывод инструментов.
    - Используйте модель с большим окном контекста.

    Документация: [Compaction](/ru/concepts/compaction), [Обрезка сессии](/ru/concepts/session-pruning), [Управление сессиями](/ru/concepts/session).

  </Accordion>

  <Accordion title='Почему я вижу "LLM request rejected: messages.content.tool_use.input field required"?'>
    Это ошибка валидации провайдера: модель выдала блок `tool_use` без обязательного
    `input`. Обычно это означает, что история сессии устарела или повреждена (часто после длинных тредов
    или изменения инструмента/схемы).

    Исправление: начните новую сессию с `/new` (отдельным сообщением).

  </Accordion>

  <Accordion title="Почему я получаю сообщения Heartbeat каждые 30 минут?">
    Heartbeat по умолчанию выполняются каждые **30m** (**1h** при использовании OAuth-аутентификации). Настройте или отключите их:

    ```json5
    {
      agents: {
        defaults: {
          heartbeat: {
            every: "2h", // or "0m" to disable
          },
        },
      },
    }
    ```

    Если `HEARTBEAT.md` существует, но фактически пуст (только пустые строки,
    комментарии Markdown/HTML, заголовки Markdown вроде `# Heading`, маркеры блоков кода
    или пустые заготовки чек-листов), OpenClaw пропускает запуск Heartbeat, чтобы сэкономить вызовы API.
    Если файл отсутствует, Heartbeat всё равно запускается, а модель решает, что делать.

    Переопределения для отдельных агентов используют `agents.list[].heartbeat`. Документация: [Heartbeat](/ru/gateway/heartbeat).

  </Accordion>

  <Accordion title='Нужно ли добавлять «бот-аккаунт» в группу WhatsApp?'>
    Нет. OpenClaw работает от имени **вашей собственной учётной записи**, поэтому если вы состоите в группе, OpenClaw может её видеть.
    По умолчанию ответы в группах заблокированы, пока вы не разрешите отправителей (`groupPolicy: "allowlist"`).

    Если вы хотите, чтобы только **вы** могли запускать ответы в группе:

    ```json5
    {
      channels: {
        whatsapp: {
          groupPolicy: "allowlist",
          groupAllowFrom: ["+15551234567"],
        },
      },
    }
    ```

  </Accordion>

  <Accordion title="Как получить JID группы WhatsApp?">
    Вариант 1 (самый быстрый): отслеживайте логи и отправьте тестовое сообщение в группе:

    ```bash
    openclaw logs --follow --json
    ```

    Найдите `chatId` (или `from`), заканчивающийся на `@g.us`, например:
    `1234567890-1234567890@g.us`.

    Вариант 2 (если уже настроено/добавлено в allowlist): вывести список групп из конфигурации:

    ```bash
    openclaw directory groups list --channel whatsapp
    ```

    Документация: [WhatsApp](/ru/channels/whatsapp), [Directory](/ru/cli/directory), [Логи](/ru/cli/logs).

  </Accordion>

  <Accordion title="Почему OpenClaw не отвечает в группе?">
    Две распространённые причины:

    - Фильтрация по упоминанию включена (по умолчанию). Нужно @упомянуть бота (или совпасть с `mentionPatterns`).
    - Вы настроили `channels.whatsapp.groups` без `"*"`, и группа не добавлена в allowlist.

    См. [Группы](/ru/channels/groups) и [Групповые сообщения](/ru/channels/group-messages).

  </Accordion>

  <Accordion title="Группы/треды разделяют контекст с личными сообщениями?">
    Личные чаты по умолчанию сворачиваются в основную сессию. У групп/каналов собственные ключи сессий, а темы Telegram / треды Discord являются отдельными сессиями. См. [Группы](/ru/channels/groups) и [Групповые сообщения](/ru/channels/group-messages).
  </Accordion>

  <Accordion title="Сколько рабочих пространств и агентов можно создать?">
    Жёстких ограничений нет. Десятки (даже сотни) допустимы, но следите за:

    - **Ростом диска:** сессии и транскрипты находятся в `~/.openclaw/agents/<agentId>/sessions/`.
    - **Стоимостью токенов:** больше агентов означает больше одновременного использования моделей.
    - **Операционной нагрузкой:** профили авторизации, рабочие пространства и маршрутизация каналов для каждого агента.

    Советы:

    - Держите одно **активное** рабочее пространство на агента (`agents.defaults.workspace`).
    - Очищайте старые сессии (удаляйте JSONL или записи хранилища), если диск растёт.
    - Используйте `openclaw doctor`, чтобы находить лишние рабочие пространства и несовпадения профилей.

  </Accordion>

  <Accordion title="Можно ли запускать несколько ботов или чатов одновременно (Slack), и как это настроить?">
    Да. Используйте **маршрутизацию нескольких агентов**, чтобы запускать несколько изолированных агентов и маршрутизировать входящие сообщения по
    каналу/учётной записи/собеседнику. Slack поддерживается как канал и может быть привязан к конкретным агентам.

    Доступ к браузеру мощный, но это не «делать всё, что может человек» — антибот-защита, CAPTCHA и MFA всё ещё могут
    блокировать автоматизацию. Для наиболее надёжного управления браузером используйте локальный Chrome MCP на хосте
    или CDP на машине, где фактически запущен браузер.

    Рекомендуемая настройка:

    - Постоянно работающий хост Gateway (VPS/Mac mini).
    - Один агент на роль (привязки).
    - Канал(ы) Slack, привязанные к этим агентам.
    - Локальный браузер через Chrome MCP или узел при необходимости.

    Документация: [Маршрутизация нескольких агентов](/ru/concepts/multi-agent), [Slack](/ru/channels/slack),
    [Браузер](/ru/tools/browser), [Узлы](/ru/nodes).

  </Accordion>
</AccordionGroup>

## Модели, отказоустойчивость и профили авторизации

Вопросы и ответы о моделях — значения по умолчанию, выбор, псевдонимы, переключение, отказоустойчивость, профили авторизации —
находятся в [FAQ по моделям](/ru/help/faq-models).

## Gateway: порты, «уже запущен» и удалённый режим

<AccordionGroup>
  <Accordion title="Какой порт использует Gateway?">
    `gateway.port` управляет единым мультиплексированным портом для WebSocket + HTTP (Control UI, хуки и т. д.).

    Приоритет:

    ```
    --port > OPENCLAW_GATEWAY_PORT > gateway.port > default 18789
    ```

  </Accordion>

  <Accordion title='Почему openclaw gateway status показывает "Runtime: running", но "Connectivity probe: failed"?'>
    Потому что "running" — это представление **супервизора** (launchd/systemd/schtasks). Проверка подключения — это фактическое подключение CLI к WebSocket Gateway.

    Используйте `openclaw gateway status` и доверяйте этим строкам:

    - `Probe target:` (URL, который фактически использовала проверка)
    - `Listening:` (что фактически привязано к порту)
    - `Last gateway error:` (частая первопричина, когда процесс жив, но порт не слушает)

  </Accordion>

  <Accordion title='Почему openclaw gateway status показывает разные "Config (cli)" и "Config (service)"?'>
    Вы редактируете один файл конфигурации, тогда как сервис запущен с другим (часто это несовпадение `--profile` / `OPENCLAW_STATE_DIR`).

    Исправление:

    ```bash
    openclaw gateway install --force
    ```

    Запустите это из того же `--profile` / окружения, которое должен использовать сервис.

  </Accordion>

  <Accordion title='Что означает "другой экземпляр gateway уже слушает порт"?'>
    OpenClaw обеспечивает блокировку runtime, сразу привязывая WebSocket-слушатель при запуске (по умолчанию `ws://127.0.0.1:18789`). Если привязка завершается ошибкой `EADDRINUSE`, он выбрасывает `GatewayLockError`, указывая, что другой экземпляр уже слушает порт.

    Исправление: остановите другой экземпляр, освободите порт или запустите с `openclaw gateway --port <port>`.

  </Accordion>

  <Accordion title="Как запустить OpenClaw в удаленном режиме (клиент подключается к Gateway в другом месте)?">
    Задайте `gateway.mode: "remote"` и укажите удаленный WebSocket URL, при необходимости с удаленными учетными данными на основе общего секрета:

    ```json5
    {
      gateway: {
        mode: "remote",
        remote: {
          url: "ws://gateway.tailnet:18789",
          token: "your-token",
          password: "your-password",
        },
      },
    }
    ```

    Примечания:

    - `openclaw gateway` запускается только когда `gateway.mode` равен `local` (или если передан флаг переопределения).
    - Приложение macOS отслеживает файл конфигурации и переключает режимы на лету при изменении этих значений.
    - `gateway.remote.token` / `.password` — это только клиентские удаленные учетные данные; сами по себе они не включают аутентификацию локального gateway.

  </Accordion>

  <Accordion title='Control UI сообщает "unauthorized" (или постоянно переподключается). Что делать?'>
    Путь аутентификации вашего gateway и метод аутентификации UI не совпадают.

    Факты (из кода):

    - Control UI хранит токен в `sessionStorage` для текущей сессии вкладки браузера и выбранного URL gateway, поэтому обновления той же вкладки продолжают работать без восстановления долговременного сохранения токена в localStorage.
    - При `AUTH_TOKEN_MISMATCH` доверенные клиенты могут выполнить одну ограниченную повторную попытку с кэшированным токеном устройства, когда gateway возвращает подсказки для повтора (`canRetryWithDeviceToken=true`, `recommendedNextStep=retry_with_device_token`).
    - Эта повторная попытка с кэшированным токеном теперь повторно использует кэшированные одобренные области доступа, сохраненные вместе с токеном устройства. Вызывающие стороны с явным `deviceToken` / явными `scopes` по-прежнему сохраняют свой запрошенный набор областей доступа вместо наследования кэшированных областей.
    - Вне этого пути повтора приоритет аутентификации подключения таков: сначала явный общий токен/пароль, затем явный `deviceToken`, затем сохраненный токен устройства, затем bootstrap-токен.
    - Встроенный bootstrap с кодом настройки предназначен только для узлов. После одобрения он возвращает токен устройства узла с `scopes: []` и не возвращает переданный токен оператора.

    Исправление:

    - Самое быстрое: `openclaw dashboard` (печатает и копирует URL панели управления, пытается открыть; показывает подсказку SSH, если среда headless).
    - Если у вас еще нет токена: `openclaw doctor --generate-gateway-token`.
    - Если удаленно, сначала создайте туннель: `ssh -N -L 18789:127.0.0.1:18789 user@host`, затем откройте `http://127.0.0.1:18789/`.
    - Режим общего секрета: задайте `gateway.auth.token` / `OPENCLAW_GATEWAY_TOKEN` или `gateway.auth.password` / `OPENCLAW_GATEWAY_PASSWORD`, затем вставьте совпадающий секрет в настройках Control UI.
    - Режим Tailscale Serve: убедитесь, что `gateway.auth.allowTailscale` включен и вы открываете URL Serve, а не сырой loopback/tailnet URL, который обходит заголовки идентификации Tailscale.
    - Режим доверенного прокси: убедитесь, что вы заходите через настроенный identity-aware прокси, а не по сырому URL gateway. Same-host loopback прокси также требуют `gateway.auth.trustedProxy.allowLoopback = true`.
    - Если несоответствие сохраняется после одной повторной попытки, перевыпустите/повторно одобрите связанный токен устройства:
      - `openclaw devices list`
      - `openclaw devices rotate --device <id> --role operator`
    - Если этот вызов rotate сообщает, что он был отклонен, проверьте две вещи:
      - сессии связанных устройств могут перевыпускать только свое **собственное** устройство, если у них также нет `operator.admin`
      - явные значения `--scope` не могут превышать текущие operator scopes вызывающей стороны
    - Все еще не работает? Запустите `openclaw status --all` и следуйте [Устранению неполадок](/ru/gateway/troubleshooting). Подробности об аутентификации см. в [Dashboard](/ru/web/dashboard).

  </Accordion>

  <Accordion title="Я задал gateway.bind tailnet, но он не может привязаться и ничего не слушает">
    Привязка `tailnet` выбирает IP Tailscale из сетевых интерфейсов (100.64.0.0/10). Если машина не подключена к Tailscale (или интерфейс отключен), привязываться не к чему.

    Исправление:

    - Запустите Tailscale на этом хосте (чтобы у него был адрес 100.x), или
    - Переключитесь на `gateway.bind: "loopback"` / `"lan"`.

    Примечание: `tailnet` задается явно. `auto` предпочитает loopback; используйте `gateway.bind: "tailnet"`, когда нужна привязка только к tailnet.

  </Accordion>

  <Accordion title="Можно ли запустить несколько Gateways на одном хосте?">
    Обычно нет — один Gateway может обслуживать несколько каналов сообщений и агентов. Используйте несколько Gateways только когда нужна избыточность (например: rescue bot) или жесткая изоляция.

    Да, но нужно изолировать:

    - `OPENCLAW_CONFIG_PATH` (конфигурация для каждого экземпляра)
    - `OPENCLAW_STATE_DIR` (состояние для каждого экземпляра)
    - `agents.defaults.workspace` (изоляция рабочей области)
    - `gateway.port` (уникальные порты)

    Быстрая настройка (рекомендуется):

    - Используйте `openclaw --profile <name> ...` для каждого экземпляра (автоматически создает `~/.openclaw-<name>`).
    - Задайте уникальный `gateway.port` в конфигурации каждого профиля (или передайте `--port` для ручных запусков).
    - Установите сервис для профиля: `openclaw --profile <name> gateway install`.

    Профили также добавляют суффикс к именам сервисов (`ai.openclaw.<profile>`; legacy `com.openclaw.*`, `openclaw-gateway-<profile>.service`, `OpenClaw Gateway (<profile>)`).
    Полное руководство: [Несколько gateways](/ru/gateway/multiple-gateways).

  </Accordion>

  <Accordion title='Что означает "invalid handshake" / код 1008?'>
    Gateway — это **WebSocket-сервер**, и он ожидает, что самым первым сообщением
    будет кадр `connect`. Если он получает что-либо другое, он закрывает соединение
    с **кодом 1008** (нарушение политики).

    Распространенные причины:

    - Вы открыли **HTTP** URL в браузере (`http://...`) вместо WS-клиента.
    - Вы использовали неправильный порт или путь.
    - Прокси или туннель удалил заголовки аутентификации или отправил запрос не для Gateway.

    Быстрые исправления:

    1. Используйте WS URL: `ws://<host>:18789` (или `wss://...`, если HTTPS).
    2. Не открывайте WS-порт в обычной вкладке браузера.
    3. Если аутентификация включена, включите токен/пароль в кадр `connect`.

    Если вы используете CLI или TUI, URL должен выглядеть так:

    ```
    openclaw tui --url ws://<host>:18789 --token <token>
    ```

    Подробности протокола: [Протокол Gateway](/ru/gateway/protocol).

  </Accordion>
</AccordionGroup>

## Логирование и отладка

<AccordionGroup>
  <Accordion title="Где находятся логи?">
    Файловые логи (структурированные):

    ```
    /tmp/openclaw/openclaw-YYYY-MM-DD.log
    ```

    Вы можете задать стабильный путь через `logging.file`. Уровень файлового журнала управляется `logging.level`. Подробность вывода в консоль управляется `--verbose` и `logging.consoleLevel`.

    Самый быстрый просмотр журнала:

    ```bash
    openclaw logs --follow
    ```

    Журналы службы/супервизора (когда Gateway работает через launchd/systemd):

    - stdout macOS launchd: `~/Library/Logs/openclaw/gateway.log` (профили используют `gateway-<profile>.log`; stderr подавляется)
    - Linux: `journalctl --user -u openclaw-gateway[-<profile>].service -n 200 --no-pager`
    - Windows: `schtasks /Query /TN "OpenClaw Gateway (<profile>)" /V /FO LIST`

    Подробнее см. в разделе [Устранение неполадок](/ru/gateway/troubleshooting).

  </Accordion>

  <Accordion title="Как запустить/остановить/перезапустить службу Gateway?">
    Используйте вспомогательные команды Gateway:

    ```bash
    openclaw gateway status
    openclaw gateway restart
    ```

    Если вы запускаете Gateway вручную, `openclaw gateway --force` может освободить порт. См. [Gateway](/ru/gateway).

  </Accordion>

  <Accordion title="Я закрыл терминал в Windows — как перезапустить OpenClaw?">
    Есть **три режима установки Windows**:

    **1) Локальная настройка Windows Hub:** нативное приложение управляет локальным Gateway в WSL, принадлежащим приложению.

    Откройте **OpenClaw Companion** из меню «Пуск» или трея, затем используйте
    **Настройка Gateway** или вкладку «Подключения».

    **2) Ручной Gateway WSL2:** Gateway работает внутри Linux.

    Откройте PowerShell, войдите в WSL, затем перезапустите:

    ```powershell
    wsl
    openclaw gateway status
    openclaw gateway restart
    ```

    Если вы никогда не устанавливали службу, запустите ее на переднем плане:

    ```bash
    openclaw gateway run
    ```

    **3) Нативные Windows CLI/Gateway:** Gateway работает напрямую в Windows.

    Откройте PowerShell и выполните:

    ```powershell
    openclaw gateway status
    openclaw gateway restart
    ```

    Если вы запускаете его вручную (без службы), используйте:

    ```powershell
    openclaw gateway run
    ```

    Документация: [Windows](/ru/platforms/windows), [регламент службы Gateway](/ru/gateway).

  </Accordion>

  <Accordion title="Gateway запущен, но ответы не приходят. Что проверить?">
    Начните с быстрой проверки состояния:

    ```bash
    openclaw status
    openclaw models status
    openclaw channels status
    openclaw logs --follow
    ```

    Частые причины:

    - Авторизация модели не загружена на **узле Gateway** (проверьте `models status`).
    - Сопряжение канала или список разрешений блокирует ответы (проверьте конфигурацию канала и журналы).
    - WebChat/Dashboard открыт без правильного токена.

    Если вы подключены удаленно, убедитесь, что туннель/соединение Tailscale активно и
    WebSocket Gateway доступен.

    Документация: [Каналы](/ru/channels), [Устранение неполадок](/ru/gateway/troubleshooting), [Удаленный доступ](/ru/gateway/remote).

  </Accordion>

  <Accordion title='"Отключено от gateway: причина не указана" — что делать?'>
    Обычно это означает, что UI потерял соединение WebSocket. Проверьте:

    1. Запущен ли Gateway? `openclaw gateway status`
    2. Исправен ли Gateway? `openclaw status`
    3. Есть ли у UI правильный токен? `openclaw dashboard`
    4. Если подключение удаленное, активна ли ссылка туннеля/Tailscale?

    Затем просмотрите журналы:

    ```bash
    openclaw logs --follow
    ```

    Документация: [Dashboard](/ru/web/dashboard), [Удаленный доступ](/ru/gateway/remote), [Устранение неполадок](/ru/gateway/troubleshooting).

  </Accordion>

  <Accordion title="Telegram setMyCommands завершается ошибкой. Что проверить?">
    Начните с журналов и состояния канала:

    ```bash
    openclaw channels status
    openclaw channels logs --channel telegram
    ```

    Затем сопоставьте ошибку:

    - `BOT_COMMANDS_TOO_MUCH`: в меню Telegram слишком много пунктов. OpenClaw уже сокращает список до лимита Telegram и повторяет попытку с меньшим количеством команд, но некоторые пункты меню все равно нужно удалить. Сократите команды плагинов/Skills/пользовательские команды или отключите `channels.telegram.commands.native`, если меню вам не нужно.
    - `TypeError: fetch failed`, `Network request for 'setMyCommands' failed!` или похожие сетевые ошибки: если вы используете VPS или находитесь за прокси, убедитесь, что исходящий HTTPS разрешен и DNS работает для `api.telegram.org`.

    Если Gateway удаленный, убедитесь, что вы смотрите журналы на узле Gateway.

    Документация: [Telegram](/ru/channels/telegram), [Устранение неполадок каналов](/ru/channels/troubleshooting).

  </Accordion>

  <Accordion title="TUI не показывает вывод. Что проверить?">
    Сначала убедитесь, что Gateway доступен и агент может запускаться:

    ```bash
    openclaw status
    openclaw models status
    openclaw logs --follow
    ```

    В TUI используйте `/status`, чтобы увидеть текущее состояние. Если вы ожидаете ответы в чат-канале,
    убедитесь, что доставка включена (`/deliver on`).

    Документация: [TUI](/ru/web/tui), [слеш-команды](/ru/tools/slash-commands).

  </Accordion>

  <Accordion title="Как полностью остановить, а затем запустить Gateway?">
    Если вы установили службу:

    ```bash
    openclaw gateway stop
    openclaw gateway start
    ```

    Это останавливает/запускает **службу под супервизором** (launchd в macOS, systemd в Linux).
    Используйте это, когда Gateway работает в фоне как демон.

    Если вы запускаете его на переднем плане, остановите с помощью Ctrl-C, затем:

    ```bash
    openclaw gateway run
    ```

    Документация: [регламент службы Gateway](/ru/gateway).

  </Accordion>

  <Accordion title="Простыми словами: openclaw gateway restart и openclaw gateway">
    - `openclaw gateway restart`: перезапускает **фоновую службу** (launchd/systemd).
    - `openclaw gateway`: запускает Gateway **на переднем плане** для этого сеанса терминала.

    Если вы установили службу, используйте команды Gateway. Используйте `openclaw gateway`, когда
    нужен разовый запуск на переднем плане.

  </Accordion>

  <Accordion title="Самый быстрый способ получить больше деталей при сбое">
    Запустите Gateway с `--verbose`, чтобы получить более подробный вывод в консоль. Затем проверьте файл журнала на ошибки авторизации каналов, маршрутизации моделей и RPC.
  </Accordion>
</AccordionGroup>

## Медиа и вложения

<AccordionGroup>
  <Accordion title="Мой skill создал изображение/PDF, но ничего не было отправлено">
    Исходящие вложения от агента должны использовать структурированные поля медиа, такие как `media`, `mediaUrl`, `path` или `filePath`. См. [Настройка ассистента OpenClaw](/ru/start/openclaw) и [Отправка агентом](/ru/tools/agent-send).

    Отправка через CLI:

    ```bash
    openclaw message send --target +15555550123 --message "Here you go" --media /path/to/file.png
    ```

    Также проверьте:

    - Целевой канал поддерживает исходящие медиа и не заблокирован списками разрешений.
    - Файл укладывается в ограничения провайдера по размеру (изображения уменьшаются максимум до 2048px).
    - `tools.fs.workspaceOnly=true` ограничивает отправки по локальным путям рабочей областью, temp/media-store и файлами, проверенными песочницей.
    - `tools.fs.workspaceOnly=false` позволяет структурированным отправкам локальных медиа использовать локальные файлы хоста, которые агент уже может читать, но только для медиа и безопасных типов документов (изображения, аудио, видео, PDF, документы Office и проверенные текстовые документы, такие как Markdown/MD, TXT, JSON, YAML и YML). Это не сканер секретов: доступный агенту `secret.txt` или `config.json` может быть вложен, если расширение и проверка содержимого совпадают. Держите чувствительные файлы вне путей, доступных агенту, или оставьте `tools.fs.workspaceOnly=true` для более строгих отправок по локальным путям.

    См. [Изображения](/ru/nodes/images).

  </Accordion>
</AccordionGroup>

## Безопасность и контроль доступа

<AccordionGroup>
  <Accordion title="Безопасно ли открывать OpenClaw для входящих личных сообщений?">
    Считайте входящие личные сообщения недоверенным вводом. Значения по умолчанию рассчитаны на снижение риска:

    - Поведение по умолчанию на каналах с поддержкой личных сообщений — **сопряжение**:
      - Неизвестные отправители получают код сопряжения; бот не обрабатывает их сообщение.
      - Подтвердите с помощью: `openclaw pairing approve --channel <channel> [--account <id>] <code>`
      - Ожидающие запросы ограничены **3 на канал**; проверьте `openclaw pairing list --channel <channel> [--account <id>]`, если код не пришел.
    - Публичное открытие личных сообщений требует явного включения (`dmPolicy: "open"` и список разрешений `"*"`).

    Запустите `openclaw doctor`, чтобы выявить рискованные политики личных сообщений.

  </Accordion>

  <Accordion title="Prompt injection — проблема только для публичных ботов?">
    Нет. Prompt injection связана с **недоверенным содержимым**, а не только с тем, кто может писать боту в личные сообщения.
    Если ваш ассистент читает внешний контент (web search/fetch, страницы браузера, электронные письма,
    документы, вложения, вставленные журналы), такой контент может включать инструкции, которые пытаются
    перехватить управление моделью. Это может произойти даже если **вы единственный отправитель**.

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

    - используйте агента-«читателя» только для чтения или без инструментов, чтобы резюмировать недоверенный контент
    - держите `web_search` / `web_fetch` / `browser` выключенными для агентов с включенными инструментами
    - также считайте декодированный текст файлов/документов недоверенным: OpenResponses
      `input_file` и извлечение из медиа-вложений оборачивают извлеченный текст
      явными маркерами границы внешнего содержимого вместо передачи сырого текста файла
    - используйте песочницы и строгие списки разрешенных инструментов

    Подробности: [Безопасность](/ru/gateway/security).

  </Accordion>

  <Accordion title="OpenClaw менее безопасен из-за TypeScript/Node вместо Rust/WASM?">
    Язык и среда выполнения важны, но для персонального агента это не основной риск.
    Практические риски OpenClaw — это доступность Gateway, кто может писать
    боту, prompt injection, область действия инструментов, работа с учетными данными, доступ браузера, доступ exec
    и доверие к сторонним skill или плагинам.

    Rust и WASM могут обеспечивать более сильную изоляцию для некоторых классов кода, но
    они не решают prompt injection, плохие списки разрешений, публичную доступность Gateway,
    слишком широкие инструменты или профиль браузера, который уже вошел в чувствительные
    аккаунты. Считайте это основными средствами контроля:

    - держите Gateway приватным или с аутентификацией
    - используйте сопряжение и списки разрешений для личных сообщений и групп
    - запрещайте или помещайте в песочницу рискованные инструменты для недоверенного ввода
    - устанавливайте только доверенные плагины и skills
    - запускайте `openclaw security audit --deep` после изменений конфигурации

    Подробности: [Безопасность](/ru/gateway/security), [Песочница](/ru/gateway/sandboxing).

  </Accordion>

  <Accordion title="Я видел сообщения об открытых экземплярах OpenClaw. Что проверить?">
    Сначала проверьте свое фактическое развертывание:

    ```bash
    openclaw security audit --deep
    openclaw gateway status
    ```

    Более безопасная базовая конфигурация:

    - Gateway привязан к `loopback` или доступен только через аутентифицированный приватный
      доступ, например tailnet, SSH-туннель, аутентификацию по токену/паролю или корректно
      настроенный доверенный прокси
    - личные сообщения в режиме `pairing` или `allowlist`
    - группы внесены в список разрешений и требуют упоминания, если не все участники доверенные
    - инструменты высокого риска (`exec`, `browser`, `gateway`, `cron`) запрещены или строго
      ограничены для агентов, читающих недоверенное содержимое
    - песочница включена там, где выполнению инструментов нужен меньший радиус поражения

    Публичные привязки без аутентификации, открытые личные сообщения/группы с инструментами и открытое
    управление браузером — это проблемы, которые нужно исправить в первую очередь. Подробности:
    [Контрольный список аудита безопасности](/ru/gateway/security#security-audit-checklist).

  </Accordion>

  <Accordion title="Безопасно ли устанавливать skills ClawHub и сторонние плагины?">
    Относитесь к сторонним skills и плагинам как к коду, которому вы решаете доверять.
    Страницы skills ClawHub показывают состояние сканирования перед установкой, но сканирование не является
    полноценной границей безопасности. OpenClaw не запускает встроенную локальную
    блокировку опасного кода во время установки или обновления плагинов и skills; используйте
    управляемую оператором `security.installPolicy` для локальных решений разрешить/заблокировать.

    Более безопасный подход:

    - предпочитайте доверенных авторов и закрепленные версии
    - читайте skill или плагин перед включением
    - держите списки разрешений для плагинов и skills узкими
    - запускайте workflows с недоверенным вводом в песочнице с минимальным набором инструментов
    - избегайте предоставления стороннему коду широкого доступа к файловой системе, exec, браузеру или секретам

    Подробнее: [Skills](/ru/tools/skills), [Plugins](/ru/tools/plugin),
    [Безопасность](/ru/gateway/security).

  </Accordion>

  <Accordion title="Должен ли у моего бота быть собственный email, аккаунт GitHub или номер телефона?">
    Да, для большинства настроек. Изоляция бота с помощью отдельных аккаунтов и номеров телефона
    снижает радиус поражения, если что-то пойдет не так. Это также упрощает ротацию
    учетных данных или отзыв доступа без влияния на ваши личные аккаунты.

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

    Документация: [Безопасность](/ru/gateway/security), [Сопряжение](/ru/channels/pairing).

  </Accordion>

  <Accordion title="Можно ли дать ему автономный доступ к моим текстовым сообщениям и безопасно ли это?">
    Мы **не** рекомендуем полную автономию над вашими личными сообщениями. Самый безопасный шаблон:

    - Держите личные сообщения в **режиме сопряжения** или в строгом списке разрешенных.
    - Используйте **отдельный номер или аккаунт**, если хотите, чтобы он отправлял сообщения от вашего имени.
    - Пусть он подготавливает черновик, а затем **подтверждайте перед отправкой**.

    Если хотите поэкспериментировать, делайте это на выделенном аккаунте и держите его изолированным. См.
    [Безопасность](/ru/gateway/security).

  </Accordion>

  <Accordion title="Можно ли использовать более дешевые модели для задач личного ассистента?">
    Да, **если** агент работает только как чат и входные данные являются доверенными. Младшие уровни
    более уязвимы к перехвату инструкций, поэтому избегайте их для агентов с включенными инструментами
    или при чтении недоверенного содержимого. Если вам необходимо использовать меньшую модель, жестко ограничьте
    инструменты и запускайте ее внутри песочницы. См. [Безопасность](/ru/gateway/security).
  </Accordion>

  <Accordion title="Я запустил /start в Telegram, но не получил код сопряжения">
    Коды сопряжения отправляются **только**, когда неизвестный отправитель пишет боту и
    включено `dmPolicy: "pairing"`. Сам по себе `/start` не создает код.

    Проверьте ожидающие запросы:

    ```bash
    openclaw pairing list telegram
    ```

    Если нужен немедленный доступ, добавьте id отправителя в список разрешенных или задайте `dmPolicy: "open"`
    для этого аккаунта.

  </Accordion>

  <Accordion title="WhatsApp: будет ли он писать моим контактам? Как работает сопряжение?">
    Нет. Политика личных сообщений WhatsApp по умолчанию — **сопряжение**. Неизвестные отправители получают только код сопряжения, а их сообщение **не обрабатывается**. OpenClaw отвечает только в чатах, сообщения из которых он получает, или на явные отправки, которые запускаете вы.

    Подтвердите сопряжение с помощью:

    ```bash
    openclaw pairing approve whatsapp <code>
    ```

    Список ожидающих запросов:

    ```bash
    openclaw pairing list whatsapp
    ```

    Запрос номера телефона в мастере настройки: он используется, чтобы настроить ваш **список разрешенных/владельца**, чтобы ваши собственные личные сообщения были разрешены. Он не используется для автоматической отправки. Если вы запускаете это на своем личном номере WhatsApp, используйте этот номер и включите `channels.whatsapp.selfChatMode`.

  </Accordion>
</AccordionGroup>

## Команды чата, прерывание задач и «он не останавливается»

<AccordionGroup>
  <Accordion title="Как скрыть внутренние системные сообщения в чате?">
    Большинство внутренних сообщений или сообщений инструментов появляются только когда для этого сеанса включены
    **verbose**, **trace** или **reasoning**.

    Исправьте это в чате, где вы их видите:

    ```
    /verbose off
    /trace off
    /reasoning off
    ```

    Если шум все еще остается, проверьте настройки сеанса в Control UI и установите verbose
    в **inherit**. Также убедитесь, что вы не используете профиль бота, где в конфигурации `verboseDefault`
    задано значение `on`.

    Документация: [Thinking и verbose](/ru/tools/thinking), [Безопасность](/ru/gateway/security/index#reasoning-and-verbose-output-in-groups).

  </Accordion>

  <Accordion title="Как остановить/отменить выполняющуюся задачу?">
    Отправьте любое из этих сообщений **как отдельное сообщение** (без косой черты):

    ```
    stop
    stop action
    stop current action
    stop run
    stop current run
    stop agent
    stop the agent
    stop openclaw
    openclaw stop
    stop don't do anything
    stop do not do anything
    stop doing anything
    please stop
    stop please
    abort
    esc
    wait
    exit
    interrupt
    ```

    Это триггеры прерывания (не slash-команды).

    Для фоновых процессов (из инструмента exec) можно попросить агента выполнить:

    ```
    process action:kill sessionId:XXX
    ```

    Обзор slash-команд: см. [Slash-команды](/ru/tools/slash-commands).

    Большинство команд нужно отправлять как **отдельное** сообщение, начинающееся с `/`, но некоторые сокращения (например, `/status`) также работают внутри сообщения для отправителей из списка разрешенных.

  </Accordion>

  <Accordion title='Как отправить сообщение Discord из Telegram? («Cross-context messaging denied»)'>
    OpenClaw по умолчанию блокирует обмен сообщениями **между провайдерами**. Если вызов инструмента привязан
    к Telegram, он не отправит сообщение в Discord, если вы явно не разрешите это.

    Включите обмен сообщениями между провайдерами для агента:

    ```json5
    {
      tools: {
        message: {
          crossContext: {
            allowAcrossProviders: true,
            marker: { enabled: true, prefix: "[from {channel}] " },
          },
        },
      },
    }
    ```

    Перезапустите Gateway после редактирования конфигурации.

  </Accordion>

  <Accordion title='Почему кажется, что бот «игнорирует» быстро отправляемые сообщения?'>
    По умолчанию подсказки во время выполнения направляются в активный запуск. Используйте `/queue`, чтобы выбрать поведение активного запуска:

    - `steer` — направлять активный запуск на следующей границе модели
    - `followup` — ставить сообщения в очередь и запускать их по одному после завершения текущего запуска
    - `collect` — ставить совместимые сообщения в очередь и ответить один раз после завершения текущего запуска
    - `interrupt` — прервать текущий запуск и начать заново

    Режим по умолчанию — `steer`. Для режимов с очередью можно добавить параметры вроде `debounce:0.5s cap:25 drop:summarize`. См. [Очередь команд](/ru/concepts/queue) и [Очередь управления](/ru/concepts/queue-steering).

  </Accordion>
</AccordionGroup>

## Разное

<AccordionGroup>
  <Accordion title='Какая модель используется по умолчанию для Anthropic с API-ключом?'>
    В OpenClaw учетные данные и выбор модели разделены. Установка `ANTHROPIC_API_KEY` (или сохранение API-ключа Anthropic в профилях auth) включает аутентификацию, но фактическая модель по умолчанию — та, которую вы настроите в `agents.defaults.model.primary` (например, `anthropic/claude-sonnet-4-6` или `anthropic/claude-opus-4-6`). Если вы видите `No credentials found for profile "anthropic:default"`, это означает, что Gateway не смог найти учетные данные Anthropic в ожидаемом `auth-profiles.json` для запущенного агента.
  </Accordion>
</AccordionGroup>

---

Все еще не получается? Спросите в [Discord](https://discord.com/invite/clawd) или откройте [обсуждение GitHub](https://github.com/openclaw/openclaw/discussions).

## Связанные материалы

- [FAQ первого запуска](/ru/help/faq-first-run) — установка, onboard, auth, подписки, ранние сбои
- [FAQ по моделям](/ru/help/faq-models) — выбор модели, failover, профили auth
- [Устранение неполадок](/ru/help/troubleshooting) — диагностика по симптомам
