Sekcje bazy wiedzy ▾

Nawigacja

▸ Zacznij tutaj Według ról

Kategorie

Narzędzia 52
Słownik 12

Narzędzia

Qwen Code po zamknięciu qwen-oauth: praca przez JoinGonka Gateway

Qwen Code (polecenie qwen) — otwarty agent terminalowy do programowania od zespołu Qwen z Alibaba: analizuje projekt, poprawia pliki, uruchamia polecenia i testy — z terminala, edytora lub skryptów. Projekt wyrósł z Google Gemini CLI i rozwija się samodzielnie, kod jest otwarty na licencji Apache-2.0. Agent obsługuje kilka protokołów — OpenAI, Anthropic, Gemini — dlatego łączy się z nim niemal każdy dostawca modeli.

Rozpoczęcie pracy z Qwen Code bez klucza umożliwiało darmowe logowanie przez konto qwen.ai — typ autoryzacji qwen-oauth. 15 kwietnia 2026 roku ten darmowy poziom został zamknięty, a zachowanie domyślne pozostało bez zmian: jeśli typ autoryzacji nie został wybrany, Qwen Code przechodzi właśnie do niego, a stara instalacja odpowiada ciągiem Qwen OAuth free tier was discontinued on 2026-04-15. Dokumentacja zaleca przejście na innego dostawcę, a najprościej zrobić to przez endpoint kompatybilny z OpenAI.

JoinGonka Gateway — to właśnie taki endpoint: przez niego Qwen Code pracuje na modelach zdecentralizowanej sieci Gonka — DeepSeek V4 Flash, GLM-5.3 Flash i MiniMax M2.7 — w jednolitej cenie $0.0069 za milion tokenów wejściowych, bez subskrypcji. Własnych modeli Qwen w sieci obecnie nie ma, ale agentowi nie jest to potrzebne: współpracuje z każdym modelem, który potrafi wywoływać narzędzia. Polecenia i komunikaty poniżej zostały zweryfikowane poprzez test Qwen Code 0.24.4 przez bramkę 23 września 2026 roku. Po potwierdzeniu adresu na konto wpłynie 3M darmowych tokenów — wystarczy, aby powtórzyć całą ścieżkę samodzielnie.

Szybki start: instalacja i jedna komenda

Krok 1: zainstalować Qwen Code. Oficjalne metody z README projektu:

# 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

Skrypt umieszcza polecenie w ~/.local/bin/qwen i w razie potrzeby dopisuje ścieżkę do pliku konfiguracyjnego powłoki. Otwórz terminal ponownie i sprawdź: qwen --version.

Krok 2: zdobyć klucz. Zarejestruj się na gate.joingonka.ai/register, potwierdź adres i utwórz w sekcji „Klucze API” klucz z prefiksem jg-.

Krok 3: uruchomić instalator.

npx @joingonka/setup --tool qwen-code

Instalator zapyta o klucz (nie przekazuje się go w argumentach wiersza poleceń, żeby nie został w historii powłoki) i zmodyfikuje ~/.qwen/settings.json — plik, który dokumentacja Qwen Code proponuje do konfiguracji „w jednym pliku”:

  • wpisze klucz do bloku env tego samego pliku pod nazwą JOINGONKA_API_KEY — tam swoje klucze umieszcza też natywne polecenie /auth; plik otrzyma uprawnienia 600, środowisko powłoki się nie zmieni;
  • doda modele sieci do listy modelProviders.openai — z adresem bramy, rzeczywistymi oknami kontekstu i górnymi limitami odpowiedzi; wpisy innych twoich dostawców na tej liście pozostaną nienaruszone;
  • jeśli typ autoryzacji nie został wybrany lub nadal wskazuje na wycofany qwen-oauth, przełączy go na openai i ustawi jako domyślny model DeepSeek V4 Flash; działający wybór innego typu — anthropic, gemini, vertex-ai — nie zostanie ruszony bez flagi --model;
  • zachowa kopię poprzedniego pliku, nie tknie komentarzy ani pozostałych ustawień, a na końcu wyśle prawdziwe żądanie do bramy i powie, czy klucz, adres i model zostały przyjęte.

Tak wyglądało wyjście na instalacji, w której pozostawał qwen-oauth (skrócone):

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.

Inny model domyślny ustawia flaga --model: skrót glm, minimax lub pełny identyfikator; jawnie podany model jest zapisywany zawsze. Tryb bez pytań pobiera klucz ze zmiennej środowiskowej:

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

Katalog przeniesiony zmienną QWEN_HOME instalator znajdzie sam. Ponowne uruchomienie zaktualizuje katalog modeli, ale pozostawi wybrany przez ciebie model sieci: Kept your current default model.

