Перейти к основному содержимому

Руководства

Настройка персонального ассистента

OpenClaw — это шлюз для агентов Pi в WhatsApp + Telegram + Discord + iMessage. Плагины добавляют Mattermost. Это руководство описывает настройку «персонального ассистента»: один выделенный номер WhatsApp, который ведёт себя как ваш всегда включённый агент.

⚠️ Безопасность прежде всего

Вы помещаете агента в положение, когда он может:

  • выполнять команды на вашем компьютере (в зависимости от настройки инструментов Pi)
  • читать/записывать файлы в вашем рабочем пространстве
  • отправлять сообщения обратно через WhatsApp/Telegram/Discord/Mattermost (плагин)

Начинайте консервативно:

  • Всегда устанавливайте channels.whatsapp.allowFrom (никогда не запускайте открытый для мира шлюз на личном Mac).
  • Используйте выделенный номер WhatsApp для ассистента.
  • Периодические проверки (heartbeats) теперь по умолчанию выполняются каждые 30 минут. Отключите их, пока не доверяете настройке, установив agents.defaults.heartbeat.every: "0m".

Предварительные требования

  • Установленный и прошедший первоначальную настройку OpenClaw — см. Начало работы, если вы ещё этого не сделали
  • Второй номер телефона (SIM/eSIM/предоплаченный) для ассистента

Настройка с двумя телефонами (рекомендуется)

Вот что вам нужно: если вы привяжете свой личный WhatsApp к OpenClaw, каждое сообщение вам станет «вводом для агента». Это редко бывает желаемым.

Быстрый старт за 5 минут

  1. Свяжите WhatsApp Web (показывает QR-код; отсканируйте его телефоном ассистента):
openclaw channels login
  1. Запустите Шлюз (Gateway) (оставьте его работать):
openclaw gateway --port 18789
  1. Поместите минимальную конфигурацию в ~/.openclaw/openclaw.json:
{
channels: { whatsapp: { allowFrom: ["+15555550123"] } },
}

Теперь отправьте сообщение на номер ассистента с вашего разрешённого телефона. Когда первоначальная настройка завершится, мы автоматически откроем панель управления и выведем чистую (без токенов) ссылку. Если запросит аутентификацию, вставьте токен из gateway.auth.token в настройки Control UI. Чтобы открыть позже: openclaw dashboard.

Дайте агенту рабочее пространство (AGENTS)

OpenClaw читает инструкции для работы и «память» из своего каталога рабочего пространства. По умолчанию OpenClaw использует ~/.openclaw/workspace как рабочее пространство агента и создаст его (плюс стартовые файлы AGENTS.md, SOUL.md, TOOLS.md, IDENTITY.md, USER.md, HEARTBEAT.md) автоматически при настройке/первом запуске агента. BOOTSTRAP.md создаётся только тогда, когда рабочее пространство совершенно новое (после удаления он не должен появляться снова). MEMORY.md опционален (не создаётся автоматически); при наличии он загружается для обычных сессий. Сессии суб-агентов инжектят только AGENTS.md и TOOLS.md. Совет: относитесь к этой папке как к «памяти» OpenClaw и сделайте её git-репозиторием (желательно приватным), чтобы ваши AGENTS.md + файлы памяти были сохранены. Если git установлен, совершенно новые рабочие пространства автоматически инициализируются.

openclaw setup

Полная структура рабочего пространства + руководство по резервному копированию: Рабочее пространство агента Рабочий процесс памяти: Память Опционально: выберите другое рабочее пространство с помощью agents.defaults.workspace (поддерживает ~).

{
agent: {
workspace: "~/.openclaw/workspace",
},
}

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

{
agent: {
skipBootstrap: true,
},
}

Конфигурация, превращающая его в «ассистента»

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

  • персону/инструкции в SOUL.md
  • настройки мышления по умолчанию (если нужно)
  • периодические проверки (heartbeats) (когда доверяете)

Пример:

{
logging: { level: "info" },
agent: {
model: "anthropic/claude-opus-4-6",
workspace: "~/.openclaw/workspace",
thinkingDefault: "high",
timeoutSeconds: 1800,
// Начните с 0; включите позже.
heartbeat: { every: "0m" },
},
channels: {
whatsapp: {
allowFrom: ["+15555550123"],
groups: {
"*": { requireMention: true },
},
},
},
routing: {
groupChat: {
mentionPatterns: ["@openclaw", "openclaw"],
},
},
session: {
scope: "per-sender",
resetTriggers: ["/new", "/reset"],
reset: {
mode: "daily",
atHour: 4,
idleMinutes: 10080,
},
},
}

Сессии и память

  • Файлы сессий: ~/.openclaw/agents//sessions/{{SessionId}}.jsonl
  • Метаданные сессии (использование токенов, последний маршрут и т.д.): ~/.openclaw/agents//sessions/sessions.json (устаревшее: ~/.openclaw/sessions/sessions.json)
  • /new или /reset начинает новую сессию для этого чата (настраивается через resetTriggers). Если отправлено отдельно, агент отвечает коротким приветствием для подтверждения сброса.
  • /compact [инструкции] сжимает контекст сессии и сообщает оставшийся бюджет контекста.

Периодические проверки (Heartbeats) (проактивный режим)

По умолчанию OpenClaw выполняет периодическую проверку каждые 30 минут с промптом: Read HEARTBEAT.md if it exists (workspace context). Follow it strictly. Do not infer or repeat old tasks from prior chats. If nothing needs attention, reply HEARTBEAT_OK. Установите agents.defaults.heartbeat.every: "0m", чтобы отключить.

  • Если HEARTBEAT.md существует, но фактически пуст (только пустые строки и заголовки markdown, такие как # Heading), OpenClaw пропускает выполнение проверки, чтобы сэкономить вызовы API.
  • Если файл отсутствует, проверка всё равно выполняется, и модель решает, что делать.
  • Если агент отвечает HEARTBEAT_OK (опционально с коротким дополнением; см. agents.defaults.heartbeat.ackMaxChars), OpenClaw подавляет исходящую доставку для этой проверки.
  • По умолчанию разрешена доставка проверок в DM-стиле на цели user:. Установите agents.defaults.heartbeat.directPolicy: "block", чтобы подавить доставку на прямые цели, оставив проверки активными.
  • Периодические проверки выполняют полные ходы агента — более короткие интервалы сжигают больше токенов.
{
agent: {
heartbeat: { every: "30m" },
},
}

Медиа (входящие и исходящие)

Входящие вложения (изображения/аудио/документы) могут быть переданы в вашу команду через шаблоны:

  • {{MediaPath}} (локальный путь к временному файлу)
  • {{MediaUrl}} (псевдо-URL)
  • {{Transcript}} (если включена транскрипция аудио)

Исходящие вложения от агента: включите MEDIA:<path-or-url> на отдельной строке (без пробелов). Пример:

Вот скриншот.
MEDIA:https://example.com/screenshot.png

OpenClaw извлекает их и отправляет как медиа вместе с текстом.

Контрольный список операций

openclaw status # локальный статус (учётные данные, сессии, события в очереди)
openclaw status --all # полная диагностика (только чтение, можно вставить)
openclaw status --deep # добавляет проверки здоровья шлюза (Telegram + Discord)
openclaw health --json # снимок состояния здоровья шлюза (WS)

Логи находятся в /tmp/openclaw/ (по умолчанию: openclaw-YYYY-MM-DD.log).

Следующие шаги

Первоначальная настройка: Приложение для macOSСправочник по CLI