Назад до блогу

Інструменти та інтеграціїПосібник

Підключення Qwen Code до CheapTokens: змінні середовища та settings.json

Спрямуйте Qwen Code на OpenAI-сумісний API за допомогою трьох змінних середовища або одного запису в settings.json: базовий URL, повний ідентифікатор моделі та ключ, що зберігається поза git.

Автор: CheapTokens TeamОпубліковано 4 хв читання

Термінал Qwen Code зі змінними OPENAI_API_KEY, OPENAI_BASE_URL і OPENAI_MODEL
На цій сторінці
  1. Встановлення Qwen Code
  2. Спосіб 1: три змінні середовища
  3. Спосіб 2: settings.json і ключ поза git
  4. Скільки коштує сесія програмування
  5. Інші моделі для спроби
  6. Якщо Qwen Code не підключається

Qwen Code може підключатися до власного OpenAI-сумісного ендпоінту, тож для підключення до CheapTokens потрібні три значення: базовий URL https://api.cheaptokens.dev/v1, ваш API-ключ і повний ідентифікатор моделі, наприклад deepseek-ai/DeepSeek-V4-Flash-0731. Експортуйте їх як OPENAI_API_KEY, OPENAI_BASE_URL і OPENAI_MODEL або додайте до ~/.qwen/settings.json. Обидва способи походять із документації Qwen Code щодо автентифікації (сторінку востаннє оновлено 22 жовтня 2026 року).

Уявіть довгу сесію: агент читає десяток файлів, редагує три, перезапускає тести. Кожен крок повторно надсилає контекст, тож ви платите за вхідні дані знову і знову. Саме тому дешева модель із балансом за токени підходить для термінального агента, і саме тому налаштування нижче варте десяти хвилин.

Встановлення Qwen Code#

Qwen Code потребує Node.js 22 або новішої версії. README проєкту (github.com/QwenLM/qwen-code) перелічує кілька способів встановлення; два з них:

Встановлення Qwen Code

npm

bash
npm install -g @qwen-code/qwen-code@latest

Homebrew

bash
brew install qwen-code

Ви запускаєте його командою qwen. Документація також описує /auth → Custom Provider для ручного підключення проксі або непідтримуваного провайдера. Два способи нижче розписано рядок за рядком, тож почніть з одного з них.

Спосіб 1: три змінні середовища#

Найшвидший варіант. Відкрийте термінал у своєму проєкті та виконайте:

bash
export OPENAI_API_KEY="sk-your-api-key"
export OPENAI_BASE_URL="https://api.cheaptokens.dev/v1"
export OPENAI_MODEL="deepseek-ai/DeepSeek-V4-Flash-0731"
qwen

Ключ є заповнювачем; вставте свій із панелі керування CheapTokens. Експорт OPENAI_API_KEY також повідомляє Qwen Code використовувати OpenAI-сумісну автентифікацію, коли ви налаштовуєте все через змінні середовища. OPENAI_MODEL має псевдонім QWEN_MODEL.

Одна деталь часто збиває з пантелику: ідентифікатор моделі. Використовуйте повний ідентифікатор із документації CheapTokens. Коротка назва, яку ви бачите поруч із цінами, deepseek-v4-flash-0731, не приймається API, а ідентифікатори різняться між провайдерами.

Яка змінна за що відповідає? Зіставте їх:

З'єднайте пари

Зіставте кожну змінну з її призначенням

  • OPENAI_API_KEYВаш ключ CheapTokens; його експорт вибирає OpenAI-сумісну автентифікацію
  • OPENAI_BASE_URLЕндпоінт, на який Qwen Code надсилає запити
  • OPENAI_MODELІдентифікатор моделі, що надсилається до API
  • QWEN_MODELПсевдонім для OPENAI_MODEL

Експорт діє, доки ви не закриєте термінал. Щоб зберегти налаштування, скористайтеся наступним способом.

Спосіб 2: settings.json і ключ поза git#

Припустімо, ви ділите репозиторій із командою і ніхто не хоче ключа у файлі конфігурації. Тоді опишіть модель у ~/.qwen/settings.json, а ключ тримайте в окремому файлі.

json
{
  "modelProviders": {
    "openai": [
      {
        "id": "deepseek-ai/DeepSeek-V4-Flash-0731",
        "name": "DeepSeek-V4-Flash (CheapTokens)",
        "baseUrl": "https://api.cheaptokens.dev/v1",
        "description": "DeepSeek-V4-Flash through CheapTokens",
        "envKey": "CHEAPTOKENS_API_KEY"
      }
    ]
  },
  "security": { "auth": { "selectedType": "openai" } },
  "model": { "name": "deepseek-ai/DeepSeek-V4-Flash-0731" }
}

