Разделы базы знаний ▾

Навигация

▸ Начните здесь По ролям

Категории

Инструменты 52
Глоссарий 12

Инструменты

Qwen Code после закрытия qwen-oauth: работа через JoinGonka Gateway

Qwen Code (команда qwen) — открытый терминальный агент для разработки от команды Qwen в Alibaba: разбирается в проекте, правит файлы, запускает команды и тесты — из терминала, редактора или скриптов. Проект вырос из Google Gemini CLI и развивается самостоятельно, код открыт под лицензией Apache-2.0. Протоколов агент знает несколько — OpenAI, Anthropic, Gemini, — поэтому к нему подключается почти любой поставщик моделей.

Начать работу с Qwen Code без ключа позволял бесплатный вход через аккаунт qwen.ai — тип авторизации qwen-oauth. 15 апреля 2026 года этот бесплатный уровень закрыли, а поведение по умолчанию осталось прежним: если тип авторизации не выбран, Qwen Code уходит именно в него, а старая установка отвечает строкой Qwen OAuth free tier was discontinued on 2026-04-15. Документация советует переключиться на другого поставщика, и проще всего это сделать через OpenAI-совместимый endpoint.

JoinGonka Gateway — как раз такой endpoint: через него Qwen Code работает на моделях децентрализованной сети Gonka — DeepSeek V4 Flash, GLM-5.3 Flash и MiniMax M2.7 — по единой цене $0.0069 за миллион входных токенов, без подписки. Собственных моделей Qwen в сети сейчас нет, но агенту это и не нужно: он работает с любой моделью, которая умеет вызывать инструменты. Команды и сообщения ниже сверены живым прогоном Qwen Code 0.24.4 через шлюз 23 сентября 2026 года. После подтверждения адреса на счёт придут 3M бесплатных токенов — их хватит, чтобы повторить весь путь самому.

Быстрый старт: установка и одна команда

Шаг 1: поставить Qwen Code. Официальные способы из README проекта:

# Linux and macOS: standalone build with its own Node.js
curl -fsSL https://qwen-code-assets.oss-cn-hangzhou.aliyuncs.com/installation/install-qwen-standalone.sh | bash

# Windows (PowerShell)
irm https://qwen-code-assets.oss-cn-hangzhou.aliyuncs.com/installation/install-qwen-standalone.ps1 | iex

# npm (requires Node.js 22 or newer)
npm install -g @qwen-code/qwen-code@latest

# Homebrew
brew install qwen-code

Скрипт кладёт команду в ~/.local/bin/qwen и при необходимости дописывает путь в файл настроек оболочки. Откройте терминал заново и проверьте: qwen --version.

Шаг 2: получить ключ. Зарегистрируйтесь на gate.joingonka.ai/register, подтвердите адрес и создайте в разделе «API-ключи» ключ с префиксом jg-.

Шаг 3: запустить установщик.

npx @joingonka/setup --tool qwen-code

Установщик спросит ключ (в аргументах командной строки он не передаётся, чтобы не осесть в истории оболочки) и отредактирует ~/.qwen/settings.json — файл, который документация Qwen Code предлагает для настройки «в одном файле»:

  • впишет ключ в блок env самого файла под именем JOINGONKA_API_KEY — туда же кладёт ключи собственная команда /auth; файл получит права 600, окружение оболочки не меняется;
  • добавит модели сети в список modelProviders.openai — с адресом шлюза, настоящими окнами контекста и потолками ответа; записи других ваших провайдеров в этом списке сохранятся;
  • если тип авторизации не выбран или всё ещё указывает на закрытый qwen-oauth, переключит его на openai и сделает моделью по умолчанию DeepSeek V4 Flash; рабочий выбор другого типа — anthropic, gemini, vertex-ai — без флага --model не трогает;
  • сохранит копию прежнего файла, не тронет комментарии и остальные настройки, а в конце отправит живой запрос на шлюз и скажет, приняты ли ключ, адрес и модель.

