Zed с OpenCheese
/ Документация API← Быстрый старт с APIОткрыть как Markdown
Панель агента Zed подключается к OpenCheese через провайдер openai_compatible в файле
settings.json редактора и обращается к нему через OpenAI Chat Completions API по адресу
https://api.opencheese.dev/v1.
01Откройте settings.json
Zed хранит все пользовательские настройки в одном файле. Откройте его из палитры команд командой zed: open settings file или отредактируйте напрямую:
| Система | Файл |
|---|---|
| macOS и Linux | ~/.config/zed/settings.json |
| Windows | %APPDATA%\Zed\settings.json |
Дополняйте файл, а не заменяйте его: в нём же хранятся ваша тема, сочетания клавиш, шрифты и языковые серверы.
02Добавьте провайдер
На странице Настройка в панели, на вкладке Zed, генерируется этот блок со всеми моделями вашего тарифа и лимитами каждой из них. Вручную одна модель выглядит так:
{
"language_models": {
"openai_compatible": {
"OpenCheese": {
"api_url": "https://api.opencheese.dev/v1",
"available_models": [
{
"name": "MODEL_ID",
"display_name": "Model name",
"max_tokens": 1000000,
"max_output_tokens": 131000,
"max_completion_tokens": 126000,
"reasoning_effort": "low",
"capabilities": {
"tools": true,
"images": true,
"parallel_tool_calls": false,
"prompt_cache_key": true,
"chat_completions": true,
"interleaved_reasoning": false,
"max_tokens_parameter": true
}
}
]
}
}
}
}
- В
api_urlоставьте/v1: Zed сам добавляет/chat/completions. - Если в файле уже есть раздел
language_models, добавьте только ключOpenCheeseвнутрь его объектаopenai_compatible. max_tokens— это контекстное окно модели, аmax_output_tokens— максимальная длина её ответа: возьмите их изcontext_windowиmax_output_tokensв/v1/models. Каждой модели нужны оба значения, иначе Zed отклоняет весь провайдер.reasoning_effortдолжен быть одним из значенийnone,minimal,low,medium,high,xhighилиmax; из-за любого другого значения Zed отклоняет весь провайдер. Для модели без уровней не указывайте его.- Оставьте
prompt_cache_keyвключённым: с ним каждый диалог Zed отображается в панели как одна сессия. imagesравноtrueтолько для моделей, у которыхmodalities.inputсодержитimage.
03Передайте Zed API-ключ
Ключ никогда не записывается в settings.json: для него там нет поля. Есть два способа:
- Откройте панель агента, выполните agent: open settings, найдите OpenCheese в разделе LLM Providers, вставьте ключ в его поле API key и нажмите Enter. Zed сохранит ключ в системном хранилище ключей.
- Или задайте переменную окружения, которую Zed читает для этого провайдера:
export OPEN_CHEESE_API_KEY='YOUR_OPENCHEESE_API_KEY'
Обратите внимание на подчёркивание: Zed строит имя из ID провайдера и разбивает OpenCheese на
OPEN_CHEESE. OPENCHEESE_API_KEY не читается никогда. Кроме того, переменная имеет приоритет над
хранилищем ключей, поэтому, если позже смените ключ, удалите переменную и перезапустите Zed.
04Выберите модель OpenCheese (необязательно)
Zed оставляет ту модель, которая была выбрана раньше. Чтобы сделать модель OpenCheese моделью по умолчанию для новых диалогов, добавьте в файл:
{
"agent": {
"default_model": {
"provider": "OpenCheese",
"model": "MODEL_ID"
}
}
}
provider — это просто ID провайдера, без префикса openai_compatible/. После правки
settings.json перезапустите Zed или перезагрузите окно.
Решение проблем
- Моделей OpenCheese нет совсем: JSON содержит ошибку, или в записи модели нет
max_tokensлибо указан неизвестныйreasoning_effort. Скопируйте сгенерированный блок заново, а не исправляйте его вручную. - Модели видны, но каждый запрос завершается ошибкой: ключ так и не дошёл до Zed; повторите шаг 3.
- Модель не используется: ID провайдера должен быть
OpenCheeseв обоих блоках и написан одинаково.