Перейти к основному содержанию
Эта страница — справочник по аутентификации поставщиков моделей (ключи API, OAuth, повторное использование Claude CLI и setup-token Anthropic). Об аутентификации подключения к Gateway (токен, пароль, trusted-proxy) см. Конфигурация и Доверенная прокси-аутентификация.
OpenClaw поддерживает OAuth и ключи API для поставщиков моделей. Для постоянно работающих хостов Gateway ключи API обычно являются самым предсказуемым вариантом. Потоки подписки/OAuth также поддерживаются, когда они соответствуют модели учетной записи вашего поставщика. Полный поток OAuth и схему хранения см. в /concepts/oauth. Для аутентификации на основе SecretRef (поставщики env/file/exec) см. Управление секретами. Правила пригодности учетных данных и reason-code, используемые models status --probe, см. в Семантика учетных данных аутентификации.

Рекомендуемая настройка (ключ API, любой поставщик)

Если вы запускаете долгоживущий Gateway, начните с ключа API для выбранного поставщика. Конкретно для Anthropic аутентификация по ключу API по-прежнему остается самым предсказуемым серверным вариантом, но OpenClaw также поддерживает повторное использование локального входа Claude CLI.
  1. Создайте ключ API в консоли вашего поставщика.
  2. Разместите его на хосте Gateway (машине, где выполняется openclaw gateway).
export <PROVIDER>_API_KEY="..."
openclaw models status
  1. Если Gateway работает под systemd/launchd, предпочтительно поместить ключ в ~/.openclaw/.env, чтобы демон мог его прочитать:
cat >> ~/.openclaw/.env <<'EOF'
<PROVIDER>_API_KEY=...
EOF
Затем перезапустите демон (или процесс Gateway) и проверьте снова:
openclaw models status
openclaw doctor
Если вы не хотите самостоятельно управлять переменными окружения, onboarding может сохранить ключи API для использования демоном: openclaw onboard. Подробности о наследовании окружения (env.shellEnv, ~/.openclaw/.env, systemd/launchd) см. в Справке.

Anthropic: совместимость Claude CLI и токенов

Аутентификация Anthropic setup-token по-прежнему доступна в OpenClaw как поддерживаемый путь токена. Сотрудники Anthropic с тех пор сообщили нам, что использование Claude CLI в стиле OpenClaw снова разрешено, поэтому OpenClaw считает повторное использование Claude CLI и использование claude -p санкционированными для этой интеграции, если Anthropic не опубликует новую политику. Когда повторное использование Claude CLI доступно на хосте, теперь это предпочтительный путь. Для долгоживущих хостов Gateway ключ API Anthropic по-прежнему является самым предсказуемым вариантом. Если вы хотите повторно использовать существующий вход Claude на том же хосте, используйте путь Anthropic Claude CLI в onboarding/configure. Рекомендуемая настройка хоста для повторного использования Claude CLI:
# Run on the gateway host
claude auth login
claude auth status --text
openclaw models auth login --provider anthropic --method cli --set-default
Это двухэтапная настройка:
  1. Войдите в Anthropic через сам Claude Code на хосте Gateway.
  2. Укажите OpenClaw переключить выбор моделей Anthropic на локальный backend claude-cli и сохранить соответствующий профиль аутентификации OpenClaw.
Если claude отсутствует в PATH, сначала установите Claude Code или задайте agents.defaults.cliBackends.claude-cli.command как реальный путь к бинарному файлу. Ручной ввод токена (любой поставщик; записывает хранилище аутентификации SQLite для агента и обновляет конфигурацию):
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 теперь читает профили аутентификации из openclaw-agent.sqlite каждого агента. Если в более старой установке все еще есть auth-profiles.json, auth-state.json или плоский файл профиля аутентификации, например { "openrouter": { "apiKey": "..." } }, выполните openclaw doctor --fix, чтобы импортировать его в SQLite; doctor сохраняет резервные копии с отметкой времени рядом с исходными JSON-файлами. Сведения об endpoint, такие как baseUrl, api, идентификаторы моделей, заголовки и тайм-ауты, должны находиться в models.providers.<id> в openclaw.json или models.json, а не в профилях аутентификации. Внешние маршруты аутентификации, такие как Bedrock auth: "aws-sdk", также не являются учетными данными. Если вам нужен именованный маршрут Bedrock, поместите auth.profiles.<id>.mode: "aws-sdk" в openclaw.json; не записывайте type: "aws-sdk" в хранилище профилей аутентификации. 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
Live-проверки аутентификации:
openclaw models status --probe
Примечания:
  • Строки проверки могут поступать из профилей аутентификации, учетных данных окружения или models.json.
  • Если явный auth.order.<provider> пропускает сохраненный профиль, проверка сообщает excluded_by_auth_order для этого профиля, а не пытается его использовать.
  • Если аутентификация существует, но OpenClaw не может определить проверяемого кандидата модели для этого поставщика, проверка сообщает status: no_model.
  • Cooldown для rate-limit может быть привязан к модели. Профиль, находящийся в cooldown для одной модели, все еще может быть пригоден для родственной модели у того же поставщика.