Так выглядел вывод на установке, где оставался qwen-oauth (сокращено):

Configured ~/.qwen/settings.json
Base URL: https://gate.joingonka.ai/v1
Default model: deepseek-ai/DeepSeek-V4-Flash-0731 (replaces qwen-oauth — that free tier was discontinued on 2026-04-15)
Switched Qwen Code to JoinGonka (auth type "openai") — this replaced your previous auth type "qwen-oauth".
To go back: run /auth (and /model) inside Qwen Code, or restore ~/.qwen/settings.json.bak.2026-09-23T04-22-32-159Z.
…
✓ Verified: the gateway accepted the key, base URL and model.

Другую модель по умолчанию задаёт флаг --model: сокращение glm, minimax или полный идентификатор; явно указанная модель записывается всегда. Режим без вопросов берёт ключ из переменной окружения:

JOINGONKA_API_KEY=jg-your-key npx @joingonka/setup --tool qwen-code --model glm --non-interactive

Каталог, перенесённый переменной QWEN_HOME, установщик находит сам. Повторный запуск обновит каталог моделей, а выбранную вами модель сети оставит: Kept your current default model.

Ручная настройка: settings.json

Всё, что делает установщик, можно написать руками. Файл — ~/.qwen/settings.json (или $QWEN_HOME/settings.json); Qwen Code читает его как JSON с комментариями. Рабочая конфигурация для сети Gonka целиком:

{
  "env": { "JOINGONKA_API_KEY": "jg-your-key" },
  "modelProviders": {
    "openai": [
      { "id": "deepseek-ai/DeepSeek-V4-Flash-0731", "name": "DeepSeek V4 Flash (Gonka)",
        "baseUrl": "https://gate.joingonka.ai/v1", "envKey": "JOINGONKA_API_KEY",
        "generationConfig": { "contextWindowSize": 380000, "samplingParams": { "max_tokens": 32768 } } },
      { "id": "zai-org/GLM-5.3-Flash", "name": "GLM 5.3 Flash (Gonka)",
        "baseUrl": "https://gate.joingonka.ai/v1", "envKey": "JOINGONKA_API_KEY",
        "generationConfig": { "contextWindowSize": 390000, "samplingParams": { "max_tokens": 8192 } } },
      { "id": "MiniMaxAI/MiniMax-M2.7", "name": "MiniMax M2.7 (Gonka)",
        "baseUrl": "https://gate.joingonka.ai/v1", "envKey": "JOINGONKA_API_KEY",
        "generationConfig": { "contextWindowSize": 200000, "samplingParams": { "max_tokens": 8192 } } }
    ]
  },
  "security": { "auth": { "selectedType": "openai" } },
  "model": { "name": "deepseek-ai/DeepSeek-V4-Flash-0731", "baseUrl": "https://gate.joingonka.ai/v1" }
}
ПолеЗначениеЧто важно
env.JOINGONKA_API_KEYключ jg-…Сам ключ. У записи модели поля для ключа нет — она ссылается на эту переменную через envKey
baseUrlhttps://gate.joingonka.ai/v1С /v1 на конце: путь /chat/completions Qwen Code дописывает сам. Ключ списка openai — это и есть протокол Chat Completions
contextWindowSizeокно моделиБез него Qwen Code оценит окно по имени модели; по этому числу он решает, когда сжимать историю
samplingParams.max_tokensпотолок ответаФиксирует лимит ответа. Без него, упёршись в лимит, Qwen Code может повторить запрос с лимитом от 64K — выше потолка любой модели сети
security.auth.selectedTypeopenaiКакой протокол включать при старте; без поля Qwen Code уходит в закрытый qwen-oauth
model.name, model.baseUrlмодель по умолчанию и её адресПара однозначно указывает на запись шлюза, даже если модель с тем же id заведена у другого провайдера

