Перейти до основного вмісту

Documentation Index

Fetch the complete documentation index at: https://docs.openclaw.ai/llms.txt

Use this file to discover all available pages before exploring further.

OpenClaw — це self-hosted Gateway, який підключає Discord, Google Chat, iMessage, Matrix, Microsoft Teams, Signal, Slack, Telegram, WhatsApp, Zalo та інші канали до AI-агентів. У цьому посібнику описано налаштування “персонального асистента”: виділений номер WhatsApp, який поводиться як ваш постійно доступний AI-асистент.

⚠️ Спершу безпека

Ви ставите агента в позицію, де він може:
  • виконувати команди на вашій машині (залежно від вашої політики інструментів)
  • читати/записувати файли у вашому робочому просторі
  • надсилати повідомлення назад через WhatsApp/Telegram/Discord/Mattermost та інші вбудовані канали
Почніть консервативно:
  • Завжди задавайте channels.whatsapp.allowFrom (ніколи не запускайте відкритим для всього світу на вашому особистому Mac).
  • Використовуйте виділений номер WhatsApp для асистента.
  • Heartbeat-и тепер за замовчуванням виконуються кожні 30 хвилин. Вимкніть їх, доки не довірятимете налаштуванню, задавши agents.defaults.heartbeat.every: "0m".

Передумови

  • OpenClaw встановлено й виконано onboarding — див. Початок роботи, якщо ви ще цього не зробили
  • Другий номер телефону (SIM/eSIM/prepaid) для асистента

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

Вам потрібно ось це: Якщо ви підключите свій особистий WhatsApp до OpenClaw, кожне повідомлення до вас стане “вхідними даними агента”. Це рідко саме те, що вам потрібно.

Швидкий старт за 5 хвилин

  1. Спарте WhatsApp Web (показує QR; проскануйте його телефоном асистента):
openclaw channels login
  1. Запустіть Gateway (залиште його працювати):
openclaw gateway --port 18789
  1. Додайте мінімальну конфігурацію в ~/.openclaw/openclaw.json:
{
  gateway: { mode: "local" },
  channels: { whatsapp: { allowFrom: ["+15555550123"] } },
}
Тепер напишіть на номер асистента з вашого allowlisted телефону. Коли onboarding завершиться, OpenClaw автоматично відкриє dashboard і виведе чисте посилання (без токена). Якщо dashboard попросить автентифікацію, вставте налаштований спільний секрет у налаштування Control UI. Onboarding за замовчуванням використовує токен (gateway.auth.token), але парольна автентифікація теж працює, якщо ви перемкнули gateway.auth.mode на password. Щоб відкрити пізніше: openclaw dashboard.

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

OpenClaw читає операційні інструкції та “пам’ять” зі свого каталогу робочого простору. За замовчуванням OpenClaw використовує ~/.openclaw/workspace як робочий простір агента і створить його (а також стартові AGENTS.md, SOUL.md, TOOLS.md, IDENTITY.md, USER.md, HEARTBEAT.md) автоматично під час налаштування/першого запуску агента. BOOTSTRAP.md створюється лише тоді, коли робочий простір абсолютно новий (він не має з’являтися знову після видалення). MEMORY.md необов’язковий (не створюється автоматично); якщо він наявний, його завантажують для звичайних сесій. У сесії subagent додаються лише AGENTS.md і TOOLS.md.
Ставтеся до цієї папки як до пам’яті OpenClaw і зробіть її git-репозиторієм (в ідеалі приватним), щоб ваші AGENTS.md і файли пам’яті мали резервну копію. Якщо git встановлено, абсолютно нові робочі простори автоматично ініціалізуються.
openclaw setup
Повна структура робочого простору + посібник із резервного копіювання: Робочий простір агента Робочий процес пам’яті: Пам’ять Необов’язково: виберіть інший робочий простір через agents.defaults.workspace (підтримує ~).
{
  agents: {
    defaults: {
      workspace: "~/.openclaw/workspace",
    },
  },
}
Якщо ви вже постачаєте власні файли робочого простору з репозиторію, можна повністю вимкнути створення bootstrap-файлів:
{
  agents: {
    defaults: {
      skipBootstrap: true,
    },
  },
}

Конфігурація, яка перетворює це на “асистента”

