Основы

OAuth

OpenClaw поддерживает «аутентификацию подписки» через OAuth для провайдеров, которые её предлагают (в частности, OpenAI Codex (ChatGPT OAuth)). Для подписок Anthropic используйте поток setup-token. Использование подписки Anthropic вне Claude Code в прошлом ограничивалось для некоторых пользователей, поэтому относитесь к этому как к риску, зависящему от выбора пользователя, и самостоятельно проверяйте текущую политику Anthropic. OAuth для OpenAI Codex явно поддерживается для использования во внешних инструментах, таких как OpenClaw. На этой странице объясняется: Для Anthropic в продакшене аутентификация по API-ключу — более безопасный рекомендуемый путь, чем аутентификация подписки через setup-token.

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

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

openclaw models auth login --provider <id>

Приемник токенов (почему он существует)

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

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

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

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

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

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

  • Профили аутентификации (OAuth + API-ключи + опциональные ссылки на уровне значений): ~/.openclaw/agents/<agentId>/agent/auth-profiles.json
  • Файл для обратной совместимости: ~/.openclaw/agents/<agentId>/agent/auth.json (статические записи api_key удаляются при обнаружении)

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

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

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

Anthropic setup-token (аутентификация подписки)

⚠️ Поддержка Anthropic setup-token — это техническая совместимость, а не гарантия политики. Anthropic в прошлом блокировал использование некоторых подписок вне Claude Code. Решите сами, использовать ли аутентификацию подписки, и проверьте текущие условия 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 setup-token

Схема потока:

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

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

OpenAI Codex (ChatGPT OAuth)

OAuth для OpenAI Codex явно поддерживается для использования вне CLI Codex, включая рабочие процессы OpenClaw. Схема потока (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 token'а и сохраните { access, refresh, expires, accountId }

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

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

Профили хранят метку времени expires. Во время выполнения:

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

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

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

Две модели:

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[])

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

Рабочее пространство агентаНачальная настройка