Вайб-кодинг в Qwen Code: Настройка через RouterAI (Qwen, Claude, GPT, DeepSeek)
Qwen Code
Qwen Code — открытый (Apache-2.0) ИИ-агент для программирования в терминале от команды Qwen. Он читает и правит файлы проекта, запускает команды, работает с MCP-серверами, а ещё подключается к IDE (VS Code, Zed, JetBrains). Главное для нас: агент не привязан к одному вендору и поддерживает OpenAI-, Anthropic- и Gemini-совместимые API, так что к нему можно подключить любой сторонний провайдер.
Бесплатный тариф Qwen OAuth закрыт: по документации Qwen Code он прекращён 15.04.2026. RouterAI решает это одним ключом: работа из России без VPN, оплата в рублях и сотни моделей в одном каталоге — Qwen, Claude, GPT, DeepSeek, GLM. Меняете модель командой /model, не трогая ключи и аккаунты.
Требования
- macOS, Linux или Windows
- Node.js 22 или новее — для установки через npm
- API-ключ из личного кабинета
Установка
Через npm:
npm install -g @qwen-code/qwen-code@latest
Или через Homebrew (macOS / Linux):
brew install qwen-code
Также есть автономный установщик, который не требует Node.js — команды для Linux/macOS и Windows приведены в README проекта. Проверьте версию:
qwen --version
Подключение к RouterAI
Qwen Code описывает провайдеров в блоке modelProviders файла ~/.qwen/settings.json (общий для пользователя) или .qwen/settings.json в корне проекта. Ключ в настройки не записывается: в поле envKey указывается имя переменной окружения, а значение агент читает из process.env.
-
Сохраните ключ в переменную окружения (macOS / Linux; для постоянной настройки добавьте строку в
~/.zshrcили~/.bashrc):export ROUTERAI_API_KEY="sk-xxxxxxxxxxxxxxxx"Вместо
exportможно положить строкуROUTERAI_API_KEY=...в файл~/.qwen/.env— Qwen Code подхватит его автоматически. -
Создайте или откройте
~/.qwen/settings.jsonи добавьте провайдера:{ "modelProviders": { "openai": [ { "id": "anthropic/claude-sonnet-5.5", "name": "Claude Sonnet 5.5 (RouterAI)", "envKey": "ROUTERAI_API_KEY", "baseUrl": "https://routerai.ru/api/v1" }, { "id": "qwen/qwen3.8-max-0902", "name": "Qwen3.8 Max (RouterAI)", "envKey": "ROUTERAI_API_KEY", "baseUrl": "https://routerai.ru/api/v1" } ] }, "security": { "auth": { "selectedType": "openai" } }, "model": { "name": "anthropic/claude-sonnet-5.5" } } -
Запустите агента в папке проекта:
cd /path/to/your/project qwen

Что значат поля:
| Поле | Назначение |
|---|---|
id |
Идентификатор модели, который уходит в API. Берите точно как в каталоге RouterAI |
name |
Подпись в меню /model (необязательно) |
envKey |
Имя переменной окружения с ключом |
baseUrl |
Корень API, без /chat/completions — путь SDK добавит сам |
security.auth.selectedType |
Протокол при старте: openai или anthropic
|
model.name |
Модель по умолчанию, должна совпадать с одним из id
|
Блок
"env": { "ROUTERAI_API_KEY": "..." }вsettings.jsonтоже работает, но это запасной вариант с наименьшим приоритетом, и ключ лежит в файле открытым текстом. Не коммитьте такие файлы в git.
Протокол Anthropic Messages API
Модели Claude можно подключить и по нативному протоколу Anthropic. Для этого добавьте провайдера в секцию anthropic, а baseUrl укажите без /v1:
{
"modelProviders": {
"anthropic": [
{
"id": "anthropic/claude-sonnet-5.5",
"name": "Claude Sonnet 5.5 (Messages API)",
"envKey": "ROUTERAI_API_KEY",
"baseUrl": "https://routerai.ru/api"
}
]
}
}
Оба протокола можно держать в одном файле: Qwen Code сгруппирует модели по протоколам в меню /model.
Переключение модели на лету
Внутри сессии выполните /model и выберите нужную запись стрелками. Правки в modelProviders подхватываются без перезапуска — достаточно заново открыть /model. Выбор запоминается между сессиями. Модель можно задать и при запуске:
qwen --model "qwen/qwen3.8-max-0902"

