Аутентификация
При первом запуске меню /auth в Qwen Code содержит три основных варианта. Выберите тот, который соответствует вашему сценарию использования CLI:
- Alibaba ModelStudio: официальная рекомендованная настройка. Открывает подменю с вариантами Coding Plan (Тарифный план для разработчиков) (для индивидуальных разработчиков — еженедельная квота включена), Token Plan (Тарифный план по токенам) (для команд и компаний — оплата по использованию с выделенным эндпоинтом) или Standard API Key (Стандартный API-ключ) (подключение по существующему API-ключу ModelStudio).
- Сторонние провайдеры: выберите встроенного провайдера и подключитесь через API-ключ (DeepSeek, MiniMax, Z.AI, Idealab, ModelScope, OpenRouter, Requesty).
- Пользовательский провайдер: вручную подключите локальный сервер, прокси или неподдерживаемого провайдера — поддерживаются эндпоинты, совместимые с OpenAI, Anthropic, Gemini и другими.
Qwen OAuth больше не отображается как опция в диалоговом меню — его бесплатный тариф был прекращён 15 апреля 2026 года. Ниже он всё ещё описан как жёстко зашитый, более не поддерживаемый провайдер.
Вариант 1: Qwen OAuth (Прекращён)
Бесплатный тариф Qwen OAuth был прекращён 15 апреля 2026 года. Ранее кэшированные токены могут ещё некоторое время работать, но новые запросы будут отклоняться. Пожалуйста, переключитесь на Alibaba Cloud Coding Plan, OpenRouter , Fireworks AI или другого провайдера. Запустите qwen и используйте /auth для настройки.
- Как это работает: при первом запуске Qwen Code открывает страницу входа в браузере. После входа учётные данные кэшируются локально, и обычно повторный вход не требуется.
- Требования: учётная запись на
qwen.ai+ доступ в интернет (как минимум для первого входа). - Преимущества: отсутствие необходимости управлять API-ключами, автоматическое обновление учётных данных.
- Стоимость и квота: бесплатный тариф прекращён с 15 апреля 2026 года.
Запустите CLI и следуйте процедуре в браузере:
qwenQwen OAuth больше не предлагается как выбираемая опция в диалоге /auth. Вместо этого выполните /auth и выберите один из текущих вариантов (Alibaba ModelStudio, сторонний провайдер или пользовательский провайдер).
В неинтерактивных средах или средах без графического интерфейса (например, CI, SSH, контейнеры) обычно невозможно пройти процедуру OAuth-входа в браузере. В таких случаях используйте метод аутентификации Alibaba Cloud Coding Plan или API-ключ.
💳 Вариант 2: Alibaba Cloud Coding Plan
Используйте этот вариант, если вам нужна предсказуемая стоимость при разнообразных вариантах моделей и более высоких квотах использования.
- Как это работает: оформите подписку на Coding Plan с фиксированной ежемесячной платой, затем настройте Qwen Code на использование выделенного эндпоинта и вашего API-ключа подписки.
- Требования: получите активную подписку Coding Plan на Alibaba Cloud ModelStudio (Пекин) или Alibaba Cloud ModelStudio (международная версия) в зависимости от региона вашей учётной записи.
- Преимущества: разнообразные варианты моделей, более высокие квоты использования, предсказуемая ежемесячная стоимость, доступ к широкому спектру моделей (Qwen, GLM, Kimi, Minimax и другие).
- Стоимость и квота: просмотрите документацию Aliyun ModelStudio Coding Plan (Пекин , международная версия ).
Alibaba Cloud Coding Plan доступен в двух регионах:
| Регион | URL консоли |
|---|---|
| Aliyun ModelStudio (Пекин) | bailian.console.aliyun.com |
| Alibaba Cloud (международный) | bailian.console.alibabacloud.com |
Интерактивная настройка
Введите qwen в терминале, чтобы запустить Qwen Code, затем выполните команду /auth, выберите Alibaba ModelStudio и выберите Coding Plan из подменю. Выберите ваш регион, затем введите ключ sk-sp-xxxxxxxxx.
После аутентификации используйте команду /model для переключения между всеми моделями, поддерживаемыми Alibaba Cloud Coding Plan (включая qwen3.5-plus, qwen3.6-plus, qwen3.7-plus, qwen3-coder-plus, qwen3-coder-next, qwen3-max-2026-01-23, glm-5, glm-4.7, kimi-k2.5 и MiniMax-M2.5).
Настройка без интерактивного режима или по скрипту
Для CI, контейнеров или скриптов настройте Coding Plan с помощью переменных окружения или settings.json вместо удалённой команды qwen auth coding-plan.
export BAILIAN_CODING_PLAN_API_KEY="sk-sp-xxxxxxxxx"
export OPENAI_BASE_URL="https://coding.dashscope.aliyuncs.com/v1"
export OPENAI_MODEL="qwen3-coder-plus"Используйте https://coding.dashscope.aliyuncs.com/v1 для эндпоинта в Китае (Пекин) или https://coding-intl.dashscope.aliyuncs.com/v1 для международного эндпоинта.
Альтернатива: настройка через settings.json
Если вы предпочитаете пропустить интерактивную процедуру /auth, добавьте следующее в ~/.qwen/settings.json:
{
"modelProviders": {
"openai": {
"protocol": "openai",
"models": [
{
"id": "qwen3-coder-plus",
"name": "qwen3-coder-plus (Coding Plan)",
"baseUrl": "https://coding.dashscope.aliyuncs.com/v1",
"description": "qwen3-coder-plus от Alibaba Cloud Coding Plan",
"envKey": "BAILIAN_CODING_PLAN_API_KEY"
}
]
}
},
"env": {
"BAILIAN_CODING_PLAN_API_KEY": "sk-sp-xxxxxxxxx"
},
"security": {
"auth": {
"selectedType": "openai"
}
},
"model": {
"name": "qwen3-coder-plus"
}
}Coding Plan использует выделенный эндпоинт (https://coding.dashscope.aliyuncs.com/v1), который отличается от стандартного эндпоинта Dashscope. Убедитесь, что вы используете правильный baseUrl.
🚀 Вариант 3: API-ключ (гибкий)
Используйте этот вариант, если хотите подключиться к сторонним провайдерам, таким как OpenAI, Anthropic, Google, Azure OpenAI, OpenRouter, Requesty, ModelScope или самостоятельно размещённому эндпоинту. Поддерживает несколько протоколов и провайдеров.
Рекомендуется: настройка в одном файле через settings.json
Самый простой способ начать работу с аутентификацией по API-ключу — поместить всё в один файл ~/.qwen/settings.json. Вот полный готовый к использованию пример:
{
"modelProviders": {
"openai": {
"protocol": "openai",
"models": [
{
"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 как запасной вариант (самый низкий приоритет — shell 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, Requesty, 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 |
| Vertex AI | vertex-ai | GOOGLE_API_KEY, GOOGLE_MODEL (устанавливает GOOGLE_GENAI_USE_VERTEXAI=true; использует протокол gemini) | Google Vertex AI |
Шаг 1: Настройка моделей и провайдеров в ~/.qwen/settings.json
Определите, какие модели доступны для каждого протокола. Каждая запись модели требует как минимум id; envKey (имя переменной окружения, содержащей ваш API-ключ) является необязательным и рекомендуется. Если он опущен, используется переменная окружения по умолчанию для данного типа аутентификации (например, OPENAI_API_KEY для openai).
Рекомендуется определять modelProviders в файле ~/.qwen/settings.json для области пользователя, чтобы избежать конфликтов слияния между настройками проекта и пользователя.
Отредактируйте ~/.qwen/settings.json (создайте его, если он не существует). Вы можете смешивать несколько протоколов в одном файле — вот пример с несколькими провайдерами, показывающий только раздел modelProviders:
{
"modelProviders": {
"openai": {
"protocol": "openai",
"models": [
{
"id": "gpt-4o",
"name": "GPT-4o",
"envKey": "OPENAI_API_KEY",
"baseUrl": "https://api.openai.com/v1"
}
]
},
"anthropic": {
"protocol": "anthropic",
"models": [
{
"id": "claude-sonnet-4-20250514",
"name": "Claude Sonnet 4",
"envKey": "ANTHROPIC_API_KEY"
}
]
},
"gemini": {
"protocol": "gemini",
"models": [
{
"id": "gemini-2.5-pro",
"name": "Gemini 2.5 Pro",
"envKey": "GEMINI_API_KEY"
}
]
}
}
}Не забудьте также задать env, security.auth.selectedType и model.name вместе с modelProviders — см. полный пример выше.
Поля ModelConfig (каждая запись внутри modelProviders):
| Поле | Обязательно | Описание |
|---|---|---|
id | Да | 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 или shell export — см. Шаг 2.
Полную схему modelProviders и расширенные опции, такие как generationConfig, customHeaders и extra_body, см. в Справочнике по модельным провайдерам.
Шаг 2: Установка переменных окружения
Qwen Code считывает API-ключи из переменных окружения (заданных с помощью envKey в конфигурации модели). Существует несколько способов их предоставления, перечисленных ниже от наивысшего к самому низкому приоритету:
1. Окружение shell / export (наивысший приоритет)
Установите непосредственно в профиле shell (~/.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. settings.json → поле env (самый низкий приоритет)
Вы также можете определить 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"Удалённая CLI-команда qwen auth
Отдельная CLI-команда qwen auth была удалена. Используйте следующие замены:
| Предыдущий сценарий использования | Замена |
|---|---|
| Интерактивная настройка аутентификации | Запустите qwen, затем используйте /auth |
| Настройка Coding Plan | Используйте /auth или установите BAILIAN_CODING_PLAN_API_KEY с базовым URL Coding Plan |
| Настройка OpenRouter | Используйте /auth или установите OPENROUTER_API_KEY и OPENAI_BASE_URL=https://openrouter.ai/api/v1 |
| Настройка Requesty | Используйте /auth или установите REQUESTY_API_KEY и OPENAI_BASE_URL=https://router.requesty.ai/v1 |
| Настройка API-ключа или пользовательского провайдера | Настройте ~/.qwen/settings.json, .env или переменные окружения, специфичные для провайдера |
| Проверка текущей аутентификации | Выполните /doctor внутри Qwen Code |
| Процедура OAuth в браузере | Запустите qwen интерактивно и используйте /auth; OAuth нельзя настроить только с помощью переменных окружения |
Устаревшие вызовы, такие как qwen auth status, теперь выводят уведомление об удалении с указанием этих путей миграции.
Замечания по безопасности
- Не сохраняйте API-ключи в системе контроля версий.
- Для секретов уровня проекта предпочитайте
.qwen/.env(и не добавляйте его в git). - Относитесь к выводу терминала как к конфиденциальному, если в нём отображаются учётные данные для проверки.