Fundamentals
OAuth
OpenClaw підтримує "автентифікацію за підпискою" через OAuth для провайдерів, які її пропонують (зокрема OpenAI Codex (ChatGPT OAuth)). Для Anthropic практичний поділ тепер такий:
- API-ключ Anthropic: звичайний білінг Anthropic API
- Anthropic Claude CLI / автентифікація за підпискою всередині OpenClaw: співробітники Anthropic повідомили нам, що таке використання знову дозволене
OpenAI Codex OAuth явно підтримується для використання в зовнішніх інструментах, як-от OpenClaw.
OpenClaw зберігає як автентифікацію API-ключем OpenAI, так і ChatGPT/Codex OAuth під
канонічним ідентифікатором провайдера openai. Старі ідентифікатори профілів openai-codex:* і
записи auth.order.openai-codex є застарілим станом, який виправляє
openclaw doctor --fix; для нової конфігурації використовуйте ідентифікатори профілів openai:* і auth.order.openai.
Для Anthropic у production рекомендований безпечніший шлях — автентифікація API-ключем.
Ця сторінка пояснює:
- як працює обмін токена OAuth (PKCE)
- де зберігаються токени (і чому)
- як працювати з кількома обліковими записами (профілі + перевизначення для окремих сесій)
OpenClaw також підтримує провайдерські Plugin-и, які постачають власні потоки OAuth або API-ключів. Запускайте їх так:
openclaw models auth login --provider <id>Приймач токенів (чому він існує)
OAuth-провайдери часто створюють новий refresh token під час потоків входу/оновлення. Деякі провайдери (або OAuth-клієнти) можуть інвалідовувати старі refresh token-и, коли для того самого користувача/застосунку видається новий.
Практичний симптом:
- ви входите через OpenClaw і через Claude Code / Codex CLI → один із них згодом випадково "виходить із системи"
Щоб зменшити це, OpenClaw розглядає auth-profiles.json як приймач токенів:
- runtime читає облікові дані з одного місця
- ми можемо зберігати кілька профілів і маршрутизувати їх детерміновано
- повторне використання зовнішнього CLI залежить від провайдера: Codex CLI може ініціалізувати порожній
профіль
openai:default, але щойно OpenClaw має локальний OAuth-профіль, локальний refresh token стає канонічним. Якщо цей локальний refresh token відхилено, OpenClaw повідомляє про керований профіль для повторної автентифікації замість використання токенних матеріалів Codex CLI як sibling runtime fallback. Інші інтеграції можуть залишатися керованими зовні й повторно читати своє сховище автентифікації CLI - шляхи статусу та запуску, які вже знають налаштований набір провайдерів, обмежують виявлення зовнішнього CLI цим набором, тож сховище входу непов’язаного CLI не перевіряється для налаштування з одним провайдером
Зберігання (де живуть токени)
Секрети зберігаються в agent auth stores:
- Профілі автентифікації (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
Про статичні посилання на секрети та поведінку активації runtime-знімка дивіться Керування секретами.
Коли вторинний агент не має локального профілю автентифікації, OpenClaw використовує наскрізне
успадкування під час читання зі сховища стандартного/основного агента. Він не клонує
auth-profiles.json основного агента під час читання. OAuth refresh token-и особливо
чутливі: звичайні потоки копіювання типово пропускають їх, оскільки деякі провайдери ротують
або інвалідовують refresh token-и після використання. Налаштуйте окремий OAuth-вхід для
агента, коли йому потрібен незалежний обліковий запис.
Сумісність із застарілими токенами Anthropic
OpenClaw також надає setup-token Anthropic як підтримуваний шлях token-auth, але тепер віддає перевагу повторному використанню Claude CLI і claude -p, коли вони доступні.
Міграція Anthropic Claude CLI
OpenClaw знову підтримує повторне використання Anthropic Claude CLI. Якщо на хості вже є локальний вхід Claude, onboarding/configure може повторно використати його напряму.
Обмін OAuth (як працює вхід)
Інтерактивні потоки входу OpenClaw реалізовано в openclaw/plugin-sdk/llm і під’єднано до майстрів/команд.
Anthropic setup-token
Форма потоку:
- запустити Anthropic setup-token або paste-token з OpenClaw
- OpenClaw зберігає отримані облікові дані Anthropic у профілі автентифікації
- вибір моделі залишається на
anthropic/... - наявні профілі автентифікації Anthropic залишаються доступними для rollback/керування порядком
OpenAI Codex (ChatGPT OAuth)
OpenAI Codex OAuth явно підтримується для використання поза Codex CLI, зокрема в робочих процесах OpenClaw.
Команда входу й надалі використовує канонічний ідентифікатор провайдера OpenAI:
openclaw models auth login --provider openaiВикористовуйте --profile-id openai:<name> для кількох облікових записів ChatGPT/Codex OAuth в
одному агенті. Не використовуйте openai-codex:<name> для нових профілів. Doctor мігрує
цей старіший префікс у безконфліктний ідентифікатор профілю openai:*; після виправлення запустіть
openclaw models auth list --provider openai, перш ніж копіювати
ідентифікатори профілів у auth.order або /model ...@<profileId>.
Форма потоку (PKCE):
- згенерувати PKCE verifier/challenge + випадковий
state - відкрити
https://auth.openai.com/oauth/authorize?... - спробувати перехопити callback на
http://127.0.0.1:1455/auth/callback - якщо callback не може прив’язатися (або ви працюєте віддалено/headless), вставити redirect URL/code
- виконати обмін на
https://auth.openai.com/oauth/token - витягти
accountIdз access token і зберегти{ access, refresh, expires, accountId }
Шлях у майстрі: openclaw onboard → вибір автентифікації openai.
Оновлення + закінчення строку дії
Профілі зберігають мітку часу expires.
Під час runtime:
- якщо
expiresу майбутньому → використовується збережений access token - якщо строк дії минув → виконується refresh (під файловим блокуванням) і збережені облікові дані перезаписуються
- якщо вторинний агент читає успадкований OAuth-профіль основного агента, refresh записує назад у сховище основного агента замість копіювання refresh token-а в сховище вторинного агента
- виняток: деякі зовнішні облікові дані CLI залишаються керованими зовні; OpenClaw
повторно читає ці сховища автентифікації CLI замість витрачання скопійованих refresh token-ів.
Ініціалізація Codex CLI навмисно вужча: вона може заповнити порожній
openai:defaultабо явно запитаний профіль OpenAI лише до того, як OpenClaw почне володіти OAuth для провайдера. Після цього оновлення, якими володіє OpenClaw, зберігають локальні профілі канонічними, а виявлення не додає автентифікацію Codex CLI в жоден sibling slot. Якщо керований refresh завершується невдало, OpenClaw повідомляє про уражений профіль для повторної автентифікації замість повернення токенних матеріалів зовнішнього CLI.
Потік refresh автоматичний; зазвичай вам не потрібно керувати токенами вручну.
Кілька облікових записів (профілі) + маршрутизація
Два шаблони:
1) Рекомендовано: окремі агенти
Якщо ви хочете, щоб "особисте" і "робоче" ніколи не взаємодіяли, використовуйте ізольованих агентів (окремі сесії + облікові дані + workspace):
openclaw agents add workopenclaw agents add personalПотім налаштуйте автентифікацію для кожного агента (майстер) і маршрутизуйте чати до правильного агента.
2) Розширено: кілька профілів в одному агенті
auth-profiles.json підтримує кілька ідентифікаторів профілів для того самого провайдера.
Виберіть, який профіль використовується:
- глобально через порядок у конфігурації (
auth.order) - для окремої сесії через
/model ...@<profileId>
Приклад (перевизначення сесії):
/model Opus@anthropic:work
Як переглянути наявні ідентифікатори профілів:
openclaw channels list --json(показуєauth[])
Пов’язані документи:
- Model failover (правила ротації + cooldown)
- Slash commands (поверхня команд)
Пов’язане
- Автентифікація - огляд автентифікації провайдера моделей
- Секрети - зберігання облікових даних і SecretRef
- Довідник конфігурації - ключі конфігурації автентифікації