Урок 3. Настройка OpenClaw
Содержание
- Про что этот урок
- Запуск openclaw onboard
- Шаг 1. Подключение AI-модели
- Шаг 2. Подключение Telegram
- Шаг 3. Поиск в сети
- Шаг 4. Навыки (Skills)
- Шаг 5. Хуки (Hooks)
- Шаг 6. Запуск gateway
- Шаг 7. Проверка в терминале
- Проверка после настройки
- Авторизация Telegram-аккаунта
- Конфигурация
- Если что-то пошло не так
- Что дальше
Про что этот урок
Сервер работает, модель выбрана. Осталось всё связать: создать Telegram-бота, подключить AI-модель, пройти авторизацию и поставить первые навыки.
Запуск openclaw onboard
Подключайся к серверу по SSH (как в первом уроке) и запускай мастер настройки:
ssh openclaw@ТВОЙ_IP_АДРЕС
openclaw onboard
openclaw onboard проведёт тебя по всем шагам: модель, Telegram, навыки, хуки.
Первым делом выйдет предупреждение о бета-версии. Соглашаемся.
Дальше выбирай QuickStart → Use existing values. В первом уроке наш скрипт уже настроил базовый конфиг, мастер подхватит его.
Вот что скрипт добавил и зачем:
{
"tools": {
"profile": "full"
},
"browser": {
"enabled": true,
"executablePath": "/usr/bin/google-chrome-stable",
"headless": true,
"noSandbox": true
},
"session": {
"dmScope": "per-channel-peer",
"reset": {
"mode": "idle",
"idleMinutes": 240
}
},
"update": {
"channel": "stable",
"auto": {
"enabled": true,
"stableDelayHours": 6,
"stableJitterHours": 12,
"betaCheckIntervalHours": 1
}
}
}
tools — какие инструменты доступны боту. OpenClaw управляет доступом через профили:
minimal— только чтение статуса сессии. Бот может отвечать, но не может ничего делать руками. Подходит, если нужен чистый чат-бот без инструментовcoding— файловая система (чтение, запись, редактирование), запуск команд, работа с сессиями и памятью. Профиль по умолчанию при onboard. Хватает для разработки и простых задачmessaging— инструменты для работы с сообщениями и сессиями: отправка, чтение истории, просмотр списка сессий. Для ботов, которые только общаются через каналыfull— всё из предыдущих профилей плюс сеть, браузер, базы данных и остальное. Бот может делать всё, что умеет и самое важное — это устанавливать необходимые пакеты (программы) на сервере самостоятельно
Наш скрипт ставит full. Для бизнес-бота это нужно — без полного доступа навыки не смогут ходить по сайтам, вызывать API или работать с файлами. Если хочешь ограничить конкретные инструменты, используй tools.deny в конфиге.
browser — встроенный браузер. Бот может ходить по сайтам: парсить цены, заполнять формы. headless: true — без графического интерфейса (на сервере он не нужен). noSandbox: true — нужно для Chrome под пользователем openclaw.
session — как бот ведёт диалоги. per-channel-peer — у каждого пользователя своя сессия. idleMinutes: 240 — если молчишь 4 часа, сессия сбрасывается. Экономит токены и не даёт контексту разрастаться.
update — автообновление до стабильной версии. stableDelayHours и stableJitterHours добавляют задержку, чтобы не ставить совсем свежий релиз, а подождать пока его обкатают другие.
Шаг 1. Подключение AI-модели
Выбираем провайдера. Дальше зависит от подписки, которую ты оформил в прошлом уроке.
ChatGPT Plus (подписка)
- Выбери OpenAI → OpenAI Codex (ChatGPT OAuth)
- Появится ссылка для авторизации. Открой её в браузере на компьютере или телефоне
- Авторизуйся в аккаунте OpenAI. После этого откроется страница, похожая на ошибку — будто не загрузилась. Так и должно быть
- Скопируй URL из адресной строки и вставь в консоль. Ссылка будет примерно такая:
http://localhost:1455/auth/callback?code=ac_89QvANho...&state=25b1d205...
- Выбери модель. Для свежей настройки с ChatGPT/Codex OpenClaw ставит GPT-5.6 Sol (
openai/gpt-5.6-sol). Если в списке нет 5.6 — возьмиopenai/gpt-5.5явно (OpenClaw сам не откатывает модель). Скрин ниже может показывать старые имена в UI — ориентируйся на то, что реально есть в списке выбора и вopenclaw models list --provider openai.
Claude Pro/Max (подписка)
У Claude в OpenClaw три рабочих пути — от самого удобного локально к самому предсказуемому на VPS:
- Claude CLI (reuse) — предпочтительно, если на том же хосте уже залогинен Claude Code. В мастере: Anthropic → Claude CLI. OpenClaw подхватит существующий логин (
claude auth status). Запросы бота идут черезclaude -pи считаются в лимитах подписки Pro/Max, отдельного агентского кредита нет. - setup-token — если CLI reuse не подходит (нет интерактивного логина, другой сценарий). На сервере:
claude setup-token
Перейди по ссылке, авторизуйся, введи код. Claude выдаст токен (срок длинный, порядка года — сохрани). В мастере: Anthropic → Anthropic token (paste setup-token) → Paste setup token now.
- API-ключ Anthropic — лучший вариант для долгоживущего gateway на VPS: pay-as-you-go, без привязки к Claude Code login на сервере. В мастере — Anthropic API key.
Модель: бери актуальный Sonnet из списка (дешевле Opus, для большинства задач хватает). Точные id вроде claude-sonnet-4-6 / claude-sonnet-5 смотри в списке выбора и в openclaw models list --provider anthropic.
Шаг 2. Подключение Telegram
Выбирай Telegram (Bot API). Для подключения нужен токен бота.
Создание бота в BotFather
Если бота ещё нет, создай прямо сейчас. Открой @BotFather в Telegram (с синей галочкой) и нажми кнопку меню (≡) внизу чата.
- Нажми Create a New Bot
- Введи имя бота — его увидят пользователи. Например: «Мой AI-ассистент»
- Введи username. Обязательно заканчивается на
bot, например:my_openclaw_bot - BotFather покажет токен вида
123456789:ABCdefGHIjklMNOpqrsTUVwxyz. Скопируй его
Если Web App не открывается (бывает на старых версиях Telegram), напиши BotFather /newbot и следуй инструкциям.
Токен — ключ к боту. Не публикуй и не отправляй посторонним. Утёк — зайди в BotFather и перегенерируй.
Privacy mode (важно для групп). По умолчанию Telegram-бот в группах видит только сообщения с упоминанием и команды. Если планируешь добавить бота в групповой чат и хочешь, чтобы он видел все сообщения, отключи Privacy mode прямо сейчас:
- В BotFather отправь
/setprivacy - Выбери своего бота
- Выбери Disable
Альтернатива — сделать бота администратором группы (админы видят всё автоматически). После смены Privacy mode нужно удалить и заново добавить бота в каждую группу, иначе Telegram не применит изменение.
Подключение токена
Вставь токен бота в мастер. OpenClaw запишет его в конфиг и запустит gateway.
Шаг 3. Поиск в сети
Тут предлагают настроить провайдера для веб-поиска. Пропускай, поиск проще добавить позже через навыки. Жми Skip for now.
Шаг 4. Навыки (Skills)
Навыки — наборы инструментов для бота: браузер, Google Workspace, поиск и т.д.
На старте ставь только clawhub. С ним бот сможет сам находить и ставить нужные навыки. Остальное пока не трогай.
Вручную навыки ставятся командой:
clawhub install <название-навыка>
Но обычно проще попросить бота — он сам найдёт и установит через clawhub. По умолчанию clawhub install кладёт навыки в workspace: ~/.openclaw/workspace/skills/. Общий managed-каталог — ~/.openclaw/skills/ (флаг --global).
Шаг 5. Хуки (Hooks)
Хуки — автоматические действия на события. Включай все.
Что делает каждый:
🚀 boot-md — при старте gateway выполняет файл BOOT.md. Туда пишешь инструкции, которые бот выполнит при запуске: проверить обновления, подготовить окружение.
📎 bootstrap-extra-files — подгружает твои файлы (AGENTS.md, TOOLS.md) в контекст бота при старте сессии. Если есть кастомные инструкции, бот увидит их в каждом диалоге.
📝 command-logger — пишет все команды в ~/.openclaw/logs/commands.log. Кто, когда, что выполнил. Для отладки и аудита.
💾 session-memory — при сбросе сессии (/new или /reset) бот сохраняет выжимку диалога в memory/. В следующем разговоре подгрузит её и вспомнит контекст.
Шаг 6. Запуск gateway
Gateway установится как системный сервис. Бот будет работать в фоне и сам поднимется после перезагрузки сервера.
Шаг 7. Проверка в терминале
Мастер предложит протестировать бота в консоли.
Напиши «Привет». Если ответил — всё работает, выходи через ввод команды /exit. Дальше общаемся через Telegram.
Проверка после настройки
Убедись, что всё на месте:
openclaw gateway status # gateway запущен
openclaw doctor --fix # общая диагностика с авто-починкой
openclaw channels status --probe # проверка связи с Telegram API
channels status --probe делает тестовый запрос к Telegram Bot API и покажет, если токен невалидный или сеть не пускает.
Авторизация Telegram-аккаунта
Бот работает, но пока не знает, кому отвечать. Доступ в личные сообщения контролируется параметром channels.telegram.dmPolicy. Возможные значения:
pairing(по умолчанию) — бот выдаёт код, который надо подтвердить на сервере. Подходит для первой настройкиallowlist— отвечает только пользователям из спискаallowFrom(числовые Telegram ID). Надёжнее для продакшенаopen— отвечает всем (требуетallowFrom: ["*"]в конфиге). Только для публичных ботовdisabled— личные сообщения отключены
Сейчас у нас pairing, поэтому делаем так:
- Напиши боту в Telegram что угодно, например «привет»
- Бот ответит кодом авторизации — 8 символов, заглавные буквы. Код действует 1 час, одновременно может быть до 3 ожидающих кодов
- На сервере выполни:
openclaw pairing approve telegram КОД
После этого бот начнёт тебе отвечать.
Совет: для бота «под себя» после pairing переключись на
allowlist— так доступ сохранится в конфиге и не зависит от pairing-store. Узнай свой числовой Telegram ID из логов (openclaw logs --follow, полеfrom.id) и добавь в конфиг:"channels": { "telegram": { "dmPolicy": "allowlist", "allowFrom": ["ТВОЙ_ЧИСЛОВОЙ_ID"] } }
Конфигурация
Все настройки OpenClaw лежат в ~/.openclaw/openclaw.json. Мастер onboard записал туда всё, что мы настроили. Если надо что-то поменять вручную, правь этот файл и перезапускай:
openclaw gateway restart
openclaw doctor --fix
Подробная документация: docs.openclaw.ai/gateway/configuration
Если что-то пошло не так
Бот не отвечает в Telegram. Пошагово:
openclaw gateway status— если не запущен,openclaw gateway startopenclaw channels status --probe— проверит связь с Telegram API. Если токен невалидный, перегенерируй в BotFatheropenclaw pairing list telegram— есть ли ожидающие коды? Если да, подтверди нужныйopenclaw logs --follow— смотри логи в реальном времени, пиши боту и наблюдай, что происходит
Ошибка подключения к AI-модели. Скорее всего дело в ключе или подписке. Смотри openclaw logs --follow на ошибки авторизации. Частая причина — истёк OAuth-токен, решается повторным openclaw onboard (шаг модели).
Бот отвечает ошибками вместо текста. Для Telegram политика ошибок — channels.telegram.errorPolicy. Значения: always (по умолчанию — каждая ошибка в чат), once (уникальная ошибка раз за окно errorCooldownMs, дефолт 4 часа), silent (в чат не слать). Пример — чтобы бот молчал при ошибках:
"channels": {
"telegram": {
"errorPolicy": "silent"
}
}
Общая диагностика. openclaw doctor --fix проверяет конфиг, зависимости и каналы. Запускай после любых изменений в конфиге.
Что дальше
Бот работает и отвечает в личке. Но пока он один на один с тобой и без особых умений. В следующем уроке прокачаем его:
- Создадим личность бота — расскажем ему, кто мы и кем он должен быть
- Повысим права бота для работы через Telegram
- Поставим полезные навыки (поиск, Google Workspace)
- Добавим бота в групповой чат Telegram (с настройкой
groupsиgroupPolicy)
Если что-то не получается или есть вопросы — заходи в телеграм-канал курса. Там помогут разобраться.