OpenClaw за замовчуванням має хороше налаштування асистента, але зазвичай варто налаштувати:
  • persona/інструкції в SOUL.md
  • стандартні параметри мислення (за потреби)
  • Heartbeat-и (коли ви вже довірятимете цьому)
Приклад:
{
  logging: { level: "info" },
  agents: {
    defaults: {
      model: { primary: "anthropic/claude-opus-4-6" },
      workspace: "~/.openclaw/workspace",
      thinkingDefault: "high",
      timeoutSeconds: 1800,
      // Start with 0; enable later.
      heartbeat: { every: "0m" },
    },
    list: [
      {
        id: "main",
        default: true,
        groupChat: {
          mentionPatterns: ["@openclaw", "openclaw"],
        },
      },
    ],
  },
  channels: {
    whatsapp: {
      allowFrom: ["+15555550123"],
      groups: {
        "*": { requireMention: true },
      },
    },
  },
  session: {
    scope: "per-sender",
    resetTriggers: ["/new", "/reset"],
    reset: {
      mode: "daily",
      atHour: 4,
      idleMinutes: 10080,
    },
  },
}

Сесії та пам’ять

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

Heartbeat-и (проактивний режим)

За замовчуванням OpenClaw запускає Heartbeat кожні 30 хвилин із prompt: 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 пропускає запуск Heartbeat, щоб заощадити API-виклики.
  • Якщо файл відсутній, Heartbeat все одно запускається, а модель вирішує, що робити.
  • Якщо агент відповідає HEARTBEAT_OK (необов’язково з коротким доповненням; див. agents.defaults.heartbeat.ackMaxChars), OpenClaw пригнічує вихідну доставку для цього Heartbeat.
  • За замовчуванням доставка Heartbeat до DM-подібних цілей user:<id> дозволена. Задайте agents.defaults.heartbeat.directPolicy: "block", щоб пригнітити доставку до прямих цілей, залишивши запуски Heartbeat активними.
  • Heartbeat-и виконують повні ходи агента — коротші інтервали витрачають більше токенів.
{
  agents: {
    defaults: {
      heartbeat: { every: "30m" },
    },
  },
}

Медіа на вхід і вихід

Вхідні вкладення (зображення/аудіо/документи) можна передавати вашій команді через шаблони:
  • {{MediaPath}} (шлях до локального тимчасового файлу)
  • {{MediaUrl}} (псевдо-URL)
  • {{Transcript}} (якщо транскрипцію аудіо ввімкнено)
Вихідні вкладення від агента: додайте MEDIA:<path-or-url> в окремому рядку (без пробілів). Приклад:
Here's the screenshot.
MEDIA:https://example.com/screenshot.png
OpenClaw витягує їх і надсилає як медіа разом із текстом. Поведінка локальних шляхів дотримується тієї самої моделі довіри для читання файлів, що й агент:
  • Якщо tools.fs.workspaceOnly має значення true, вихідні локальні шляхи MEDIA: залишаються обмеженими тимчасовим коренем OpenClaw, медіакешем, шляхами робочого простору агента та файлами, згенерованими в sandbox.
  • Якщо tools.fs.workspaceOnly має значення false, вихідні MEDIA: можуть використовувати локальні файли хоста, які агенту вже дозволено читати.
  • Локальні шляхи можуть бути абсолютними, відносними до робочого простору або відносними до home із ~/.
  • Надсилання локальних файлів хоста все одно дозволяє лише медіа та безпечні типи документів (зображення, аудіо, відео, PDF і документи Office). Звичайний текст і файли, схожі на секрети, не вважаються медіа, які можна надсилати.
Це означає, що згенеровані зображення/файли поза робочим простором тепер можна надсилати, коли ваша fs-політика вже дозволяє їх читання, без повторного відкриття довільної ексфільтрації текстових вкладень хоста.

Операційний чекліст

openclaw status          # local status (creds, sessions, queued events)
openclaw status --all    # full diagnosis (read-only, pasteable)
openclaw status --deep   # asks the gateway for a live health probe with channel probes when supported
openclaw health --json   # gateway health snapshot (WS; default can return a fresh cached snapshot)
Логи зберігаються в /tmp/openclaw/ (за замовчуванням: openclaw-YYYY-MM-DD.log).

Наступні кроки

Пов’язане