OAuth
OpenClaw підтримує «автентифікацію за підпискою» через OAuth для провайдерів, які її пропонують (зокрема OpenAI Codex (ChatGPT OAuth)). Для Anthropic практичний поділ тепер такий:- Ключ API Anthropic: звичайна тарифікація Anthropic API
- Anthropic Claude CLI / автентифікація за підпискою всередині OpenClaw: співробітники Anthropic повідомили нам, що таке використання знову дозволене
- як працює обмін токенами OAuth (PKCE)
- де зберігаються токени (і чому)
- як працювати з кількома обліковими записами (профілі + перевизначення для окремої сесії)
Сховище токенів (навіщо воно існує)
OAuth-провайдери зазвичай випускають новий refresh token під час входу або оновлення токенів. Деякі провайдери (або OAuth-клієнти) можуть анулювати старі refresh token, коли для того самого користувача/застосунку видається новий. Практичний симптом:- ви входите через OpenClaw і через Claude Code / Codex CLI → один із них пізніше випадково «вилітає з системи»
auth-profiles.json як сховище токенів:
- runtime читає облікові дані з одного місця
- ми можемо зберігати кілька профілів і детерміновано їх маршрутизувати
- коли облікові дані повторно використовуються із зовнішнього CLI, як-от Codex CLI, OpenClaw дзеркалює їх разом із даними про походження та повторно зчитує це зовнішнє джерело замість того, щоб самостійно оновлювати refresh token
Зберігання (де живуть токени)
Секрети зберігаються для кожного агента окремо:- Профілі автентифікації (OAuth + API keys + необов’язкові посилання на значення):
~/.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 snapshot див. Керування секретами.
Сумісність зі старими токенами Anthropic
OpenClaw також надає setup-token Anthropic як підтримуваний шлях автентифікації за токеном, але тепер надає перевагу повторному використанню Claude CLI таclaude -p, коли це можливо.
Міграція Anthropic Claude CLI
OpenClaw знову підтримує повторне використання Anthropic Claude CLI. Якщо у вас уже є локальний вхід у Claude на хості, onboarding/configure може повторно використати його безпосередньо.OAuth exchange (як працює вхід)
Інтерактивні потоки входу OpenClaw реалізовані в@mariozechner/pi-ai і підключені до майстрів/команд.
Anthropic setup-token
Форма потоку:- запустіть Anthropic setup-token або paste-token з OpenClaw
- OpenClaw зберігає отримані облікові дані Anthropic у профілі автентифікації
- вибір моделі залишається на
anthropic/... - наявні профілі автентифікації Anthropic залишаються доступними для відкату/керування порядком
OpenAI Codex (ChatGPT OAuth)
OpenAI Codex OAuth офіційно підтримується для використання поза Codex CLI, зокрема у workflow OpenClaw. Форма потоку (PKCE):- згенерувати verifier/challenge PKCE + випадковий
state - відкрити
https://auth.openai.com/oauth/authorize?... - спробувати перехопити callback на
http://127.0.0.1:1455/auth/callback - якщо callback не вдається прив’язати (або ви працюєте віддалено / без headless), вставте redirect URL/code
- виконати exchange на
https://auth.openai.com/oauth/token - витягти
accountIdз access token і зберегти{ access, refresh, expires, accountId }
openclaw onboard → вибір автентифікації openai-codex.
Оновлення + строк дії
Профілі зберігають часову позначкуexpires.
Під час runtime:
- якщо
expiresу майбутньому → використовуйте збережений access token - якщо строк дії минув → оновіть (під файловим блокуванням) і перезапишіть збережені облікові дані
- виняток: повторно використані облікові дані зовнішнього CLI залишаються під зовнішнім керуванням; OpenClaw повторно зчитує сховище автентифікації CLI і ніколи сам не витрачає скопійований refresh token
Кілька облікових записів (профілі) + маршрутизація
Два шаблони:1) Бажано: окремі агенти
Якщо ви хочете, щоб «особистий» і «робочий» ніколи не взаємодіяли, використовуйте ізольованих агентів (окремі сесії + облікові дані + робочий простір):2) Розширено: кілька профілів в одному агенті
auth-profiles.json підтримує кілька ID профілів для одного провайдера.
Вибрати, який профіль використовується:
- глобально через порядок у конфігурації (
auth.order) - для окремої сесії через
/model ...@<profileId>
/model Opus@anthropic:work
openclaw channels list --json(показуєauth[])
- /concepts/model-failover (правила ротації + cooldown)
- /tools/slash-commands (поверхня команд)
Пов’язане
- Автентифікація — огляд автентифікації провайдерів моделей
- Секрети — зберігання облікових даних і SecretRef
- Довідник з конфігурації — ключі конфігурації автентифікації