genmux API теперь доступен всем. Читать документацию →
genmux API

Блог

Continue (IDE и cn CLI) на genmux: config.yaml и инструменты

5 мин чтенияАвтор genmux API Team


Continue — опенсорсный ассистент, который живёт в VS Code и JetBrains, а с появлением cn CLI — ещё и в терминале и скриптах. Настраивается он одним YAML-файлом, и этот файл — вся интеграция с genmux: провайдер openai, направленный на https://api.genmux.tech/v1. В посте — конфиг, что делает каждое поле, и как запустить ту же настройку без IDE из скрипта.

config.yaml

Положите это в ~/.continue/config.yaml (глобально) или в config.yaml, который передаёте CLI:

yaml
name: genmux
version: 0.0.1
schema: v1
models:
  - name: DeepSeek V4 Flash
    provider: openai
    model: deepseek-v4-flash
    apiBase: https://api.genmux.tech/v1
    apiKey: nb_live_...
    roles: [chat, edit, apply]
    capabilities: [tool_use]

По полям:

  • provider: openai — адаптер OpenAI в Continue. Отдельного провайдера genmux нет, и он не нужен: чат-эндпоинт говорит на диалекте OpenAI, включая стриминг и вызовы инструментов.
  • apiBase — базовый URL genmux вместе с /v1. Continue дописывает /chat/completions.
  • apiKey — ваш ключ. Если конфиг общий, вместо значения можно сослаться на переменную окружения (apiKey: ${{ secrets.GENMUX_API_KEY }} в синтаксисе Continue).
  • model — любой из семи id с поддержкой инструментов: deepseek-v4-flash, deepseek-v4-pro, deepseek-v3, qwen3-max, qwen3-7-max, doubao-seed-2-pro, doubao-seed-2-code.
  • roles — какие задачи выполняет эта модель (следующий раздел).
  • capabilities: [tool_use] — самая важная строка. Continue не знает id genmux и не может сам выяснить, поддерживает ли модель инструменты; без этой строки режим Agent откатывается к чату без инструментов. С ней Continue отправляет массив tools и читает tool_calls в ответ.

Добавьте вторую запись для тяжёлой модели и переключайтесь между ними из выбора моделей:

yaml
  - name: DeepSeek V4 Pro
    provider: openai
    model: deepseek-v4-pro
    apiBase: https://api.genmux.tech/v1
    apiKey: nb_live_...
    roles: [chat, edit]
    capabilities: [tool_use]

Роли: chat, edit, apply

Continue направляет разные задачи разным моделям, и roles — то место, где вы говорите, кто за что отвечает:

РольДля чего Continue её используетРекомендация
chatДиалог в боковой панели и режим Agent, включая инструментыdeepseek-v4-flash по умолчанию, deepseek-v4-pro для сложных задач
editИнлайн-правка выделения (Cmd/Ctrl+I) — точечное переписывание фрагмента кодаЛюбая из V4; Flash достаточно быстр, чтобы ощущаться инлайн
applyПеренос блока кода из чата в файл со слияниемdeepseek-v4-flash — много коротких вызовов, пусть будут дешёвыми
autocompleteПодсказки по мере набора (fill-in-the-middle)Намеренно не указана

autocomplete отсутствует в примере не случайно. Автодополнение Continue использует промпты fill-in-the-middle против эндпоинта в стиле completions, которого у genmux нет — только chat completions. Не назначайте чат-модель на эту роль: она будет выдавать ответы в форме чата там, где вы ждали строку кода.

Про apply одна заметка. Continue может применить блок простым текстовым слиянием или попросить модель; на модели с контекстом 1M вроде V4 Flash путь через модель надёжен, а вызовы крошечные. Цены за 1М токенов для двух моделей: Flash $0.198 вход / $0.594 выход, Pro $0.594 / $1.782.

Режим Agent и как выглядят вызовы инструментов

В режиме Agent Continue отправляет встроенные инструменты — чтение файла, запись, команда в терминале, поиск, а также MCP-инструменты, которые вы добавили, — в массиве tools. genmux эмулирует вызов функций для семи моделей выше (шлюз вендора отбрасывает tools, поэтому определения вписываются в системный промпт, а ответ разбирается обратно); Continue получает стандартные tool_calls OpenAI, показывает карточку подтверждения, выполняет инструмент и отправляет role: tool назад. Две вещи из этой эмуляции видны в редакторе:

  • Определения считаются как токены промпта, примерно 40 на инструмент плюс схема. Набор Continue небольшой — несколько сотен токенов; каждый MCP-сервер сверху приносит свои.
  • tool_choice: required — подсказка, которую модель может проигнорировать. Continue использует auto, и в нашем тесте агентских задач из 20 задач V4 Pro сделал все ожидаемые вызовы (20/20), Flash — 19/20; подробности в посте про эмуляцию вызова функций.

Если хочется, чтобы ассистент ещё и генерировал картинки прямо из редактора, добавьте MCP-сервер genmux в mcpServers того же файла: он отдаёт generate_image и estimate_cost как инструменты, которые чат-модель может вызывать.

Без IDE: cn -p --auto

CLI — тот же движок без редактора:

bash
npm i -g @continuedev/cli
cn --config ./config.yaml                        # interactive TUI in the current repo
cn --config ./config.yaml -p --auto "add unit tests for pkg/parse and make them pass"

-p (print) выполняет один промпт и выходит; --auto подтверждает вызовы инструментов без вопросов — то, что нужно скрипту или шагу CI. Этой связкой мы проверяем каждый релиз: временный репозиторий, этот конфиг, cn -p --auto "create hello.txt containing hi", проверка файла. Перед каждым тегом это проходит на deepseek-v4-flash и qwen3-max против продакшена.

Несколько практических моментов для скриптов:

  • Если конфиг лежит в репозитории, передавайте ключ через окружение, а не в файле.
  • --auto выполняет всё, что попросит модель, включая команды оболочки. Запускайте в контейнере или во временной копии — как любого агента с инструментом терминала.
  • Каждый запуск cn — это несколько чат-запросов, каждый из которых — задание genmux; GET /v1/generations?capability=text.chat перечисляет их со стоимостью каждого — это более чистая бухгалтерия, чем разбор вывода CLI.

С чего начать

Один config.yaml с provider: openai, apiBase: https://api.genmux.tech/v1 и capabilities: [tool_use] даёт Continue — и в IDE, и в терминале — DeepSeek V4 и Qwen3 через один ключ genmux. Краткая версия для каждого клиента — на странице про агентов, а у остальных агентов свои посты — OpenCode, aider, Cline и Roo Code, — а справочник по чат-эндпоинту в документации.

Об авторе

Автор genmux API Team — genmux API.

Подробнее о нас