OneProvider
Помощь и ошибки

Решение проблем

Быстро чините проблемы API OneProvider: симптом, причина и решение для 400, 401, 403, 404, 429, 503, 504, входа в Claude Code, VPN и обращения в поддержку.

Двенадцать конкретных сценариев отказа, которые мы видим каждую неделю. Симптом → причина → однострочный фикс.

Все модели, характеристики и цены Индекс документации для AI-агентов: https://oneprovider.dev/docs/llms.txt Перед тем как разбираться Прогоните curl -s https://api.oneprovider.dev/v1/models -H "x-api-key: $ANTHROPIC_API_KEY". Если вернулся непустой JSON-список моделей — сеть и авторизация в порядке; что бы вы ни ловили, это специфика запроса, а не инфраструктуры.

Топ-вопросы

Нужно ли логиниться в Claude Code? Что делать с 401 и «Auth conflict»

Нет. Ключ OneProvider работает без входа в аккаунт Claude. Для Claude Code задайте ANTHROPIC_BASE_URL и ANTHROPIC_AUTH_TOKEN (ключ уходит как Authorization: Bearer). Эта переменная главнее сохранённого входа и других переменных и не требует подтверждения. ANTHROPIC_API_KEY (заголовок x-api-key) наш шлюз тоже принимает, но Claude Code в интерактивном режиме один раз просит подтвердить такой ключ и молча игнорирует отклонённый (включить снова: /config → Use custom API key).

Если видите экран входа, 401 Invalid API key или Auth conflict, идите по шагам:

  1. Выполните /status: должны быть Anthropic base URL с адресом OneProvider и строка Auth token или API key с вашей переменной. Если там Login method с аккаунтом claude.ai, переменная не дошла до сессии.
  2. Auth conflict (и вход в claude.ai, и ключ): выполните /logout, переменные останутся.
  3. 401 Invalid API key: в окружении лежит чужой ANTHROPIC_AUTH_TOKEN (токен другого сервиса) и перекрывает ключ, или в нём лишняя кавычка или пробел. Задайте в нём ключ OneProvider целиком, без кавычек.
  4. Экран входа остаётся, хотя переменные заданы в .claude/settings.json проекта: этот блок читается после первого запуска, поставьте переменные в shell или в ~/.claude/settings.json.
bash
# macOS / Linux: что реально задано
env | grep -E 'ANTHROPIC_(BASE_URL|AUTH_TOKEN|API_KEY)' | sed -E 's/(sk-.{4}).*/\1.../'
grep -nE 'ANTHROPIC_(AUTH_TOKEN|API_KEY)' ~/.zshrc ~/.bashrc 2>/dev/null

Нужно ли логиниться в ChatGPT для Codex CLI?

Нет. Codex CLI читает OPENAI_BASE_URL и OPENAI_API_KEY из окружения. Когда обе переменные указывают на OneProvider — Codex полностью обходит ChatGPT-вход и ходит на наш эндпоинт. Поэтому экран авторизации можно пропустить.

Если мешает токен от прошлой сессии или экспорт в shell-rc:

bash
unset OPENAI_API_KEY
rm -f ~/.codex/auth.lock
# затем заново экспортируйте значения из redeem-страницы и перезапустите codex
export OPENAI_BASE_URL="https://api.oneprovider.dev/v1"
export OPENAI_API_KEY="sk-..."
codex

Подробнее — на странице Codex (OpenAI) .

Нужен ли VPN? Есть региональные ограничения?

VPN не нужен — региональных ограничений у OneProvider нет. Эндпоинт api.oneprovider.dev доступен по всему миру и не геоблокирует трафик.

Более того, VPN/VLESS-прокси часто ломают подключение к API двумя путями:

  • SSE-стриминг буферизуется внутри прокси — стрим обрывается посреди токена.
  • HTTP/2 + ALPN сбивается на ретранслирующих узлах — клиент видит connection reset.

Если ловите оборванный стрим, connection reset или таймауты, временно отключите VPN/VLESS и повторите. С нашей стороны стрим не буферизуется.

Ошибка парсинга JSON в конфиге (или ошибка 429)

Самая частая причина — «умные» кавычки (“ ”) в JSON-конфиге. Они появляются при копировании из мессенджера, Notion, Google Docs или браузера, где кавычки автозаменяются на типографские. Парсер JSON принимает только прямые ASCII-кавычки (").

Иногда такой битый конфиг проявляется не как «JSON parse error», а как 429: клиент принимает отсутствие ответа за rate-limit. Лечится одинаково:

  • Замените все “ ” на " вручную.
  • Копируйте конфиг прямо из этой документации — там кавычки уже правильные.
  • Проверяйте файл через cat -v config.json или jq . config.json — оба покажут невалидный байт.
bash
# Быстрая проверка: jq упадёт на первой кривой кавычке
jq . ~/.claude/settings.json
# Авто-замена умных кавычек на прямые (макрос для sed)
sed -i.bak $'s/[\u201c\u201d]/"/g' ~/.claude/settings.json

Матрица симптомов

Справочные данные
СимптомВероятная причинаФикс
401 authentication_error на каждом запросеКлюч не задан, повреждён или содержит лишний перенос/кавычку после copy-paste.echo "${ANTHROPIC_API_KEY:?missing}" | wc -c # должно быть 68 (sk- + 64 hex + \n)
429 «Insufficient balance on this API key»Закончился баланс кабинета или лимит трат ключа. Повторы не помогут: в ответе x-should-retry: false.curl -sH "Authorization: Bearer $ANTHROPIC_API_KEY" https://api.oneprovider.dev/v1/dashboard/balance # затем пополните кабинет (бот или app.oneprovider.dev)
403 permission_error «API key expired»Срок действия ключа истёк.Продлите ключ или выпустите новый в кабинете (раздел «Ключи»).
404 «The requested API endpoint does not exist»Неверный base URL: /v1 пропущен или повторён (/v1/v1).OpenAI-клиенты: https://api.oneprovider.dev/v1. Claude Code и Anthropic SDK: https://api.oneprovider.dev (без /v1).
429 rate_limit_error на всплескахСлишком много запросов за короткое время.Соблюдайте Retry-After, повторяйте с растущей паузой. Снизьте число параллельных запросов.
400 «Model X is not available on this API key»Тариф ключа не включает эту модель, или имя модели устарело.Выберите модель из GET /v1/models или из таблицы на /docs/api/models.
503 «Temporary provider issue on our side, retry in a minute»Временный сбой на нашей стороне. С ключом и запросом всё в порядке.Повторите с растущей паузой: 1 с, 2 с, 4 с, до минуты.
504 «Service timed out; retry later» на нестриминговом запросеДолгая генерация (большой контекст + tools) не начала отвечать за 6 минут или шла дольше 10 минут.Передайте stream:true: стрим начинает отвечать сразу. Если ответ дольше 10 минут, разбейте задачу.
Вызов инструмента подменён прозой («Я бы вызвал X…»)Клиент послал tool_choice:{any|tool} → API заменил его на auto + подсказку; модель не приняла подсказку.Уточните user-промпт («Используй инструмент X, чтобы сделать Y») или переключитесь на более мощную модель.
OPENAI_API_KEY перекрывает мой ключ OneProviderСтарый export в shell rc (~/.zshrc, ~/.bashrc) затеняет новое значение.unset OPENAI_API_KEY в текущем shell, затем grep -nE 'OPENAI_API_KEY' ~/.zshrc и почистите.
Codex говорит «Invalid API key», хотя auth.json настроенCodex предпочитает shell-export OPENAI_API_KEY поверх ~/.codex/auth.json.unset OPENAI_API_KEY; rm -f ~/.codex/auth.lock; перезапустите codex. См. /docs/clients/codex.
Cursor / Claude Code: стрим обрывается посреди токенаПочти всегда клиентский network-proxy или VPN буферит SSE-чанки.Выключите proxy/VPN и повторите. Мы отдаём чанки сразу, без буферизации.

Диагностические однострочники

Если матрица не подошла под ваш случай, соберите три улики:

bash
# 1. Подтвердить досягаемость + авторизацию
curl -sS -o /dev/null -w "HTTP %{http_code} total %{time_total}s\n" \
https://api.oneprovider.dev/v1/models -H "x-api-key: $ANTHROPIC_API_KEY"
# 2. Воспроизвести падающий вызов с -v (verbose-заголовки)
curl -sv https://api.oneprovider.dev/v1/messages \
-H "x-api-key: $ANTHROPIC_API_KEY" \
-H "anthropic-version: 2023-06-01" \
-H "content-type: application/json" \
-d '{"model":"claude-sonnet-5-5","max_tokens":32,"messages":[{"role":"user","content":"hi"}]}'
# 3. Проверить текущий баланс (он же виден в кабинете: бот @oneprovider_robot или app.oneprovider.dev)
curl -s https://api.oneprovider.dev/v1/dashboard/balance \
-H "Authorization: Bearer $ANTHROPIC_API_KEY"

Когда эскалировать

Пришлите три вывода выше + первые 8 символов ключа + UTC-таймштамп в @Oneproviderhelpbot . Этого хватит, чтобы мы нашли ваш запрос в логах за минуты. См. Получить поддержку — что нам не нужно (и о чём мы никогда не спрашиваем).

Последнее обновление: 2026-10-05 Нашли ошибку? @Oneproviderhelpbot