Zed через teamToken
Zed умеет работать с любым OpenAI-совместимым шлюзом, это описывается блоком в settings.json. Полей немного, но одно из них обязательное и заполняется не нами, и именно из-за него потом кажется, что ответы обрезаются.
Что это за инструмент
Zed это редактор кода со встроенным ассистентом. Провайдера моделей он берёт из собственных настроек, и произвольный OpenAI-совместимый шлюз там предусмотрен отдельным разделом, так что заводить его можно рядом с остальными, ничего не отключая и не переопределяя.
Конфиг
// settings.json
{
"language_models": {
"openai_compatible": {
"teamtoken": {
"api_url": "https://api.teamtoken.store/v1",
"available_models": [
{
"name": "gpt-5.6-sol",
"display_name": "gpt-5.6-sol (teamToken)",
"max_tokens": <контекстное окно модели>
}
]
}
}
}
}Модели перечисляются вручную: в отличие от некоторых расширений, Zed не ходит за списком сам. Зато можно завести только те, которыми пользуетесь, и не листать весь каталог в выпадашке.
Про max_tokens, который мы за вас не заполним
Это поле обязательное, и оно про сторону редактора: Zed по нему решает, сколько влезет в диалог. Значение должно соответствовать контекстному окну выбранной модели, а окно это характеристика самой модели, и смотреть его надо у её вендора.
Мы его не подставляем и в примере оставили плейсхолдер намеренно. В нашем каталоге контекстного окна нет, там только имя модели и цена входа с ценой выхода. Написать сюда правдоподобное число значило бы выдать догадку за спецификацию, а вы бы приняли её за нашу.
Практическое следствие, ради которого этот раздел и написан. Если поставить значение сильно ниже реального, редактор начнёт подрезать диалог сам, ещё до отправки. Со стороны это выглядит как будто ответы обрезает шлюз, хотя никакого ограничения на нашей стороне нет и запрос до нас доходит уже урезанным.
Проверка
Открыть ассистента, выбрать в списке моделей ту, что назвали в display_name, и задать любой вопрос. Ответ означает, что дошли и адрес, и ключ.
Ключ Zed спрашивает при первом обращении к провайдеру и хранит у себя, в конфиге его держать не нужно.
Какие модели заводить
Для работы по коду gpt-5.3-codex, для разговора о задаче gpt-5.6-sol. Полный список отдаёт GET /v1/models, оттуда и берите имена в поле name: оно должно совпадать с каталогом дословно, а display_name может быть любым.
Лимит трат на ключ
На ключ ставится потолок в кабинете, отдельно от общего баланса. Для редактора, который обращается к модели на каждое нажатие, это не лишнее.
Если не работает
max_tokens: слишком низкое значение режет диалог на стороне редактора. На нашей стороне обрезки нет.available_models. Список не подтягивается сам, каждую модель надо добавить.name должно совпадать с каталогом дословно. Сверьтесь с GET /v1/models.