Community translations by veiseule.ai — Help improve them on Crowdin
Skip to main content

OAuth

OpenClaw поддерживает «subscription auth» через OAuth для провайдеров, которые его предлагают (в частности, OpenAI Codex (ChatGPT OAuth)). Для подписок Anthropic используйте поток setup-token. На этой странице объясняется:

  • как работает обмен токенов OAuth (PKCE)
  • где хранятся токены (и почему)
  • как обрабатывать несколько аккаунтов (профили + переопределения на сеанс)

OpenClaw также поддерживает плагины провайдеров, которые поставляются с собственными потоками OAuth или API‑ключей. Запускайте их через:

openclaw models auth login --provider <id>

Снимок токена (зачем он существует)

OAuth‑провайдеры обычно выпускают новый refresh‑токен во время входа или обновления. Некоторые провайдеры (или OAuth‑клиенты) могут инвалидировать более старые refresh‑токены, когда для того же пользователя/приложения выпускается новый.

Практический симптом:

  • вы входите через OpenClaw и через Claude Code / Codex CLI → один из них позже «случайно» оказывается разлогинен

Чтобы уменьшить это, OpenClaw рассматривает auth-profiles.json как приёмник токенов:

  • среда выполнения читает учётные данные из одного места
  • можно хранить несколько профилей и маршрутизировать их детерминированно

Хранение (где живут токены)

Секреты хранятся для каждого агента:

  • Профили аутентификации (OAuth + API‑ключи): ~/.openclaw/agents/<agentId>/agent/auth-profiles.json
  • Кэш среды выполнения (управляется автоматически; не редактируйте): ~/.openclaw/agents/<agentId>/agent/auth.json

Устаревший файл только для импорта (по‑прежнему поддерживается, но не является основным хранилищем):

  • ~/.openclaw/credentials/oauth.json (импортируется в auth-profiles.json при первом использовании)

Всё вышеперечисленное также учитывает $OPENCLAW_STATE_DIR (переопределение каталога состояния). Полная справка: /gateway/configuration

Anthropic — токен настройки (аутентификация по подписке)

Запустите claude setup-token на любой машине, затем вставьте его в OpenClaw:

openclaw models auth setup-token --provider anthropic

Если вы сгенерировали токен в другом месте, вставьте его вручную:

openclaw models auth paste-token --provider anthropic

Проверка:

openclaw models status

Обмен OAuth (как работает вход)

Интерактивные потоки входа OpenClaw реализованы в @mariozechner/pi-ai и подключены к мастерам/командам.

Anthropic (Claude Pro/Max) — токен настройки

Форма потока:

  1. запустите claude setup-token
  2. вставьте токен в OpenClaw
  3. сохраните как профиль аутентификации по токену (без обновления)

Путь в мастере: openclaw onboard → выбор аутентификации setup-token (Anthropic).

OpenAI Codex (ChatGPT OAuth)

Форма потока (PKCE):

  1. сгенерировать PKCE verifier/challenge + случайный state
  2. открыть https://auth.openai.com/oauth/authorize?...
  3. попытаться перехватить callback на http://127.0.0.1:1455/auth/callback
  4. если callback не может быть привязан (или вы работаете удалённо/без интерфейса), вставить URL перенаправления/код
  5. выполнить обмен на https://auth.openai.com/oauth/token
  6. извлечь accountId из access‑токена и сохранить { access, refresh, expires, accountId }

Путь в мастере: openclaw onboard → выбор аутентификации openai-codex.

Обновление + истечение срока действия

Профили хранят временную метку expires.

Во время выполнения:

  • если expires находится в будущем → используется сохранённый access‑токен
  • если срок истёк → выполняется обновление (под файловой блокировкой) и сохранённые учётные данные перезаписываются

Поток обновления автоматический; обычно вам не нужно управлять токенами вручную.

Несколько аккаунтов (профили) + маршрутизация

Два шаблона:

1. Предпочтительно: отдельные агенты

Если вы хотите, чтобы «личное» и «рабочее» никогда не пересекались, используйте изолированные агенты (отдельные сеансы + учётные данные + рабочее пространство):

openclaw agents add work
openclaw agents add personal

Затем настройте аутентификацию для каждого агента (через мастер) и направляйте чаты к нужному агенту.

2. Продвинуто: несколько профилей в одном агенте

auth-profiles.json поддерживает несколько идентификаторов профилей для одного и того же провайдера.

Выбор используемого профиля:

  • глобально через порядок в конфиге (auth.order)
  • для конкретного сеанса через /model ...@<profileId>

Пример (переопределение на сеанс):

  • /model Opus@anthropic:work

Как посмотреть, какие идентификаторы профилей существуют:

  • openclaw channels list --json (показывает auth[])

Связанная документация: