ГлавнаяРуководство
API-ключ Codex: объяснение для разработчиков
API-ключ codex предоставляет учётные данные, необходимые для маршрутизации запросов на генерацию кода к бэкенд-моделям больших языковых моделей. Использование модели для кода без цензуры через прокси Claude Code позволяет разработчикам обходить фильтры контента, которые часто прерывают сложные задачи генерации. В этом руководстве описана техническая конфигурация, необходимая для интеграции этих ключей в ваш рабочий процесс разработки.
Обновлено
Понимание формата API-ключа
При регистрации в сервисе, предоставляющем codex api key, вы получаете уникальную буквенно-цифровую строку. Этот ключ служит вашим учётным данными для аутентификации при каждом запросе к бэкенду. Формат обычно соответствует стандартному шаблону, например sk-... или аналогичные префиксы, в зависимости от реализации провайдера. Однако поскольку вы используете независимый прокси, точный префикс может отличаться. Ключевой момент заключается не в самом формате, а в том, чтобы корректно передавать ключ в заголовке HTTP Authorization как Bearer <your_key>.
Ваш API-ключ привязан к конкретному аккаунту и уровню использования. В отличие от некоторых сервисов, которые генерируют несколько ключей для разных сред (dev vs. prod), наша настройка проста: один аккаунт, один ключ. Если вы потеряете ключ или подозреваете, что он скомпрометирован, вы можете регенерировать его немедленно из панели управления. Это мгновенно аннулирует старый ключ, гарантируя, что несанкционированный доступ не сохранится. Помните, что нужно обновлять переменные среды или файлы конфигурации каждый раз, когда вы меняете ключи.
Рекомендации по безопасности
- Храните ваш ключ в переменных среды, а не в исходном коде.
- Никогда не фиксируйте свой
codex api keyв публичных репозиториях. - Используйте функцию регенерации, если подозреваете раскрытие ключа.
Распространённая ошибка: 401 Unauthorized
Ошибка 401 Unauthorized — самая распространённая проблема при интеграции нового API-ключа. Она указывает на то, что сервер отклонил ваши учётные данные для аутентификации. В контексте claude code proxy или любого OpenAI-совместимого эндпоинта это почти всегда означает, что ключ отсутствует, неверен или истёк.
Для устранения неполадок сначала убедитесь, что вы копируете ключ точно так, как он предоставлен. Ключи часто чувствительны к регистру и могут содержать пробелы, если скопированы неверно. Убедитесь, что вы используете правильный базовый URL для вашего региона или уровня сервиса. Если вы недавно регенерировали ключ, убедитесь, что ваш клиент использует новое значение. Ошибка 401 не связана с вашим балансом или лимитами запросов; это исключительно ошибка аутентификации.
Чек-лист для разрешения
- Подтвердите, что строка API-ключа точно соответствует панели управления.
- Проверьте формат заголовка Authorization:
Authorization: Bearer YOUR_KEY. - Проверьте, что базовый URL корректен для вашего типа аккаунта.
- Убедитесь, что при копировании-вставке не добавлено лишних пробелов.
Превышен лимит запросов: ошибки 429
Когда вы превышаете допустимый объём запросов, API возвращает ошибку 429 Too Many Requests. Для нашего сервиса лимит установлен на уровне 300 запросов в минуту на один ключ. Этот лимит действует, чтобы обеспечить справедливое использование ресурсов и поддерживать низкую задержку для всех пользователей. Если вы выполняете задачи с большим объёмом кода, вы можете быстро достичь этого лимита, особенно если ваш код вызывает несколько внутренних запросов.
При возникновении ошибки 429 в ответе обычно содержится заголовок Retry-After, указывающий, сколько секунд нужно подождать перед повторной попыткой. Реализация экспоненциальной задержки в коде клиента — стандартный способ обработки этих ошибок. Вместо немедленной повторной попытки подождите короткий промежуток времени, а затем удвойте время ожидания для последующих попыток. Это предотвращает переполнение сервера запросами от вашего приложения, пока лимит не сбросится.
Важно отметить, что лимиты запросов применяются к ключу, а не к аккаунту. Если у вас есть несколько устройств или процессов, использующих один и тот же ключ, они делят бюджет в 300 запросов в минуту. Рассмотрите возможность использования отдельных ключей для разных сред, если вам нужна более высокая совокупная пропускная способность.
Правильная настройка базового URL
Базовый URL — это основа любой интеграции API. Для сервиса, совместимого с OpenAI, базовый URL определяет, куда отправляются ваши запросы. Наш базовый URL — https://api.claudecodeapikey.com/v1. Этот URL должен быть настроен в вашей клиентской библиотеке или SDK перед отправкой любых запросов. Если вы используете неверный базовый URL, вы получите ошибки подключения или неожиданные ответы.
Многие разработчики используют официальный SDK OpenAI для Python, Node.js или других языков. Чтобы переключиться на наш прокси, вам просто нужно обновить конфигурацию базового URL. Например, в Python вы можете установить base_url='https://api.claudecodeapikey.com/v1'. Убедитесь, что протокол (https) и путь (/v1) указаны верно. Пропуск пути /v1 — распространенная ошибка, приводящая к ошибкам 404.
Всегда проверяйте, что ваш клиент отправляет запросы на правильный эндпоинт. Вы можете сделать это, проверив журналы сети или используя инструмент вроде curl для тестирования соединения. Успешное подключение к базовому URL подтверждает, что ваша конфигурация верна.
Обработка потоковых ответов
Потоковые ответы позволяют получать части ответа API по мере их генерации, а не ждать завершения всего ответа. Это критически важно для агентов кодирования, которые отображают фрагменты кода в реальном времени. Наш API поддерживает потоковую передачу через Server-Sent Events (SSE). Когда вы включаете потоковую передачу в клиенте, вы будете получать поток чанков, каждый из которых содержит частичный ответ.
Чтобы включить потоковую передачу, установите параметр stream в значение true в вашем запросе. Клиентская библиотека затем автоматически обработает протокол SSE. Вы можете обрабатывать каждый чанк по мере его поступления, обновляя интерфейс или логируя прогресс. Это обеспечивает лучший пользовательский опыт, особенно для длинных генераций кода.
Потоковая передача не меняет базовую модель или ее возможности. Это чисто механизм передачи. Модель по-прежнему обрабатывает весь промпт и генерирует полный ответ; разница заключается в том, как вывод доставляется вашему клиенту.
from openai import OpenAI
client = OpenAI(base_url="https://api.claudecodeapikey.com/v1", api_key="YOUR_KEY")
resp = client.chat.completions.create(
model="uncensored",
messages=[{"role": "user", "content": "Summarise this thread without softening it."}],
)
print(resp.choices[0].message.content)
Проблемы с настройкой вызова инструментов
Вызов инструментов (или вызов функций) позволяет LLM запрашивать конкретные действия, такие как запуск фрагмента кода или запрос к базе данных. Наш API поддерживает вызов инструментов, что означает, что вы можете определить функции в запросе и получить структурированные ответы в формате JSON от модели. Это необходимо для продвинутых агентов кодирования, которым нужно взаимодействовать с внешними системами.
Для настройки вызова функций вы должны предоставить список определений функций в параметре tools. Каждая функция должна иметь имя, описание и схему параметров. Модель затем решит, когда вызвать функцию, на основе промпта. Если модель решит вызвать функцию, ответ будет содержать массив tool_calls с именем функции и аргументами.
Частые проблемы возникают из-за неверных определений JSON-схемы. Убедитесь, что типы параметров и обязательные поля указаны точно. Если схема некорректна, модель может не вызвать инструмент правильно. Протестируйте определения ваших инструментов с помощью простых промптов, чтобы убедиться, что модель понимает ожидаемое поведение.
Лимиты контекстного окна
Контекстное окно определяет максимальное количество текста, которое модель может обработать в одном запросе, включая как промпт (вход), так и завершение (выход). Наша модель имеет контекстное окно на 100 000 токенов. Это значительное количество текста, но оно не бесконечно. Если ваш промпт плюс ожидаемый выход превышают этот лимит, API вернёт ошибку.
Для эффективного управления контекстом отслеживайте использование токенов вашими промптами. Длинные файлы или обширные истории разговоров могут быстро исчерпать доступные токены. Если вы приближаетесь к лимиту, рассмотрите возможность усечения старых сообщений или суммирования предыдущих взаимодействий. Некоторые клиенты автоматически обрабатывают это, сдвигая окно, но лучше знать о лимите, чтобы избежать неожиданных ошибок.
Помните, что контекстное окно включает все токены, отправленные модели, включая системные сообщения, сообщения пользователя и сообщения ассистента. Планируйте свой бюджет токенов соответственно, чтобы обеспечить плавную работу во время длинных сессий кодирования.
Регенерация вашего ключа
Регенерация вашего API-ключа — простой процесс, обеспечивающий безопасность. Если вы подозреваете, что ваш ключ был раскрыт, или хотите периодически менять учетные данные, вы можете сгенерировать новый ключ из панели управления. Старый ключ немедленно становится недействительным, поэтому любые текущие запросы, использующие старый ключ, завершатся ошибкой.
При регенерации ключа убедитесь, что вы обновили все ваши клиенты и конфигурации новым значением. Это включает переменные окружения, файлы конфигурации и любые жестко заданные значения в вашем коде. Невозможность обновить все места может привести к ошибкам аутентификации для некоторых частей вашего приложения.
Наш сервис позволяет неограниченное количество регенераций ключей. Нет штрафа за частую смену ключа. Это хорошая практика для поддержания безопасности, особенно в общих средах или при распределении ключей членам команды.
curl https://api.claudecodeapikey.com/v1/chat/completions \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "uncensored",
"messages": [{"role": "user", "content": "Write a blunt product review of a cheap VPN."}]
}'Вопросы и ответы
Поддерживает ли этот API вызов функций?
Да, наш API поддерживает вызов инструментов/функций. Вы можете определить функции в запросе, и модель вернёт структурированные ответы в формате JSON, когда решит вызвать инструмент. Это поддерживается нативно через стандартные эндпоинты, совместимые с OpenAI.
Что произойдёт, если я превышу контекстное окно?
API имеет фиксированное контекстное окно на 100 000 токенов как для промпта, так и для генерации. Если ваш запрос превышает этот лимит, API вернёт ошибку с указанием того, что длина контекста слишком велика. Вам следует обрезать промпт или сократить предыдущие взаимодействия, чтобы уложиться в лимит.
Можно ли использовать официальные SDK OpenAI с этим ключом?
Да, наш API совместим с OpenAI. Вы можете использовать официальные SDK OpenAI для Python, Node.js и других языков, просто изменив базовый URL на <code>https://api.claudecodeapikey.com/v1</code> и указав свой API-ключ.
Как обрабатывать ошибки превышения лимита запросов?
Если вы превысите 300 запросов в минуту, вы получите ошибку 429. Реализуйте экспоненциальную задержку в вашем клиенте, чтобы подождать и повторить попытку. В ответе обычно содержится заголовок <code>Retry-After</code>, указывающий, сколько времени нужно подождать перед отправкой следующего запроса.
Ваш ключ — в одной форме от вас
Создайте аккаунт, скопируйте ключ, измените базовый URL. Вот и вся настройка.