Ręczna konfiguracja: settings.json

Wszystko, co robi instalator, można napisać ręcznie. Plik to ~/.qwen/settings.json (albo $QWEN_HOME/settings.json); Qwen Code czyta go jako JSON z komentarzami. Pełna działająca konfiguracja dla sieci 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" }
}
PoleWartośćCo się liczy
env.JOINGONKA_API_KEYklucz jg-…Sam klucz. Wpis modelu nie ma pola na klucz — odwołuje się do tej zmiennej przez envKey
baseUrlhttps://gate.joingonka.ai/v1Z /v1 na końcu: ścieżkę /chat/completions Qwen Code dopisuje sam. Klucz listy openai to właśnie protokół Chat Completions
contextWindowSizeokno modeluBez tego Qwen Code oszacuje okno po nazwie modelu; na podstawie tej liczby decyduje, kiedy kompresować historię
samplingParams.max_tokenslimit odpowiedziUstala limit odpowiedzi. Bez tego, po osiągnięciu limitu, Qwen Code może powtórzyć żądanie z limitem od 64K — powyżej limitu każdego modelu w sieci
security.auth.selectedTypeopenaiKtóry protokół włączyć przy starcie; bez tego pola Qwen Code przechodzi w zamknięty qwen-oauth
model.name, model.baseUrlmodel domyślny i jego adresTa para jednoznacznie wskazuje wpis bramy, nawet jeśli model o tym samym id jest zarejestrowany u innego dostawcy

Gdzie trzymać klucz. Wartości zmiennej z envKey Qwen Code szuka po kolei: środowisko powłoki, potem pierwszy znaleziony .env (.qwen/.env albo .env od bieżącego katalogu w górę, następnie ~/.qwen/.env i ~/.env) i dopiero na końcu blok env w pliku. Stąd główna pułapka: wyeksportowana w powłoce JOINGONKA_API_KEY ze starą wartością nadpisze plik — sprawdziliśmy to celowo i dostaliśmy 401 Invalid API key przy poprawnym kluczu w settings.json. Instalator ostrzega, gdy wykryje w środowisku inną wartość.

I jeszcze uwaga o projektach: projektowy .qwen/settings.json z własnym modelProviders nie uzupełnia, lecz zastępuje listę z katalogu domowego — wewnątrz takiego projektu modele bramy znikną z /model. Klucza w ogóle nie warto wkładać do pliku projektowego: razem z nim trafi do repozytorium.

Zmiany w modelProviders uruchomiona sesja podchwytuje bez restartu — wystarczy ponownie otworzyć /model. Bez edytora robi to samo kreator /auth → Custom Provider.

Autoryzacja i modele: jak Qwen Code wybiera, z czego korzystać

Qwen Code posiada dwa niezależne wybory: typ autoryzacji — który protokół włączyć i skąd pobrać klucze — oraz model. Typ jest przechowywany w security.auth.selectedType i to od niego zależy, jak postąpi instalator:

Wartość selectedTypeDziałanie instalatora
brak lub qwen-oauthZainstaluje openai oraz domyślny model z sieci Gonka; płatna taryfa nie jest uważana za działający wybór, ale instalator poinformuje o zamianie i sposobie przywrócenia
openaiPozostawi wybrany model — bramki lub innego dostawcy — zaktualizuje tylko katalog
anthropic, gemini, vertex-aiNie zmieni: to działające połączenie. Z flagą --model przełączy i napisze, jak przywrócić poprzedni

Wewnątrz sesji model zmienia komenda /model. W naszym przebiegu wyświetliła ona wszystkie wpisy bramki z etykietą protokołu, a pod listą — okno kontekstowe, adres i nazwę zmiennej z kluczem:

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

Wybór z /model jest zapisywany między sesjami. Dla jednego uruchomienia model ustawia flagę -m z identyfikatorem: qwen -m zai-org/GLM-5.3-Flash. Osobny lekki model dla podpowiedzi i klasyfikatora uprawnień ustawia /model --fast; póki go nie ma, tę pracę wykonuje główny.

Jaki model wybrać. Cena wszystkich modeli w sieci jest taka sama, więc wybór zależy od zachowania. Tak zachowywały się w Qwen Code 0.24.4 przy tym samym zadaniu — odczytaniu pliku i znalezieniu błędu (sprawdzono 23 września 2026):

ModelKontekst / odpowiedźZachowanie w Qwen Code
DeepSeek V4 Flash380K / 32768Wybór instalatora: duże okno i najwyższy limit odpowiedzi w sieci. Rozwiązał zadanie w dwóch ruchach
GLM-5.3 Flash390K / 8192Model wnioskujący: najbardziej dokładna odpowiedź, wnioskowanie przychodzi osobnym strumieniem i wlicza się do limitu odpowiedzi
MiniMax M2.7200K / 8192Prawidłowa odpowiedź w dwóch ruchach i około siedmiu sekund; wnioskowanie przychodzi osobnym strumieniem i nie trafia do tekstu odpowiedzi

