Guides

Налаштування персонального помічника

OpenClaw — це самостійно розміщуваний 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 встановлено й виконано первинне налаштування - див. Початок роботи, якщо ви ще цього не зробили
  • Другий номер телефону (SIM/eSIM/передплачений) для помічника

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

Вам потрібно це:

flowchart TB
    A["<b>Your Phone (personal)
</b>
Your WhatsApp
+1-555-YOU"] -- message --> B["<b>Second Phone (assistant)
</b>
Assistant WA
+1-555-ASSIST"]
    B -- linked via QR --> C["<b>Your Mac (openclaw)
</b>
AI agent"]

Якщо ви прив'яжете свій особистий 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"] } },
}

Тепер надішліть повідомлення на номер помічника з телефону, доданого до списку дозволених.

Коли первинне налаштування завершиться, OpenClaw автоматично відкриє панель керування та виведе чисте посилання (без токена). Якщо панель керування попросить автентифікацію, вставте налаштований спільний секрет у налаштуваннях Control UI. Первинне налаштування за замовчуванням використовує токен (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 необов'язковий (не створюється автоматично); якщо він є, його буде завантажено для звичайних сесій. Сесії підлеглих агентів додають лише AGENTS.md і TOOLS.md.

openclaw setup

Повна структура робочого простору + посібник із резервного копіювання: Робочий простір агента Робочий процес пам'яті: Пам'ять

Необов'язково: виберіть інший робочий простір через agents.defaults.workspace (підтримує ~).

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

Якщо ви вже постачаєте власні файли робочого простору з репозиторію, можна повністю вимкнути створення bootstrap-файлів:

{
  agents: {
    defaults: {
      skipBootstrap: true,
    },
  },
}

Конфігурація, яка перетворює це на "помічника"

OpenClaw за замовчуванням має хороше налаштування помічника, але зазвичай варто налаштувати:

  • персону/інструкції в SOUL.md
  • стандартні параметри мислення (за потреби)
  • Heartbeat-и (коли ви вже довірятимете налаштуванню)

Приклад:

{
  logging: { level: "info" },
  agent: {
    model: "anthropic/claude-opus-4-6",
    workspace: "~/.openclaw/workspace",
    thinkingDefault: "high",
    timeoutSeconds: 1800,
    // Start with 0; enable later.
    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/<agentId>/sessions/{{SessionId}}.jsonl
  • Метадані сесій (використання токенів, останній маршрут тощо): ~/.openclaw/agents/<agentId>/sessions/sessions.json (застаріле: ~/.openclaw/sessions/sessions.json)
  • /new або /reset запускає нову сесію для цього чату (налаштовується через resetTriggers). Якщо надіслано окремо, OpenClaw підтверджує скидання без виклику моделі.
  • /compact [instructions] стискає контекст сесії та повідомляє залишковий бюджет контексту.

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

За замовчуванням OpenClaw запускає Heartbeat кожні 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 пропускає запуск Heartbeat, щоб заощадити API-виклики.
  • Якщо файл відсутній, Heartbeat усе одно запускається, а модель вирішує, що робити.
  • Якщо агент відповідає HEARTBEAT_OK (необов'язково з коротким доповненням; див. agents.defaults.heartbeat.ackMaxChars), OpenClaw пригнічує вихідну доставку для цього Heartbeat.
  • За замовчуванням доставку Heartbeat до цілей у стилі особистих повідомлень user:<id> дозволено. Установіть agents.defaults.heartbeat.directPolicy: "block", щоб пригнітити доставку до прямих цілей, зберігши активними запуски Heartbeat.
  • Heartbeat-и виконують повні ходи агента - коротші інтервали витрачають більше токенів.
{
  agent: {
    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, кешем медіа, шляхами робочого простору агента та файлами, згенерованими в пісочниці.
  • Якщо tools.fs.workspaceOnly має значення false, вихідні MEDIA: можуть використовувати локальні файли хоста, які агенту вже дозволено читати.
  • Локальні шляхи можуть бути абсолютними, відносними до робочого простору або відносними до домашнього каталогу з ~/.
  • Надсилання локальних файлів хоста все одно дозволяє лише медіа та безпечні типи документів (зображення, аудіо, відео, 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).

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

Пов'язане