Чотири поля несуть основне навантаження:

  • id — це ідентифікатор моделі, що надсилається до API, тож він має бути повним ідентифікатором.
  • model.name має збігатися з одним із значень id, інакше Qwen Code не матиме чого вибрати.
  • security.auth.selectedType зі значенням "openai" вибирає OpenAI-сумісний шлях.
  • envKey називає змінну, що містить ключ. Він необов'язковий і за замовчуванням дорівнює OPENAI_API_KEY.

Сам ключ додається до .qwen/.env, який документація рекомендує для секретів, і цей файл залишається поза git:

bash
CHEAPTOKENS_API_KEY=sk-your-api-key

Є причина віддати перевагу цьому над блоком env у settings.json: значення з env мають найнижчий пріоритет, а файл із ключем легко випадково закомітити. Більше про безпечне зберігання ключів — у store an API key safely.

Змінні середовища та їхні відповідники в settings.json: ключ, базовий URL, ідентифікатор моделі
Куди потрапляє кожне з трьох значень: змінні середовища ліворуч, settings.json праворуч

Після запуску /model показує налаштовані моделі та дозволяє перемикатися. Щоб почати з конкретної, виконайте qwen --model "deepseek-ai/DeepSeek-V4-Flash-0731".

Скільки коштує сесія програмування#

Термінальні агенти навантажені вхідними даними: кожен крок несе файли та історію, зібрані досі. Візьмімо завдання на 40 кроків і припустімо 30 000 вхідних токенів і 1 000 вихідних токенів на крок. Це 40 × 30 000 = 1 200 000 вхідних токенів і 40 × 1 000 = 40 000 вихідних токенів. Ось усе завдання за актуальними цінами:

Модель За запит 40 запитів OpenRouter, 40 запитів
GLM-5.3-Flash $0.00064 $0.0256 $0.0526
DeepSeek-V4-Flash $0.00055 $0.022 $0.0633
MiniMax-M2.7 $0.0017 $0.066 $0.408

30 000 вхідних і 1 000 вихідних токенів на запит. Ціни за 1 млн токенів актуальні та змінюються разом із нашими тарифами; стовпець OpenRouter показує довідкові ціни для того самого навантаження.

Якщо рахувати вхідні та вихідні разом, CheapTokens дешевший за OpenRouter для кожної моделі в таблиці. Для такого циклу добре підходить DeepSeek-V4-Flash: контекст 380K, до 32 768 вихідних токенів в одній відповіді, одна ціна в будь-яку годину і один баланс для всіх моделей. Ваші власні цифри відрізнятимуться, тож посувайте повзунки:

Калькулятор вартості

Ваш власний день із термінальним агентом

Вхідні токени на запит: 25 000 · Вихідні токени на запит: 800 · Запитів на день: 120

МодельЗа деньЗа місяць
GLM-5.3-Flash$0.0638$1.92
DeepSeek-V4-Flash$0.0546$1.64
MiniMax-M2.7$0.164$4.93

Ціни на сторінці цін. Якщо ви стежите за використанням в іншому агенті, how much Cline costs проходить ту саму арифметику.

Інші моделі для спроби#

Перемикання — це лише зміна ідентифікатора, нічого більше. Візьміть його зі сторінки моделей або з GET /v1/models:

  • zai-org/GLM-5.3-Flash: контекст 390K, до 8 192 вихідних токенів на відповідь і нижча загальна ціна, ніж в OpenRouter.
  • MiniMaxAI/MiniMax-M2.7: контекст 180K, до 8 192 вихідних токенів на відповідь і нижча загальна ціна, ніж в OpenRouter.

Змініть OPENAI_MODEL або додайте другий запис до modelProviders.openai і перемикайтеся між ними за допомогою /model.

Якщо Qwen Code не підключається#

  • Тип автентифікації не вибрано. Лише зі змінними середовища OPENAI_API_KEY має бути експортовано. З settings.json перевірте, що selectedType дорівнює "openai".
  • Модель не знайдено. model.name має символ за символом дорівнювати id, а ідентифікатор має бути повним ідентифікатором шлюзу.
  • 401. Ключ відсутній або неправильний. Якщо ви використовуєте envKey, переконайтеся, що ця змінна справді існує в .qwen/.env або вашій оболонці.
  • 404. Перевірте, що базовий URL закінчується на /v1 і що в ідентифікаторі немає друкарської помилки. Повний розбір — у API 401 or 404: wrong key, base URL or model id.
  • Змінна ніби ігнорується. Значення в env усередині settings.json мають найнижчий пріоритет, тож змінна, задана в іншому місці, перемагає.

Налаштування для інших термінальних агентів ідуть за тією самою схемою, наприклад OpenCode і Aider. Усе інше, від ключів до першого запиту, — у документації CheapTokens.