Wnioskowanie w GLM-5.3 Flash. Instalator ustawia każdemu modelowi samplingParams, a w tym przypadku Qwen Code nie dodaje do zapytania poziomu wnioskowania: komenda /effort nie dociera do modeli sieci, więc GLM-5.3 Flash zawsze myśli. Jeśli potrzebujesz przełącznika, zadeklaruj poziomy bezpośrednio we wpisie modelu:

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

Wtedy Qwen Code zacznie wysyłać reasoning_effort, a w GLM-5.3 Flash wartość low całkowicie wyłącza wnioskowanie — szczegóły w przeglądzie modelu. W naszym przebiegu z "defaultEffort": "low" Qwen Code wysłał reasoning_effort: "low", a model odpowiedział bez bloku wnioskowania.

Weryfikacja: co powinno się stać

Najszybszy test to pojedyncze uruchomienie. Włóż do pustego katalogu calc.py z funkcją dodawania, która w rzeczywistości odejmuje, i poproś o znalezienie błędu:

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

Agent powinien sam wywołać narzędzie odczytu i odpowiedzieć rzeczowo. Tak odpowiedział GLM-5.3 Flash (uruchomienie z -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`.

W interfejsie (qwen bez argumentów) nagłówek pokaże wybrany model — API Key | DeepSeek V4 Flash (Gonka) — a to samo zapytanie zadziała tak:

> 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

Polecenie /stats pokaże zapytania i tokeny według modeli, a panel gatewaya — to samo zużycie w sekcji „Użycie”.

Tryb zatwierdzania w -p. Bez flag pojedyncze uruchomienie idzie w trybie Ask Permissions: nie ma kogo prosić o potwierdzenie, więc narzędzia wymagające zgody — polecenia powłoki, edycja i zapis plików — po prostu nie są przekazywane modelowi. Na prośbę o wykonanie ls agent w naszym uruchomieniu odpowiedział, że nie ma takiego narzędzia. Do edycji dodaj --approval-mode auto-edit, do poleceń — --yolo; to ostatnie Qwen Code opatruje ostrzeżeniem, że sandbox nie jest włączony.

Jeśli coś pójdzie nie tak, diagnoza zwykle czyta się wprost z komunikatu:

Co widaćCo to znaczyCo zrobić
No auth type is selected. Please configure an auth type …Nie wybrano typu autoryzacjiUruchom instalator albo wpisz "selectedType": "openai", jak w przykładzie powyżej
Qwen OAuth free tier was discontinued on 2026-04-15 …W ustawieniach został wycofany qwen-oauthUruchom instalator: przełączy typ i powie, co zastąpił
[API Error: 401 Invalid API key]Gateway nie przyjął kluczaSprawdź blok env i czy w powłoce lub w .env nie ma zmiennej JOINGONKA_API_KEY ze starą wartością: ma ona pierwszeństwo przed plikiem
429 Model "…" is currently overloaded in the Gonka network (rate limit)Modelowi w sieci skończyła się wolna przepustowośćPowtórz po minucie albo zmień model; stan widać na stronie statusu
Request timeout after 151s …, potem Retrying provider attemptSieć pod obciążeniem nie zaczęła odpowiadać w dwie i pół minutyQwen Code sam powtórzy zapytanie; jeśli się przeciąga — zmień model

Ile to kosztuje

Agent zużywa tokeny inaczej niż czat: do każdej frazy Qwen Code dodaje systemowy prompt i opisy narzędzi, a zadanie zajmuje kilka tur. W naszym teście każde zapytanie qwen -p zawierało około 13 tysięcy tokenów wejściowych jeszcze przed przejściem do sedna sprawy, a „odczytaj plik, znajdź błąd” zajęło dwie tury i około 27 tysięcy tokenów. W interfejsie narzędzi jest więcej, a po odpowiedzi Qwen Code tym samym modelem wykonuje zapytania serwisowe — na przykład podpowiedź kolejnej kwestii: /stats wykazało dla tego samego zadania 4 zapytania i około 79 tysięcy tokenów wejściowych.

Przez JoinGonka Gateway tokeny kosztują $0.0069 za milion na wejściu i $0.021 za milion na wyjściu — cena jest identyczna dla wszystkich modeli w sieci i jest pobierana na tej stronie z aktualnego źródła.

ScenariuszZużyciePrzez Gateway
Jednorazowe zadanie w qwen -p: odczytać plik, znaleźć błąd~27K tokenówułamki centa
To samo zadanie w interfejsie, z zapytaniami serwisowymi~79K tokenówułamki centa
Dzień aktywnej pracy3-7M tokenówkilka centów
Miesiąc aktywnej pracy~150M tokenówokoło dolara

Szacunki w prawej kolumnie są oparte na cenach z września 2026 roku. Dla porównania — jak w ogóle można płacić za modele w Qwen Code:

MetodaModel płatnościCo ogranicza
qwen-oauthbył darmowyzamknięty 15 kwietnia 2026 roku
Alibaba Cloud Coding Planstała kwota miesięcznielimity po stronie dostawcy, osobny klucz sk-sp-…
Alibaba Cloud Token Planza tokeny, dla zespołów i firmregionalny endpoint i klucz Alibaba Cloud
JoinGonka Gatewayza tokeny, saldo przedpłaconezużycie widoczne w panelu; brak subskrypcji i limitów miesięcznych

Zapytania serwisowe wyłącza się tam, gdzie nie są potrzebne: podpowiedzi kolejnej kwestii — "ui": { "enableFollowupSuggestions": false }, pamięć automatyczna w tle — "memory": { "enableManagedAutoMemory": false, "enableManagedAutoDream": false }. Dokładne zużycie i saldo — w panelu użytkownika, w sekcjach „Użycie” i „Billing”. Dlaczego domyślnie wybrano DeepSeek V4 Flash, wyjaśniono szczegółowo w przeglądzie modelu.

O czym warto pamiętać

Tryby zatwierdzania. W interfejsie Qwen Code uruchamia się w trybie Auto: czytanie, wyszukiwanie i edycja wewnątrz projektu są dozwolone od razu, a polecenia powłoki i inne ryzykowne działania ocenia klasyfikator — osobne zapytanie do modelu. Pozostałe tryby — Plan, Ask Permissions, Auto-Edit oraz YOLO — przełącza się za pomocą Shift+Tab (w Windows — Tab) lub komendą /approval-mode; domyślny tryb określa klucz tools.approvalMode.

Praca w tle. Domyślnie Qwen Code prowadzi pamięć automatyczną: po rozmowach w tle wyodrębnia notatki o projekcie i twoich preferencjach, a raz dziennie czyści je (Dream) — tym samym modelem. W jednorazowym przebiegu jest to zauważalne: qwen -p może nie kończyć się jeszcze przez kilka minut po odpowiedzi, dopóki zadanie w tle czeka na model. Dla skryptów i CI wyłącz pamięć automatyczną (klucze w sekcji powyżej) i ustaw limity przebiegu: --max-wall-time, --max-session-turns, --max-tool-calls.

Obrazy. Modele w sieci są tekstowe (Modality: text-only w /model). Do zrzutów ekranu przypisz model-pośrednik innego dostawcy komendą /model --vision: opisze obraz tekstem, a dalej pracować będzie główny model.

Statystyki. Anonimowe statystyki użycia Qwen Code wysyła domyślnie; wyłącza je "privacy": { "usageStatisticsEnabled": false }. Brama nie przechowuje treści promptów i odpowiedzi — tylko agregaty zużycia.

Sąsiedzi w sieci. Własnych agentów wydają też laboratoria, których modele obsługuje sieć: u DeepSeek to DeepSeek Harness, u MiniMax — MiniMax Code, u Z.ai, autorów GLM — ZCode. Wszyscy oni łączą się z tą samą bramą za pomocą tego samego klucza i korzystają z jednego salda.

Qwen Code to otwarty terminalowy agent zespołu Qwen, a po zamknięciu darmowego qwen-oauth wymaga własnego dostawcy modeli. Najszybsza ścieżka to npx @joingonka/setup --tool qwen-code: instalator wpisze klucz do bloku env pliku ~/.qwen/settings.json, doda do modelProviders.openai modele DeepSeek V4 Flash, GLM-5.3 Flash i MiniMax M2.7 z rzeczywistymi limitami, przełączy security.auth.selectedType na openai i sprawdzi połączenie żywym zapytaniem. Działają wszystkie trzy modele sieci: domyślnie ustawiony jest DeepSeek V4 Flash, a GLM-5.3 Flash i MiniMax M2.7 wybiera się komendą /model. Weryfikacja — qwen -p na pliku z błędem oraz sekcja „Użycie” w panelu; płacisz za faktyczne tokeny w jednolitej cenie sieci Gonka.

Chcesz wiedzieć więcej?

Zapoznaj się z innymi sekcjami lub zacznij zarabiać GNK już teraz.

Pobierz klucz i darmowe tokeny →