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
Схема потока:
- запустите
claude setup-token - вставьте токен в OpenClaw
- сохраните как профиль аутентификации с токеном (без обновления)
Путь через мастер: openclaw onboard → выбор аутентификации setup-token (Anthropic).
OpenAI Codex (ChatGPT OAuth)
OAuth для OpenAI Codex явно поддерживается для использования вне CLI Codex, включая рабочие процессы OpenClaw. Схема потока (PKCE):
- сгенерируйте PKCE verifier/challenge + случайный
state - откройте
https://auth.openai.com/oauth/authorize?... - попытайтесь перехватить callback на
http://127.0.0.1:1455/auth/callback - если callback не может быть привязан (или вы работаете удаленно/без графического интерфейса), вставьте URL/код перенаправления
- обмен на
https://auth.openai.com/oauth/token - извлеките
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[])
Связанная документация:
- /concepts/model-failover (правила ротации и охлаждения)
- /tools/slash-commands (поверхность команд)