Где держать ключ. Значение переменной из envKey Qwen Code ищет по порядку: окружение оболочки, затем первый найденный .env (.qwen/.env или .env от текущего каталога вверх, потом ~/.qwen/.env и ~/.env) и только потом блок env файла. Отсюда главная ловушка: экспортированная в оболочке JOINGONKA_API_KEY со старым значением перебьёт файл — мы проверили это нарочно и получили 401 Invalid API key при верном ключе в settings.json. Установщик предупреждает, когда видит в окружении другое значение.

И оговорка про проекты: проектный .qwen/settings.json с собственным modelProviders не дополняет, а заменяет список из домашнего каталога — внутри такого проекта модели шлюза пропадут из /model. Ключ в проектный файл класть не стоит вовсе: вместе с ним он попадёт в репозиторий.

Правки modelProviders запущенная сессия подхватывает без перезапуска — достаточно заново открыть /model. Без редактора то же делает мастер /auth → Custom Provider.

Авторизация и модели: как Qwen Code выбирает, чем работать

У Qwen Code два независимых выбора: тип авторизации — какой протокол включить и откуда брать ключи — и модель. Тип хранится в security.auth.selectedType, и от него зависит, как поступит установщик:

Что стоит в selectedTypeЧто сделает установщик
ничего или qwen-oauthПоставит openai и модель по умолчанию из сети Gonka; закрытый тариф рабочим выбором не считается, но установщик напишет, что заменил и как вернуть
openaiВыбранную модель — шлюза или другого провайдера — оставит, обновит только каталог
anthropic, gemini, vertex-aiНе тронет: это рабочая связка. С флагом --model переключит и напишет, как вернуть прежнее

Внутри сессии модель меняет команда /model. В нашем прогоне она показала все записи шлюза с меткой протокола, а под списком — окно контекста, адрес и имя переменной с ключом:

Select Model

  1. [openai] MiniMax M2.7 (Gonka) (MiniMaxAI/MiniMax-M2.7)
› 2. [openai] DeepSeek V4 Flash (Gonka) (deepseek-ai/DeepSeek-V4-Flash-0731)
  3. [openai] GLM 5.3 Flash (Gonka) (zai-org/GLM-5.3-Flash)

Modality:       text-only
Context Window: 380,000 tokens
Base URL:       https://gate.joingonka.ai/v1
API Key:        JOINGONKA_API_KEY

Выбор из /model сохраняется между сессиями. На один запуск модель задаёт флаг -m с идентификатором: qwen -m zai-org/GLM-5.3-Flash. Отдельную лёгкую модель для подсказок и классификатора разрешений задаёт /model --fast; пока её нет, эту работу делает основная.

Какую модель выбрать. Цена у всех моделей сети одна, поэтому выбор — про поведение. Так они вели себя в Qwen Code 0.24.4 на одной и той же задаче — прочитать файл и найти ошибку (сверено 23 сентября 2026):

МодельКонтекст / ответКак ведёт себя в Qwen Code
DeepSeek V4 Flash380K / 32768Выбор установщика: большое окно и самый высокий потолок ответа в сети. Задачу решила за два хода
GLM-5.3 Flash390K / 8192Рассуждающая модель: самый аккуратный ответ, рассуждение приходит отдельным потоком и входит в лимит ответа
MiniMax M2.7200K / 8192Верный ответ за два хода и около семи секунд; рассуждение приходит отдельным потоком и в текст ответа не попадает

Рассуждение у GLM-5.3 Flash. Установщик задаёт каждой модели samplingParams, а в этом случае Qwen Code не добавляет в запрос уровень рассуждения: команда /effort до моделей сети не доходит, и GLM-5.3 Flash думает всегда. Если нужен переключатель, объявите уровни прямо в записи модели:

{
  "id": "zai-org/GLM-5.3-Flash",
  "capabilities": {
    "reasoning": { "profile": "openai-effort", "efforts": ["low", "high"], "defaultEffort": "high" }
  },
  …
}

