Guides
Налаштування персонального асистента
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) для асистента
Налаштування з двома телефонами (рекомендовано)
Вам потрібно ось це:
flowchart TB
A["<b>Your Phone (personal)<br></b><br>Your WhatsApp<br>+1-555-YOU"] -- message --> B["<b>Second Phone (assistant)<br></b><br>Assistant WA<br>+1-555-ASSIST"]
B -- linked via QR --> C["<b>Your Mac (openclaw)<br></b><br>AI agent"]Якщо ви підключите свій особистий WhatsApp до OpenClaw, кожне повідомлення до вас стане "вхідними даними агента". Це рідко саме те, що вам потрібно.
Швидкий старт за 5 хвилин
- Спарте WhatsApp Web (показує QR; проскануйте його телефоном асистента):
openclaw channels login- Запустіть Gateway (залиште його працювати):
openclaw gateway --port 18789- Додайте мінімальну конфігурацію в
~/.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 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.pngOpenClaw витягує їх і надсилає як медіа разом із текстом.
Поведінка локальних шляхів дотримується тієї самої моделі довіри для читання файлів, що й агент:
- Якщо
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 supportedopenclaw health --json # gateway health snapshot (WS; default can return a fresh cached snapshot)Логи зберігаються в /tmp/openclaw/ (за замовчуванням: openclaw-YYYY-MM-DD.log).
Наступні кроки
- WebChat: WebChat
- Операції Gateway: Runbook Gateway
- Cron + пробудження: Cron jobs
- Компаньйон у рядку меню macOS: застосунок OpenClaw для macOS
- Застосунок iOS node: застосунок iOS
- Застосунок Android node: застосунок Android
- Статус Windows: Windows (WSL2)
- Статус Linux: застосунок Linux
- Безпека: Безпека