Gateway
Автентифікація
OpenClaw підтримує OAuth і API-ключі для постачальників моделей. Для постійно ввімкнених хостів Gateway API-ключі зазвичай є найпередбачуванішим варіантом. Потоки підписки/OAuth також підтримуються, коли вони відповідають моделі облікового запису вашого постачальника.
Див. /concepts/oauth, щоб ознайомитися з повним потоком OAuth і схемою
зберігання.
Для автентифікації на основі SecretRef (постачальники env/file/exec) див. Керування секретами.
Правила відповідності облікових даних і кодів причин, які використовує models status --probe, див.
у Семантиці облікових даних автентифікації.
Рекомендоване налаштування (API-ключ, будь-який постачальник)
Якщо ви запускаєте довготривалий Gateway, почніть з API-ключа для вибраного постачальника. Зокрема для Anthropic автентифікація за API-ключем усе ще є найпередбачуванішим серверним налаштуванням, але OpenClaw також підтримує повторне використання локального входу Claude CLI.
- Створіть API-ключ у консолі свого постачальника.
- Розмістіть його на хості Gateway (машині, де виконується
openclaw gateway).
export <PROVIDER>_API_KEY="..."
openclaw models status
- Якщо Gateway працює під systemd/launchd, краще розмістити ключ у
~/.openclaw/.env, щоб демон міг його прочитати:
cat >> ~/.openclaw/.env <<'EOF'
<PROVIDER>_API_KEY=...
EOF
Потім перезапустіть демон (або перезапустіть процес Gateway) і перевірте ще раз:
openclaw models status
openclaw doctor
Якщо ви не хочете самостійно керувати змінними середовища, онбординг може зберігати
API-ключі для використання демоном: openclaw onboard.
Докладніше про успадкування середовища (env.shellEnv,
~/.openclaw/.env, systemd/launchd) див. у Довідці.
Anthropic: сумісність Claude CLI і токенів
Автентифікація setup-token Anthropic досі доступна в OpenClaw як підтримуваний
шлях токена. Співробітники Anthropic відтоді повідомили нам, що використання Claude CLI
у стилі OpenClaw знову дозволене, тому OpenClaw вважає повторне використання Claude CLI
і використання claude -p санкціонованими для цієї інтеграції, якщо Anthropic не опублікує нову політику. Коли
повторне використання Claude CLI доступне на хості, тепер це рекомендований шлях.
Для довготривалих хостів Gateway API-ключ Anthropic усе ще є найпередбачуванішим налаштуванням. Якщо ви хочете повторно використати наявний вхід Claude на тому самому хості, використайте шлях Anthropic Claude CLI в онбордингу/конфігурації.
Рекомендоване налаштування хоста для повторного використання Claude CLI:
# Run on the gateway host
claude auth login
claude auth status --text
openclaw models auth login --provider anthropic --method cli --set-default
Це двокрокове налаштування:
- Увійдіть у сам Claude Code до Anthropic на хості Gateway.
- Повідомте OpenClaw, щоб він перемкнув вибір моделей Anthropic на локальний бекенд
claude-cliі зберіг відповідний профіль автентифікації OpenClaw.
Якщо claude відсутній у PATH, спочатку встановіть Claude Code або задайте
agents.defaults.cliBackends.claude-cli.command як реальний шлях до виконуваного файла.
Ручне введення токена (будь-який постачальник; записує auth-profiles.json і оновлює конфігурацію):
openclaw models auth paste-token --provider openrouter
auth-profiles.json зберігає лише облікові дані. Канонічна форма така:
{
"version": 1,
"profiles": {
"openrouter:default": {
"type": "api_key",
"provider": "openrouter",
"key": "OPENROUTER_API_KEY"
}
}
}
OpenClaw під час виконання очікує канонічну форму version + profiles. Якщо в старішій інсталяції досі є плаский файл, наприклад { "openrouter": { "apiKey": "..." } }, виконайте openclaw doctor --fix, щоб переписати його як профіль API-ключа openrouter:default; doctor збереже копію .legacy-flat.*.bak поруч з оригіналом. Деталі кінцевої точки, як-от baseUrl, api, ідентифікатори моделей, заголовки й тайм-аути, мають бути в models.providers.<id> у openclaw.json або models.json, а не в auth-profiles.json.
Зовнішні маршрути автентифікації, як-от Bedrock auth: "aws-sdk", також не є обліковими даними. Якщо вам потрібен іменований маршрут Bedrock, розмістіть auth.profiles.<id>.mode: "aws-sdk" в openclaw.json; не записуйте type: "aws-sdk" у auth-profiles.json. openclaw doctor --fix переносить застарілі маркери AWS SDK зі сховища облікових даних у метадані конфігурації.
Посилання на профілі автентифікації також підтримуються для статичних облікових даних:
- Облікові дані
api_keyможуть використовуватиkeyRef: { source, provider, id } - Облікові дані
tokenможуть використовуватиtokenRef: { source, provider, id } - Профілі в режимі OAuth не підтримують облікові дані SecretRef; якщо
auth.profiles.<id>.modeвстановлено в"oauth", вхідніkeyRef/tokenRefна основі SecretRef для цього профілю відхиляються.
Перевірка, зручна для автоматизації (вихід 1, коли прострочено/відсутнє, 2, коли строк дії завершується):
openclaw models status --check
Живі перевірки автентифікації:
openclaw models status --probe
Примітки:
- Рядки перевірки можуть надходити з профілів автентифікації, облікових даних середовища або
models.json. - Якщо явний
auth.order.<provider>пропускає збережений профіль, перевірка повідомляєexcluded_by_auth_orderдля цього профілю, замість того щоб пробувати його. - Якщо автентифікація існує, але OpenClaw не може визначити придатного для перевірки кандидата моделі для
цього постачальника, перевірка повідомляє
status: no_model. - Періоди cooldown через rate-limit можуть бути прив'язані до моделі. Профіль, що перебуває в cooldown для однієї моделі, усе ще може бути придатним для спорідненої моделі в того самого постачальника.
Необов'язкові операційні скрипти (systemd/Termux) задокументовано тут: Скрипти моніторингу автентифікації
Примітка щодо Anthropic
Бекенд Anthropic claude-cli знову підтримується.
- Співробітники Anthropic повідомили нам, що цей шлях інтеграції OpenClaw знову дозволений.
- Тому OpenClaw вважає повторне використання Claude CLI і використання
claude -pсанкціонованими для запусків із підтримкою Anthropic, якщо Anthropic не опублікує нову політику. - API-ключі Anthropic залишаються найпередбачуванішим вибором для довготривалих хостів Gateway і явного контролю серверного білінгу.
Перевірка стану автентифікації моделей
openclaw models status
openclaw doctor
Поведінка ротації API-ключів (Gateway)
Деякі постачальники підтримують повторну спробу запиту з альтернативними ключами, коли API-виклик натрапляє на rate-limit постачальника.
- Порядок пріоритету:
OPENCLAW_LIVE_<PROVIDER>_KEY(одиночне перевизначення)<PROVIDER>_API_KEYS<PROVIDER>_API_KEY<PROVIDER>_API_KEY_*
- Постачальники Google також включають
GOOGLE_API_KEYяк додатковий fallback. - Той самий список ключів дедуплікується перед використанням.
- OpenClaw повторює спробу з наступним ключем лише для помилок rate-limit (наприклад
429,rate_limit,quota,resource exhausted,Too many concurrent requests,ThrottlingException,concurrency limit reachedабоworkers_ai ... quota limit exceeded). - Помилки, не пов'язані з rate-limit, не повторюються з альтернативними ключами.
- Якщо всі ключі завершуються помилкою, повертається фінальна помилка з останньої спроби.
Керування тим, які облікові дані використовуються
Для сеансу (команда чату)
Використовуйте /model <alias-or-id>@<profileId>, щоб закріпити конкретні облікові дані постачальника для поточного сеансу (приклади ідентифікаторів профілів: anthropic:default, anthropic:work).
Використовуйте /model (або /model list) для компактного вибору; використовуйте /model status для повного подання (кандидати + наступний профіль автентифікації, а також деталі кінцевої точки постачальника, коли налаштовано).
Для агента (перевизначення CLI)
Установіть явне перевизначення порядку профілів автентифікації для агента (зберігається в auth-state.json цього агента):
openclaw models auth order get --provider anthropic
openclaw models auth order set --provider anthropic anthropic:default
openclaw models auth order clear --provider anthropic
Використовуйте --agent <id>, щоб націлитися на конкретного агента; пропустіть його, щоб використати налаштованого агента за замовчуванням.
Коли ви налагоджуєте проблеми порядку, openclaw models status --probe показує пропущені
збережені профілі як excluded_by_auth_order, а не мовчки пропускає їх.
Коли ви налагоджуєте проблеми cooldown, пам'ятайте, що cooldown через rate-limit може бути прив'язаний
до одного ідентифікатора моделі, а не до всього профілю постачальника.
Усунення несправностей
"No credentials found"
Якщо профіль Anthropic відсутній, налаштуйте API-ключ Anthropic на хості Gateway або налаштуйте шлях setup-token Anthropic, а потім перевірте ще раз:
openclaw models status
Токен скоро завершиться/прострочений
Виконайте openclaw models status, щоб підтвердити, строк дії якого профілю завершується. Якщо
профіль токена Anthropic відсутній або прострочений, оновіть це налаштування через
setup-token або перейдіть на API-ключ Anthropic.