Тогда Qwen Code начнёт отправлять reasoning_effort, а у GLM-5.3 Flash значение low выключает рассуждение целиком — подробности в обзоре модели. В нашем прогоне с "defaultEffort": "low" Qwen Code отправил reasoning_effort: "low", и модель ответила без блока рассуждений.

Проверка: что должно произойти

Самая быстрая проверка — разовый прогон. Положите в пустой каталог calc.py с функцией сложения, которая на самом деле вычитает, и попросите найти ошибку:

qwen -p "Read calc.py and tell me in one sentence whether it has a bug."

Агент должен сам вызвать инструмент чтения и ответить по существу. Так ответила GLM-5.3 Flash (запуск с -m zai-org/GLM-5.3-Flash):

Yes, there is a bug: the `add` function subtracts instead of adding (`return a - b`), so `print(add(2, 3))` prints `-1` instead of `5`.

В интерфейсе (qwen без аргументов) шапка покажет выбранную модель — API Key | DeepSeek V4 Flash (Gonka), — а тот же запрос отработает так:

> Read calc.py and tell me in one sentence whether it has a bug.
  ✓ Read calc.py, README.md

  ◆ Yes, calc.py has a bug: the add function returns the difference (a - b) instead of the sum (a + b). …

  ➜ demo · DeepSeek V4 Flash (Gonka) · 380.0k Context 5.1% used

Команда /stats покажет запросы и токены по моделям, а кабинет шлюза — тот же расход в разделе «Использование».

Режим одобрения в -p. Без флагов разовый прогон идёт в режиме Ask Permissions: подтверждать некому, поэтому инструменты, которым нужно разрешение, — команды оболочки, правка и запись файлов — модели просто не передаются. На просьбу выполнить ls агент в нашем прогоне ответил, что такого инструмента у него нет. Для правок добавьте --approval-mode auto-edit, для команд — --yolo; последний Qwen Code сопровождает предупреждением, что песочница не включена.

Если что-то пошло не так, диагноз обычно читается прямо из сообщения:

Что видноЧто это значитЧто сделать
No auth type is selected. Please configure an auth type …Тип авторизации не выбранЗапустите установщик или впишите "selectedType": "openai", как в примере выше
Qwen OAuth free tier was discontinued on 2026-04-15 …В настройках остался закрытый qwen-oauthЗапустите установщик: он переключит тип и скажет, что заменил
[API Error: 401 Invalid API key]Шлюз не принял ключПроверьте блок env и нет ли в оболочке или в .env переменной JOINGONKA_API_KEY со старым значением: она главнее файла
429 Model "…" is currently overloaded in the Gonka network (rate limit)У модели в сети кончилась свободная ёмкостьПовторите через минуту или смените модель; состояние видно на странице статуса
Request timeout after 151s …, затем Retrying provider attemptСеть под нагрузкой не начала отвечать за две с половиной минутыQwen Code повторит запрос сам; затянулось — смените модель

Сколько это стоит

Агент тратит токены иначе, чем чат: к каждой вашей фразе Qwen Code добавляет системный промпт и описания инструментов, а задача занимает несколько ходов. В нашем прогоне каждый запрос qwen -p нёс около 13 тысяч входных токенов ещё до сути дела, а «прочитай файл, найди ошибку» заняла два хода и около 27 тысяч токенов. В интерфейсе инструментов больше, и после ответа Qwen Code той же моделью делает служебные запросы — например, подсказку следующей реплики: /stats показал для той же задачи 4 запроса и около 79 тысяч входных токенов.

Через JoinGonka Gateway токены стоят $0.0069 за миллион на входе и $0.021 за миллион на выходе — цена одинакова для всех моделей сети и подставляется на этой странице из живого источника.

