Настройка OpenClaw: API-ключи, выбор модели и подключение Telegram
Первичная настройка OpenClaw — это три вещи, и больше ничего: подключить провайдера нейросети и его API-ключ, выбрать модель по умолчанию и подключить канал, через который вы будете писать агенту. Всё это делает мастер openclaw onboard, а результат ложится в один файл ~/.openclaw/openclaw.json, который дальше правится командой openclaw config set. Ниже — пошаговый разбор каждого из трёх шагов: что мастер спрашивает, где именно оказывается ваш ключ, как переключить модель уже после установки и как довести Telegram-бота до состояния, когда он отвечает только вам. Все команды и ключи конфигурации сверены с официальной документацией OpenClaw на теге релиза v2026.7.1-2 (текущий канал latest в npm на 18 августа 2026 года; параллельно поддерживается канал extended-stable — версия 2026.6.34).
Статья продолжает нашу инструкцию по установке OpenClaw и предполагает, что программа уже стоит, а openclaw --version что-то отвечает. Если ещё нет — начните с неё.
Что должно быть готово до настройки
- Подходящая версия Node.js. Пакет
openclawверсии 2026.7.1-2 объявляет вengines:>=22.22.3 <23 || >=24.15.0 <25 || >=25.9.0. То есть годятся Node 22.22.3+, 24.15+ или 25.9+ — промежуточные ветки не подойдут. - Ключ хотя бы одного провайдера нейросети — OpenAI, Anthropic, Google или другого. Ключ выпускается в личном кабинете провайдера и оплачивается напрямую ему, по факту израсходованных токенов; это отдельные от самого OpenClaw деньги.
- Аккаунт в мессенджере, через который вы планируете общаться с агентом. В примерах ниже — Telegram; в документации OpenClaw описаны также WhatsApp, Slack, Discord, Signal, Matrix, iMessage и ещё десяток каналов.
Где живёт конфигурация
Вся настройка OpenClaw — это один JSON-файл. Путь к активному файлу всегда можно спросить у программы:
openclaw config file
openclaw config get agents.defaults.model --json
openclaw config validate
По умолчанию это ~/.openclaw/openclaw.json; путь переопределяется переменной окружения OPENCLAW_CONFIG_PATH. Три вещи, которые полезно знать про этот файл сразу:
- Правьте его командой, а не редактором.
openclaw config set <путь> <значение>проверяет всю конфигурацию целиком перед записью. Если результат не проходит проверку схемы, активный файл остаётся нетронутым, а отвергнутая версия сохраняется рядом какopenclaw.json.rejected.*— её можно посмотреть и понять, что именно сломалось. - Комментарии не переживут запись. Файл читается как JSON5, но собственные записи OpenClaw пересохраняют его как обычный JSON и удаляют комментарии, предупредив об этом.
- Симлинк вместо файла не поддерживается для записи. Если вы держите конфиги в отдельном репозитории и линкуете их, укажите реальный путь через
OPENCLAW_CONFIG_PATH, иначе записи будут отвергаться.
Проверить синтаксис в любой момент — openclaw config validate. Это первое, что стоит запускать после ручной правки.
Шаг 1. Провайдер нейросети и API-ключ
Штатный путь — мастер:
openclaw onboard
Мастер показывает предупреждение о безопасности, спрашивает имя первого агента и задаёт один принципиальный вопрос: разрешить ли ему осмотреться в системе («full access») или спрашивать перед каждым действием («ask first»). Выбор сохраняется как wizard.accessMode. С разрешённым поиском мастер сам находит уже доступные вам маршруты — по настроенным моделям, по переменным окружения с API-ключами и по установленным локальным CLI-инструментам, — и проверяет кандидата живым запросом к модели. Это важная деталь: OpenClaw сохраняет только тот маршрут и тот ключ, которые реально ответили. Неудачная попытка не перезатирает уже настроенную модель и не сохраняет введённый ключ.
Если автоопределение ничего не нашло, появляется список провайдеров: сначала OpenAI, Anthropic, xAI (Grok), Google и OpenRouter, а под пунктом «More…» — все остальные, сгруппированные по провайдерам.
Ключ можно добавить и отдельно, без полного прохода мастера:
openclaw models auth login --provider openai --set-default
openclaw models auth paste-api-key --provider openai
openclaw models auth list --provider openai
models auth login запускает штатный сценарий авторизации провайдера (OAuth или ключ). paste-api-key принимает уже выпущенный где-то ключ и кладёт его в профиль с идентификатором <провайдер>:manual, если не указать --profile-id. В скриптах ключ передают через стандартный ввод, чтобы он не осел в истории командной строки и в списке процессов:
printf "%s\n" "$OPENAI_API_KEY" | openclaw models auth paste-api-key --provider openai
models auth list показывает сохранённые профили и не печатает сами ключи и токены.
Уже на этом шаге видно, во что на дистанции превращается «настройка за пять минут»: ключ нужно где-то хранить, ротировать, не давать ему утечь в резервные копии и логи, а агенту с доступом к оболочке — ограничить права. Это не установка, это эксплуатация. Если заниматься ей внутри компании некому, мы развернём агента на управляемом хостинге и возьмём обновления и ключи на себя — вы получаете работающего агента, а не проект по системному администрированию.
Ключ в открытом виде или ссылкой на переменную
По умолчанию ключ сохраняется в конфигурацию как есть. Вариант аккуратнее — хранить не ключ, а ссылку на переменную окружения. За это отвечает режим --secret-input-mode ref:
export OPENAI_API_KEY="ваш-ключ-провайдера"
openclaw onboard --non-interactive --accept-risk --skip-health \
--auth-choice openai-api-key \
--secret-input-mode ref
В этом режиме профиль авторизации хранит keyRef вида { source: "env", provider: "default", id: "OPENAI_API_KEY" }, а не значение. Переменная провайдера при этом должна быть задана в окружении — иначе команда завершится с ошибкой сразу, а не молча. Уже сохранённые ранее ключи в открытом виде автоматически не переносятся: для них есть openclaw secrets configure --apply и затем openclaw secrets audit --check.
Полезные имена переменных, которые OpenClaw читает сам: OPENAI_API_KEY, ANTHROPIC_API_KEY, GEMINI_API_KEY (с запасным GOOGLE_API_KEY). У каждого провайдера есть и форма для нескольких ключей — например OPENAI_API_KEYS, OPENAI_API_KEY_1, OPENAI_API_KEY_2.
Шаг 2. Выбор модели по умолчанию
Посмотреть, что вообще доступно с вашими ключами, и назначить модель:
openclaw models list
openclaw models list --provider openai
openclaw models set openai/gpt-5.6
models list — команда только на чтение: она смотрит конфигурацию, профили авторизации и каталог моделей, но ничего не перезаписывает. models set записывает выбор в ключ agents.defaults.model.primary и принимает либо пару провайдер/модель, либо заранее заведённый алиас.
Три правила, на которых спотыкаются чаще всего:
- Провайдер должен быть известен. Если провайдер не объявлен установленным плагином и не описан в
models.providers, команда завершится с ненулевым кодом и не изменит конфигурацию. - Незнакомая модель — это предупреждение, а не отказ. Если провайдер известен, а модели нет в локальном каталоге, выбор всё равно сохранится с предупреждением: свежие и самостоятельно развёрнутые модели просто ещё не попали в каталог.
- Ссылка на модель разбирается по первому слэшу. Поэтому для моделей, у которых слэш есть в самом идентификаторе, префикс провайдера обязателен:
openrouter/moonshotai/kimi-k2.
Запасные модели на случай, когда основная недоступна, живут в отдельном списке agents.defaults.model.fallbacks:
openclaw models fallbacks list
openclaw models fallbacks add anthropic/claude-opus-4-8
Проверить, что с авторизацией и маршрутами всё в порядке, можно без запуска агента:
openclaw models status
openclaw models status --check
--check удобен для мониторинга: он возвращает код 1, если авторизация просрочена или недоступна, и 2, если она истекает.
Шаг 3. Подключение Telegram
Telegram в OpenClaw работает на длинном опросе (long polling) по умолчанию; режим вебхука — опциональный. Порядок такой.
Создайте бота. В Telegram напишите @BotFather (проверьте, что имя ровно такое), выполните команду /newbot, пройдите по подсказкам и сохраните токен.
Пропишите токен и политику личных сообщений в конфигурации:
{
channels: {
telegram: {
enabled: true,
botToken: "123:abc",
dmPolicy: "pairing",
groups: { "*": { requireMention: true } },
},
},
}
Здесь dmPolicy: "pairing" — политика по умолчанию для Telegram: незнакомец не сможет просто написать боту, ему потребуется одобрение. requireMention: true означает, что в группах бот отвечает только на прямые упоминания.
Токен можно задать и переменной окружения TELEGRAM_BOT_TOKEN, но только для аккаунта по умолчанию: именованные аккаунты обязаны использовать botToken или tokenFile. Приоритет разрешения токена: tokenFile сильнее botToken, а тот сильнее переменной окружения. И отдельно: команды openclaw channels login telegram не существует — Telegram настраивается только через конфигурацию или переменную окружения.
Запустите шлюз и одобрите первое сообщение:
openclaw gateway
openclaw pairing list telegram
openclaw pairing approve telegram <КОД>
Напишите боту в личку — заявка появится в pairing list. Коды одобрения живут один час, после чего надо запрашивать заново.
Если нужен бот в группе, добавьте его туда и соберите два идентификатора: ваш собственный Telegram-ID (для allowFrom / groupAllowFrom) и ID группового чата — он становится ключом внутри channels.telegram.groups. ID чата видно в openclaw logs --follow. После того как группа разрешена, команда /whoami@<имя_бота> покажет оба идентификатора. Отрицательные ID супергрупп, начинающиеся с -100, — это именно ID чата, и они идут в groups, а не в groupAllowFrom.
Отдельная засада — режим приватности Telegram. По умолчанию бот видит в группе не все сообщения. Либо отключите приватность через /setprivacy у BotFather, либо сделайте бота администратором группы. И то и другое требует удалить бота из группы и добавить заново — иначе Telegram не применит изменение.
Агент с доступом к оболочке и к вашей переписке — это не просто удобный чат-бот, а исполняемый контур с правами. Разграничение доступа, изоляция и журналирование здесь не «этап потом», а часть первичной настройки: если контур нужно выстроить по-взрослому, мы закроем периметр агента и настроим разграничение прав.
Шаг 4. Проверка, что всё живо
openclaw gateway status
openclaw models status --check
openclaw config validate
openclaw doctor
openclaw doctor — общая диагностика; openclaw doctor --fix дополнительно чинит повреждённую или затёртую конфигурацию и восстанавливает последнюю рабочую копию. Если после ручной правки шлюз не стартует, начинать разбор стоит именно с этой пары команд.
Пять типичных граблей
- Правка конфигурации в редакторе «на живую». Работающий шлюз считает прямые правки недоверенными, пока они не пройдут проверку: невалидная правка либо валит запуск, либо игнорируется горячей перезагрузкой.
- Ожидание, что
models setнастроит конкретного агента. Команда всегда пишет значения по умолчанию для всех агентов и--agentне принимает вовсе. - Модель без префикса провайдера. Без префикса OpenClaw сначала попробует разобрать строку как алиас, затем как однозначное совпадение и только потом откатится к провайдеру по умолчанию — с предупреждением об устаревшем поведении.
- Смена токена бота без перезапуска. После успешного старта OpenClaw кэширует личность бота до 24 часов; смена или удаление токена этот кэш сбрасывает.
- Ключ провайдера в открытом виде в резервной копии. Если конфигурация уезжает в бэкап или репозиторий, переводите ключи в режим ссылок (
--secret-input-mode ref) до, а не после первой утечки.
Когда не стоит настраивать самому
Инструкция выше рабочая — по ней можно дойти до конца самостоятельно, и мы намеренно не выкинули из неё ни одного шага. Вопрос в другом: сколько это стоит вашего времени дальше. Первичная настройка — это час-два. Эксплуатация — это обновления, ротация ключей, разбор падений шлюза, контроль расходов на токены, изоляция агента с доступом к оболочке и резервные копии переписки и памяти. Если внутри компании нет человека, которому это можно отдать как постоянную задачу, дешевле взять готовый результат: мы разворачиваем и сопровождаем агентов по подписке, а нейросеть, сервер и резервные копии оплачиваются сверх неё — напрямую поставщикам или одним счётом через нас. Актуальные условия — на странице тарифов.
Частые вопросы
Можно ли обойтись без API-ключа облачного провайдера?
Да, если использовать локальную модель. В мастере для этого есть отдельные варианты: --auth-choice ollama (по умолчанию базовый адрес http://127.0.0.1:11434) и --auth-choice lmstudio. Плата за токены исчезает, но появляются требования к железу и ограничение по тому, какие модели на нём помещаются.
Можно ли настроить OpenClaw полностью скриптом, без диалогов?
Да. Режим --non-interactive требует явного --accept-risk — подтверждения, что вы понимаете риски выдачи агенту широкого доступа к системе. Флаг --classic с ним несовместим: для автоматизации его просто не указывают.
Как переключить модель, ничего не сломав?
Штатные пути замены основной модели — openclaw models set и openclaw models auth login --set-default. Обычный повторный проход мастера и переавторизация явно выбранную основную модель сохраняют.
Где посмотреть, какой файл конфигурации сейчас активен?
openclaw config file (или openclaw config file --json). Команда печатает путь, разрешённый из OPENCLAW_CONFIG_PATH либо из расположения по умолчанию.
Если после настройки вы хотите не «агента в терминале», а рабочего ассистента, который живёт в вашем чате и решает задачи компании, — соберём AI-ассистента в Telegram под ваши процессы и доведём его до ежедневной работы.
Источники: официальная документация OpenClaw на теге релиза v2026.7.1-2 — разделы docs/cli/onboard, docs/cli/models, docs/cli/config, docs/concepts/model-providers, docs/channels/telegram, docs/cli/pairing, docs/gateway/secrets; требования к Node.js — поле engines пакета openclaw@2026.7.1-2 в реестре npm. Проверено 18 августа 2026 года.