Аутентификация
Qwen Code поддерживает три метода аутентификации. Выберите тот, который соответствует способу запуска CLI:
- OAuth от Qwen: войдите в систему с помощью учётной записи
qwen.aiв браузере. Бесплатно с ежедневным лимитом. - План Alibaba Cloud Coding: используйте API-ключ от Alibaba Cloud. Платная подписка с выбором различных моделей и повышенными лимитами.
- API-ключ: используйте собственный API-ключ. Гибкое решение под ваши задачи — поддерживает совместимые эндпоинты OpenAI, Anthropic, Gemini и других провайдеров.
Вариант 1: OAuth от Qwen (бесплатно)
Используйте этот вариант, если вам нужна самая простая настройка и вы используете модели Qwen.
- Как это работает: при первом запуске Qwen Code открывает в браузере страницу входа. После завершения входа учётные данные кэшируются локально, поэтому повторный вход обычно не требуется.
- Требования: учётная запись
qwen.aiи доступ в интернет (хотя бы для первого входа). - Преимущества: отсутствие необходимости управлять API-ключами, автоматическое обновление учётных данных.
- Стоимость и квоты: бесплатно, с квотой 60 запросов/минуту и 1000 запросов/день.
Запустите CLI и следуйте инструкциям в браузере:
qwenВ неинтерактивных или headless-средах (например, в CI, по SSH, в контейнерах) выполнить OAuth-процедуру входа через браузер обычно невозможно.
В таких случаях используйте план Alibaba Cloud Coding или метод аутентификации по API-ключу.
💳 Вариант 2: План кодирования Alibaba Cloud
Используйте этот вариант, если вам нужны предсказуемые расходы, широкий выбор моделей и повышенные квоты использования.
- Как это работает: Подпишитесь на План кодирования с фиксированной ежемесячной платой, затем настройте Qwen Code для использования выделенной конечной точки и API-ключа вашей подписки.
- Требования: Получите активную подписку на План кодирования на сайте Aliyun Bailian или Alibaba Cloud , в зависимости от региона вашего аккаунта.
- Преимущества: Широкий выбор моделей, повышенные квоты использования, предсказуемые ежемесячные расходы, доступ к обширному набору моделей (Qwen, GLM, Kimi, Minimax и другие).
- Стоимость и квоты: См. документацию по Плану кодирования Aliyun Bailian .
План кодирования Alibaba Cloud доступен в двух регионах:
| Регион | URL консоли |
|---|---|
| Aliyun Bailian (aliyun.com) | bailian.console.aliyun.com |
| Alibaba Cloud (alibabacloud.com) | bailian.console.alibabacloud.com |
Интерактивная настройка
Введите qwen в терминале, чтобы запустить Qwen Code, затем выполните команду /auth и выберите План кодирования Alibaba Cloud. Выберите регион, а затем введите свой ключ sk-sp-xxxxxxxxx.
После аутентификации используйте команду /model, чтобы переключаться между всеми моделями, поддерживаемыми Планом кодирования Alibaba Cloud (включая qwen3.5-plus, qwen3-coder-plus, qwen3-coder-next, qwen3-max, glm-4.7 и kimi-k2.5).
Альтернатива: настройка через settings.json
Если вы предпочитаете пропустить интерактивный процесс /auth, добавьте следующее в файл ~/.qwen/settings.json:
{
"modelProviders": {
"openai": [
{
"id": "qwen3-coder-plus",
"name": "qwen3-coder-plus (План кодирования)",
"baseUrl": "https://coding.dashscope.aliyuncs.com/v1",
"description": "Модель qwen3-coder-plus из Плана кодирования Alibaba Cloud",
"envKey": "BAILIAN_CODING_PLAN_API_KEY"
}
]
},
"env": {
"BAILIAN_CODING_PLAN_API_KEY": "sk-sp-xxxxxxxxx"
},
"security": {
"auth": {
"selectedType": "openai"
}
},
"model": {
"name": "qwen3-coder-plus"
}
}Для Плана кодирования используется отдельная конечная точка (https://coding.dashscope.aliyuncs.com/v1), отличная от стандартной конечной точки Dashscope. Убедитесь, что указан правильный параметр baseUrl.
🚀 Вариант 3: Ключ API (гибкий)
Используйте этот вариант, если вы хотите подключиться к сторонним провайдерам, таким как OpenAI, Anthropic, Google, Azure OpenAI, OpenRouter, ModelScope или к самостоятельно размещённому эндпоинту. Поддерживает несколько протоколов и провайдеров.
Рекомендуемый способ: настройка в одном файле через settings.json
Самый простой способ начать работу с аутентификацией по API-ключу — разместить всю конфигурацию в одном файле ~/.qwen/settings.json. Ниже приведён полный готовый к использованию пример:
{
"modelProviders": {
"openai": [
{
"id": "qwen3-coder-plus",
"name": "qwen3-coder-plus",
"baseUrl": "https://dashscope.aliyuncs.com/compatible-mode/v1",
"description": "Qwen3-Coder через Dashscope",
"envKey": "DASHSCOPE_API_KEY"
}
]
},
"env": {
"DASHSCOPE_API_KEY": "sk-xxxxxxxxxxxxx"
},
"security": {
"auth": {
"selectedType": "openai"
}
},
"model": {
"name": "qwen3-coder-plus"
}
}Назначение каждого поля:
| Поле | Описание |
|---|---|
modelProviders | Объявляет доступные модели и способ подключения к ним. Ключи (openai, anthropic, gemini) обозначают используемый протокол API. |
env | Хранит API-ключи непосредственно в settings.json как резервный вариант (низший приоритет — переменные окружения из export и файлы .env имеют приоритет). |
security.auth.selectedType | Указывает Qwen Code, какой протокол использовать при запуске (например, openai, anthropic, gemini). Без этого параметра потребуется интерактивная команда /auth. |
model.name | Модель по умолчанию, активируемая при старте Qwen Code. Должна совпадать с одним из значений id в вашем разделе modelProviders. |
После сохранения файла просто выполните команду qwen — интерактивная настройка /auth не требуется.
В следующих разделах каждая часть описана подробнее. Если приведённый выше быстрый пример работает у вас, вы можете сразу перейти к разделу Примечания по безопасности.
Ключевая концепция — поставщики моделей (modelProviders): Qwen Code поддерживает несколько протоколов API, а не только OpenAI. Вы настраиваете доступные поставщики и модели, редактируя файл ~/.qwen/settings.json, а затем переключаетесь между ними во время выполнения с помощью команды /model.
Поддерживаемые протоколы
| Протокол | Ключ в modelProviders | Переменные окружения | Поставщики |
|---|---|---|---|
| Совместимый с OpenAI | openai | OPENAI_API_KEY, OPENAI_BASE_URL, OPENAI_MODEL | OpenAI, Azure OpenAI, OpenRouter, ModelScope, Alibaba Cloud, любой совместимый с OpenAI эндпоинт |
| Anthropic | anthropic | ANTHROPIC_API_KEY, ANTHROPIC_BASE_URL, ANTHROPIC_MODEL | Anthropic Claude |
| Google GenAI | gemini | GEMINI_API_KEY, GEMINI_MODEL | Google Gemini |
Шаг 1. Настройте модели и поставщиков в файле ~/.qwen/settings.json
Укажите, какие модели доступны для каждого протокола. Для каждой модели необходимо задать как минимум поля id и envKey (имя переменной окружения, содержащей ваш API-ключ).
Рекомендуется определять modelProviders в пользовательском файле ~/.qwen/settings.json, чтобы избежать конфликтов слияния между настройками проекта и пользователя.
Отредактируйте файл ~/.qwen/settings.json (создайте его, если он отсутствует). В одном файле можно комбинировать несколько протоколов — ниже приведён пример с несколькими поставщиками моделей (показана только секция modelProviders):
{
"modelProviders": {
"openai": [
{
"id": "gpt-4o",
"name": "GPT-4o",
"envKey": "OPENAI_API_KEY",
"baseUrl": "https://api.openai.com/v1"
}
],
"anthropic": [
{
"id": "claude-sonnet-4-20250514",
"name": "Claude Sonnet 4",
"envKey": "ANTHROPIC_API_KEY"
}
],
"gemini": [
{
"id": "gemini-2.5-pro",
"name": "Gemini 2.5 Pro",
"envKey": "GEMINI_API_KEY"
}
]
}
}Не забудьте также задать параметры env, security.auth.selectedType и model.name вместе с modelProviders. Пример полной конфигурации см. в разделе Рекомендуемая настройка в одном файле через settings.json.
Поля ModelConfig (каждая запись внутри modelProviders):
| Поле | Обязательно | Описание |
|---|---|---|
id | Да | Идентификатор модели, передаваемый в API (например, gpt-4o, claude-sonnet-4-20250514) |
name | Нет | Отображаемое имя в выборе модели /model (по умолчанию совпадает с id) |
envKey | Да | Имя переменной окружения для API-ключа (например, OPENAI_API_KEY) |
baseUrl | Нет | Переопределение конечной точки API (полезно при использовании прокси или кастомных эндпоинтов) |
generationConfig | Нет | Тонкая настройка параметров: timeout, maxRetries, samplingParams и др. |
При использовании поля env в settings.json учётные данные хранятся в виде обычного текста. Для повышения безопасности предпочтительнее использовать файлы .env или команду оболочки export. Подробнее см. в шаге 2.
Полная схема modelProviders и расширенные параметры, такие как generationConfig, customHeaders и extra_body, описаны в разделе Справочник по поставщикам моделей.
Шаг 2. Установка переменных окружения
Qwen Code считывает ключи API из переменных окружения (указанных в параметре envKey вашей конфигурации модели). Существует несколько способов их задать; ниже они перечислены в порядке от самого высокого до самого низкого приоритета:
1. Переменные окружения оболочки / команда export (наивысший приоритет)
Установите их напрямую в файле профиля вашей оболочки (~/.zshrc, ~/.bashrc и т. д.) или перед запуском — в командной строке:
# Alibaba Dashscope
export DASHSCOPE_API_KEY="sk-..."
# OpenAI / совместимые с OpenAI сервисы
export OPENAI_API_KEY="sk-..."
# Anthropic
export ANTHROPIC_API_KEY="sk-ant-..."
# Google GenAI
export GEMINI_API_KEY="AIza..."2. Файлы .env
Qwen Code автоматически загружает первый найденный файл .env (переменные из нескольких файлов не объединяются). Загружаются только те переменные, которые ещё не присутствуют в process.env.
Порядок поиска (от текущей директории вверх к /):
.qwen/.env(рекомендуется — изолирует переменные Qwen Code от других инструментов).env
Если ни один файл не найден, происходит переход к домашней директории:
~/.qwen/.env~/.env
Для предотвращения конфликтов с другими инструментами рекомендуется использовать .qwen/.env, а не .env. Некоторые переменные (например, DEBUG и DEBUG_MODE) исключены из проектных файлов .env, чтобы не нарушать поведение Qwen Code.
3. Поле env в settings.json (низший приоритет)
Также можно задать ключи API непосредственно в файле ~/.qwen/settings.json в разделе env. Эти значения используются как резервный вариант с наименьшим приоритетом: они применяются только тогда, когда переменная ещё не установлена через системную среду или файлы .env.
{
"env": {
"DASHSCOPE_API_KEY": "sk-...",
"OPENAI_API_KEY": "sk-...",
"ANTHROPIC_API_KEY": "sk-ant-..."
}
}Этот подход используется в примере настройки в одном файле выше. Он удобен для централизации всех параметров, однако имейте в виду, что файл settings.json может быть общим или синхронизироваться — для хранения чувствительных данных предпочтительнее использовать файлы .env.
Сводка приоритетов:
| Приоритет | Источник | Поведение при переопределении |
|---|---|---|
| 1 (высший) | Флаги CLI (--openai-api-key) | Имеют абсолютный приоритет |
| 2 | Системная среда (export, inline) | Переопределяет значения из .env и settings.json → env |
| 3 | Файл .env | Устанавливает переменные только если их нет в системной среде |
| 4 (низший) | settings.json → env | Устанавливает переменные только если их нет в системной среде или в .env |
Шаг 3. Смена моделей с помощью команды /model
После запуска Qwen Code используйте команду /model, чтобы переключаться между всеми настроенными моделями. Модели сгруппированы по протоколу:
/modelВ интерактивном списке отобразятся все модели из вашей конфигурации modelProviders, сгруппированные по протоколу (например, openai, anthropic, gemini). Выбранный вами вариант сохраняется между сеансами.
Также можно напрямую указать модель через аргумент командной строки — это удобно при работе в нескольких терминалах.
# В одном терминале
qwen --model "qwen3-coder-plus"
# В другом терминале
qwen --model "qwen3.5-plus"Примечания по безопасности
- Не добавляйте API-ключи в систему контроля версий.
- Предпочтительно использовать файл
.qwen/.envдля хранения секретов, локальных для проекта (и исключите его из индексации Git). - Считайте вывод терминала чувствительным, если он содержит учётные данные, используемые для проверки.