СценарийРасходЧерез Gateway
Разовая задача в qwen -p: прочитать файл, найти ошибку~27K токеновсотые доли цента
Та же задача в интерфейсе, со служебными запросами~79K токеновсотые доли цента
День активной работы3-7M токеновнесколько центов
Месяц активной разработки~150M токеновоколо доллара

Оценки в правой колонке — по ценам на сентябрь 2026. Для сравнения — как вообще можно платить за модели в Qwen Code:

СпособМодель оплатыЧто ограничивает
qwen-oauthбыл бесплатнымзакрыт 15 апреля 2026 года
Alibaba Cloud Coding Planфиксированная сумма в месяцквоты на стороне вендора, отдельный ключ sk-sp-…
Alibaba Cloud Token Planза токены, для команд и компанийрегиональный endpoint и ключ Alibaba Cloud
JoinGonka Gatewayза токены, предоплаченный балансрасход виден в кабинете; подписки и месячных квот нет

Служебные запросы выключаются, где не нужны: подсказки следующей реплики — "ui": { "enableFollowupSuggestions": false }, фоновая авто-память — "memory": { "enableManagedAutoMemory": false, "enableManagedAutoDream": false }. Точный расход и остаток — в кабинете, в разделах «Использование» и «Биллинг». Почему по умолчанию выбрана DeepSeek V4 Flash, подробно разобрано в обзоре модели.

Что учесть в работе

Режимы одобрения. В интерфейсе Qwen Code стартует в режиме Auto: чтение, поиск и правки внутри проекта разрешены сразу, а команды оболочки и прочие рискованные действия оценивает классификатор — отдельный запрос к модели. Остальные режимы — Plan, Ask Permissions, Auto-Edit и YOLO — перебираются по Shift+Tab (в Windows — Tab) или командой /approval-mode; режим по умолчанию задаёт ключ tools.approvalMode.

Фоновая работа. По умолчанию Qwen Code ведёт авто-память: после разговоров фоном извлекает заметки о проекте и ваших предпочтениях, а раз в день чистит их (Dream) — той же моделью. В разовом прогоне это заметно: qwen -p может не завершаться ещё несколько минут после ответа, пока фоновая задача ждёт модель. Для скриптов и CI выключите авто-память (ключи — в разделе выше) и ставьте потолки прогона: --max-wall-time, --max-session-turns, --max-tool-calls.

Картинки. Модели сети текстовые (Modality: text-only в /model). Для скриншотов назначьте модель-посредника другого провайдера командой /model --vision: она перескажет картинку текстом, а работать дальше будет основная модель.

Статистика. Анонимную статистику использования Qwen Code отправляет по умолчанию; выключает её "privacy": { "usageStatisticsEnabled": false }. Шлюз не хранит содержимое промптов и ответов — только агрегаты расхода.

Соседи по сети. Своих агентов выпускают и лаборатории, чьи модели обслуживает сеть: у DeepSeek это DeepSeek Harness, у MiniMax — MiniMax Code, у Z.ai, авторов GLM, — ZCode. Все они подключаются к тому же шлюзу с тем же ключом и расходуют один баланс.

Qwen Code — открытый терминальный агент команды Qwen, и после закрытия бесплатного qwen-oauth ему нужен собственный поставщик моделей. Быстрый путь — npx @joingonka/setup --tool qwen-code: установщик впишет ключ в блок env файла ~/.qwen/settings.json, добавит в modelProviders.openai DeepSeek V4 Flash, GLM-5.3 Flash и MiniMax M2.7 с настоящими лимитами, переключит security.auth.selectedType на openai и проверит связку живым запросом. Работают все три модели сети: по умолчанию стоит DeepSeek V4 Flash, а GLM-5.3 Flash и MiniMax M2.7 выбираются командой /model. Проверка — qwen -p на файле с ошибкой и раздел «Использование» в кабинете; платите за фактические токены по единой цене сети Gonka.

Хотите узнать больше?

Изучите другие разделы или начните зарабатывать GNK прямо сейчас.

Получить ключ и бесплатные токены →