Выбор модели
Все id ниже есть в каталоге RouterAI и отвечают на запросы через https://routerai.ru/api/v1. Актуальные цены смотрите там же — они зависят от модели и объёма контекста.
| Модель | Контекст | Для чего |
|---|---|---|
qwen/qwen3.8-max-0902 |
1 млн | Max-модель Qwen3.8: сложные задачи и рефакторинг |
qwen/qwen3.8-flash |
1 млн | Быстрые и недорогие правки, повседневные вопросы по коду |
qwen/qwen3-coder-next |
262 тыс. | Модель серии Qwen Coder для работы с кодом |
anthropic/claude-sonnet-5.5 |
1 млн | Основная рабочая модель для агентных задач |
deepseek/deepseek-v4.1-flash |
1 млн | Дешёвая быстрая модель для рутины |
z-ai/glm-5.3 |
1 млн | Универсальная модель семейства GLM с большим контекстом |
openai/gpt-5.5 |
1,05 млн | Сложные задачи, когда нужна модель OpenAI |
Чтобы все они были в /model, добавьте по записи на каждую в массив openai с тем же envKey и baseUrl.
Проверка подключения
Запустите qwen в папке проекта и дайте короткое задание — например, прочитать файл и ответить на вопрос по нему. В строке состояния внизу должна быть выбранная модель, а в шапке — API Key | <имя модели>.

Быстро проверить сам ключ и эндпоинт можно и без агента:
curl https://routerai.ru/api/v1/chat/completions \
-H "Authorization: Bearer $ROUTERAI_API_KEY" \
-H "Content-Type: application/json" \
-d '{"model": "anthropic/claude-sonnet-5.5", "max_tokens": 64, "messages": [{"role": "user", "content": "Привет!"}]}'
Для разового запуска в скриптах и CI есть headless-режим: qwen -p "ваш запрос".
Решение проблем
401 Unauthorized
Ключ неверный, отозван или переменная ROUTERAI_API_KEY не передана процессу qwen. Проверьте echo $ROUTERAI_API_KEY в том же терминале, где запускаете агента, и сверьтесь с ключом в личном кабинете. Помните: в envKey пишется имя переменной, а не сам ключ. Если переменная вообще не найдена, Qwen Code может открыть меню /auth — выйдите из него и задайте ключ.
Model not found (400)
Такого id нет в каталоге. Скопируйте точное значение со страницы каталога моделей: у Qwen, DeepSeek и GLM id содержит префикс вендора (qwen/..., deepseek/..., z-ai/...).
Модели нет в меню /model
Скорее всего, ключ провайдера в modelProviders не входит в список поддерживаемых: допустимы openai, anthropic, gemini, vertex-ai, а запись с произвольным именем (например, openai-custom) пропускается с предупреждением. Проверьте и синтаксис JSON — лишняя запятая ломает файл.
Ошибка wireApi
В записи openai можно указать "wireApi": "chat-completions" (значение по умолчанию) или "responses". Любые другие значения, а также wireApi у моделей в секциях anthropic и gemini — ошибка конфигурации. Режим responses требует эндпоинта, совместимого с OpenAI Responses API; если не уверены — не задавайте поле вообще.
Неверный baseUrl
Проверьте адрес: для openai это https://routerai.ru/api/v1 (без /chat/completions), для anthropic — https://routerai.ru/api (без /v1).
402 Payment Required
Недостаточно средств на балансе. Пополните его в разделе Биллинг.
Что дальше
- Каталог моделей — подберите модель под задачу
- Вайб-кодинг в Claude Code — другой CLI-агент с Anthropic-протоколом
- Вайб-кодинг в OpenCode и в Codex — похожие терминальные агенты
- Аутентификация — управление API-ключами и безопасность
-
Документация Qwen Code: Model Providers — полный список параметров
modelProviders