Zed и Continue.dev решают одну задачу с разных сторон. Zed: редактор со встроенным ассистентом. Continue.dev: расширение, которое ставится в VS Code или JetBrains. Оба принимают собственный base URL, поэтому их можно направить на шлюз codexkey. Ниже настройка каждого по очереди.
Zed: провайдер в settings.json
Откройте настройки редактора через Cmd+, и переключитесь на JSON. Файл можно открыть и напрямую: Cmd+Shift+P, затем команда Zed: Open Settings. Добавьте секцию language_models с нужным провайдером:
{
"language_models": {
"anthropic": {
"api_url": "https://api.codexkey.ru"
},
"openai": {
"api_url": "https://api.codexkey.ru/v1"
}
}
}
Оба провайдера сразу указывать не нужно, хватит того, чьи модели вы собираетесь использовать. Anthropic-провайдер говорит на формате Claude, а через OpenAI-провайдер доступны ещё и модели GPT.
Zed: ключ и выбор модели
По умолчанию Zed не хранит ключ в settings.json. Его вставляют в панели ассистента: откройте её через Cmd+?, найдите блок настроек провайдера и вставьте sk_cdx_... в поле API Key. Есть и другой путь: задать переменную окружения ANTHROPIC_API_KEY или OPENAI_API_KEY до запуска редактора, Zed подхватит её сам.
Дальше модель выбирается прямо в панели ассистента: из выпадающего списка или вводом имени вручную, если в стандартном наборе редактора её нет.
Continue.dev: структура конфига
Настройки Continue.dev лежат в ~/.continue/config.yaml. Тот же файл открывается командой Continue: Open Config из палитры команд редактора. Модель описывается одним блоком: провайдер, имя модели, адрес.
models:
- name: Claude через codexkey
provider: anthropic
model: claude-sonnet-5
apiKey: sk_cdx_your_key_here
apiBase: https://api.codexkey.ru
roles:
- chat
- edit
Чтобы работать с GPT по тому же ключу, добавьте второй блок с provider: openai и apiBase: https://api.codexkey.ru/v1. Оба блока живут в одном файле, а переключаться между моделями можно прямо в чате Continue, редактор перезапускать не нужно.
Continue.dev: автодополнение отдельной моделью
Автодополнение в Continue.dev задаётся отдельным блоком с ролью autocomplete. Сюда обычно ставят модель быстрее и дешевле, а для чата и правок (роли chat и edit) берут посильнее. Разводить модели по ролям стоит: автодополнение срабатывает на каждое нажатие клавиши, и разница в цене между моделями там чувствуется заметно сильнее, чем в чате.
Проверка настройки
В Zed откройте панель ассистента, задайте простой вопрос про открытый файл и убедитесь, что ответ пришёл без ошибки авторизации. В Continue всё так же: откройте боковую панель чата и спросите что-нибудь про текущий проект.
Ключ можно проверить и отдельно от редактора, быстрым запросом через curl:
curl https://api.codexkey.ru/v1/chat/completions \
-H "Authorization: Bearer sk_cdx_your_key_here" \
-H "content-type: application/json" \
-d '{"model":"claude-sonnet-5","messages":[{"role":"user","content":"привет"}]}'
Частые проблемы
Zed иногда держит в кэше старую конфигурацию провайдера до перезапуска. Если после правки settings.json ассистент по-прежнему жалуется на авторизацию, перезапустите редактор целиком: одной панели ассистента мало.
В Continue.dev опечатка в названии провайдера (скажем, antropic вместо anthropic) приводит к тихому сбою: внятной ошибки в интерфейсе не будет. Откройте лог расширения командой Continue: View Logs, причина видна сразу.
У обоих инструментов есть общая ловушка: слеш в конце apiBase или api_url. Провайдеры относятся к нему по-разному, поэтому надёжнее сразу писать адрес без завершающего слеша, как в примерах выше.
Коротко
В Zed провайдер подключается через language_models в settings.json, а ключ вставляется в панели ассистента или берётся из переменной окружения. Continue.dev держит конфиг в YAML с полями provider, apiBase и apiKey, и роли chat, edit и autocomplete можно развести по разным моделям. Одного ключа codexkey хватает на всё, включая переключение между Claude и GPT без второй регистрации.