Необязательные операционные скрипты (systemd/Termux) задокументированы здесь: Скрипты мониторинга аутентификации

Примечание Anthropic

Backend 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, не повторяются с альтернативными ключами.
  • Если все ключи завершаются ошибкой, возвращается итоговая ошибка последней попытки.

Удаление аутентификации поставщика во время работы Gateway

Когда аутентификация поставщика удаляется через плоскость управления Gateway, OpenClaw удаляет сохраненные профили аутентификации для этого поставщика и прерывает активные чаты или запуски агентов, у которых выбранный поставщик модели совпадает с удаленным поставщиком. Прерванные запуски генерируют обычные события отмены чата и жизненного цикла с stopReason: "auth-revoked", чтобы подключенные клиенты могли показать, что запуск был остановлен из-за удаления учетных данных. Удаление сохраненной аутентификации не отзывает ключи у поставщика. Ротируйте или отзывайте ключ в панели поставщика, когда требуется инвалидация на стороне поставщика.

Управление тем, какие учетные данные используются

OpenAI и устаревшие идентификаторы openai-codex

Профили ключей API OpenAI и профили OAuth ChatGPT/Codex используют канонический идентификатор поставщика openai. Новая конфигурация должна использовать идентификаторы профилей openai:* и auth.order.openai. Если вы видите openai-codex в старой конфигурации, идентификаторах профилей аутентификации или auth.order.openai-codex, считайте это устаревшим входом миграции. Не создавайте новые профили openai-codex. Выполните:
openclaw doctor --fix
openclaw models auth list --provider openai
Doctor переписывает устаревшие идентификаторы профилей openai-codex:* и записи auth.order.openai-codex на канонический маршрут аутентификации openai. О маршрутизации моделей/runtime, специфичной для OpenAI, см. OpenAI.

Во время входа (CLI)

Используйте openclaw models auth login --provider <id> --profile-id <profileId> для поставщиков, поддерживающих именованные профили аутентификации во время входа.
openclaw models auth login --provider openai --profile-id openai:ritsuko
openclaw models auth login --provider openai --profile-id openai:lain
Это самый простой способ держать несколько входов OAuth для одного поставщика раздельно внутри одного агента. Используйте --force, когда сохраненный профиль поставщика завис, истек или привязан к неправильной учетной записи, а обычная команда входа продолжает использовать его повторно. --force удаляет сохраненные профили аутентификации для этого поставщика в выбранном каталоге агента, затем снова запускает тот же поток аутентификации поставщика. Это не отзывает учетные данные у поставщика; ротируйте или отзывайте их в панели поставщика, когда требуется инвалидация на стороне поставщика.
openclaw models auth login --provider anthropic --force

Для сеанса (команда чата)

Используйте /model <alias-or-id>@<profileId>, чтобы закрепить конкретные учетные данные поставщика для текущего сеанса (примеры идентификаторов профилей: anthropic:default, anthropic:work). Используйте /model (или /model list) для компактного выбора; используйте /model status для полного представления (кандидаты + следующий профиль аутентификации, а также сведения об endpoint поставщика, если настроены).

Для агента (переопределение CLI)

Задайте явное переопределение порядка профилей аутентификации для агента (сохраняется в SQLite-состоянии аутентификации этого агента):
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 может быть привязан к одному идентификатору модели, а не ко всему профилю поставщика. Если вы изменяете порядок аутентификации или закрепление профиля для уже запущенного чата, отправьте /new или /reset в этом чате, чтобы начать новый сеанс. Существующие сеансы могут сохранять текущий выбор модели/профиля до сброса.

Устранение неполадок

”Учетные данные не найдены”

Если профиль Anthropic отсутствует, настройте ключ API Anthropic на хосте Gateway или настройте путь Anthropic setup-token, затем проверьте снова:
openclaw models status

Токен скоро истекает/истек

Выполните openclaw models status, чтобы подтвердить, срок какого профиля истекает. Если профиль токена Anthropic отсутствует или истек, обновите эту настройку через setup-token или перейдите на ключ API Anthropic.

Связанные материалы