Перейти к содержимому
10 мин чтения

Настройка OpenClaw: API-ключи, выбор модели и подключение Telegram

openclawнастройкаинструкцияai-агенты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 года.