Cursus
Alibaba heeft Qwen3-Coder uitgebracht, een agentisch codemodel dat in meerdere groottes beschikbaar is, met als sterkste variant Qwen3-Coder-480B-A35B-Instruct. Naast deze modellen heeft Alibaba ook Qwen Code CLI open source gemaakt, een commandoregeltool voor agentisch coderen.
Qwen Code CLI is een fork van Gemini CLI en is specifiek aangepast voor gebruik met het Qwen3-Coder-model bij agentische coderingstaken.
In deze blog leg ik stap voor stap uit hoe je Qwen Code CLI instelt en gebruikt. We zetten het in om codebases te verkennen, code te refactoren en meer.
We houden onze lezers op de hoogte van het laatste AI-nieuws via The Median, onze gratis vrijdagse nieuwsbrief met de belangrijkste verhalen van de week. Abonneer je en blijf scherp met slechts een paar minuten per week:
Wat is Qwen Code?
Qwen Code is een commandoregelinterface die is ontworpen om agentische coderingstaken te ondersteunen. Het gebruikt aangepaste prompts en functie-aanroep-protocollen die zijn geoptimaliseerd voor Qwen3-Coder. Met Qwen Code kun je:
- Navigeren door en begrijpen van complexe codebases
- Codeproblemen opsporen en oplossen
- Code en unittests genereren
- Documentatie en flowcharts maken

Bron: QwenLM
Laten we nu Qwen3-Coder instellen en het gebruiken om issues te verkennen en op te lossen voor een open-sourceproject waar ik onlangs aan heb gewerkt.
Stap 1: Vereisten
Zorg ervoor dat je Node.js (versie 20 of hoger) hebt geïnstalleerd voordat je Qwen Code instelt. Je kunt Node.js installeren door het volgende uit te voeren:
curl -qL https://www.npmjs.com/install.sh | sh
Controleer daarna je installatie door het volgende uit te voeren:
node -v
npm -v
Stap 2: Qwen Code instellen
In deze stap bekijken we meerdere opties om Qwen Code op je apparaat te installeren en te authenticeren.
Stap 2.1: Installatie via npm
Met Node.js geïnstalleerd, installeer je Qwen Code globaal en controleer je ook de installatieversie:
npm install -g @qwen-code/qwen-code
qwen --version

Deze code installeert de Qwen Code CLI wereldwijd via de pakketmanager van Node.js. Na installatie controleert het commando qwen --version de geïnstalleerde versie van de Qwen CLI en toont die, om te verifiëren dat alles correct is ingesteld en klaar voor gebruik.
Laten we Qwen Code draaien:
qwen

Druk op Enter om het standaardthema te selecteren en toe te passen op de gebruikersinstellingen. Vervolgens moeten we de authenticatie instellen.
Stap 2.2: Installatie vanaf de bron (optioneel)
Je kunt er ook voor kiezen om Qwen Code rechtstreeks vanuit hun GitHub-repository te installeren:
git clone https://github.com/QwenLM/qwen-code.git
cd qwen-code
npm install
npm install -g .
Deze code kloont de GitHub-repository van Qwen Code CLI naar je lokale machine met het commando git clone. We navigeren vervolgens naar de gekloonde map en installeren alle projectafhankelijkheden die in de package.json van de repository staan.
Let op: -g betekent dat het systeemwijd beschikbaar is, niet alleen in de lokale projectmap.
Stap 2.3: Authenticatie
De CLI heeft een Qwen 3 Coder API-sleutel nodig voor authenticatie. De officiële documentatie suggereert dat je kunt authenticeren door een API-sleutel aan te vragen via https://bailian.console.aliyun.com/ (als je in vasteland-China bent). Als je niet in vasteland-China bent, ga dan naar https://modelstudio.console.alibabacloud.com/ om je API-sleutel aan te vragen.
Als je echter in India bent gevestigd, zijn deze opties niet beschikbaar. In plaats daarvan kun je kiezen voor OpenRouter, dat gebruikers toegang geeft tot meerdere API-sleutels voor tal van modellen. Dit zijn de stappen om hiermee een API-sleutel voor Qwen 3 Coder in te stellen:
- Maak een account aan op https://openrouter.ai/
- Ga naar het tabblad Models en zoek naar “Qwen 3 Coder”. Je kunt een gratis versie kiezen als je minder dan 128k tokens nodig hebt; kies anders de betaalde versie ($0,302/M input- en outputtokens).

- Scroll naar beneden en klik op Create API Key. Vul de naam voor de sleutel en het kredietlimiet (optioneel) in en klik op Create. Bewaar deze API-sleutel voor later gebruik.

- Ga vervolgens naar het tabblad Credits en voeg je kaart- of bankgegevens toe. Je kunt ook betalen via Amazon Pay. Voor deze demo heb ik ongeveer $15 toegevoegd, wat genoeg was.

Stap 2.4: De omgeving configureren
We kunnen de API-sleutel nu binnen de CLI gebruiken. Ga terug naar de CLI uit stap 2.1 en druk op Enter.

Voer vervolgens de API-sleutel uit de vorige stap in, gevolgd door de base-URL en modelnaam zoals hieronder:
API_KEY >Qwen_API_KEY_FROM_OPENROUTER
BASE_URL >https://openrouter.ai/api/v1
MODEL >qwen/qwen3-coder
Optioneel kun je deze variabelen ook instellen als omgevingsvariabelen. Open een nieuwe terminal en voer het volgende regel voor regel uit.
export OPENAI_API_KEY="Qwen_API_KEY_FROM_OPENROUTER"
export OPENAI_BASE_URL="https://openrouter.ai/api/v1"
export OPENAI_MODEL="qwen/qwen3-coder"
Als je een API-sleutel van Alibaba Cloud gebruikt, stel je je omgevingsvariabelen dan als volgt in:
export OPENAI_API_KEY="your_api_key_here"
export OPENAI_BASE_URL="https://dashscope-intl.aliyuncs.com/compatible-mode/v1"
export OPENAI_MODEL="qwen3-coder-plus"
Zodra deze omgevingsvariabelen zijn ingesteld, druk je op Enter en kun je beginnen met experimenteren met de CLI.
Stap 3: Experimenteren met Qwen Code CLI
In deze sectie laat ik zien hoe ik Qwen Code CLI heb gebruikt om te werken met een echt, op GitHub gehost project. Met slechts een paar prompts hielp Qwen me de codebase te begrijpen, functies te optimaliseren, nieuwe mogelijkheden toe te voegen, tests te automatiseren en documentatie bij te houden.
Met doordacht geformuleerde prompts kon ik:
- De architectuur van de codebase analyseren
- Specifieke functies optimaliseren voor geheugenefficiëntie
- Automatisch unittests genereren en uitvoeren
- Functionaliteit uitbreiden door nieuwe componenten te integreren
- Versie-updates pushen naar GitHub
- Een visuele flowchart genereren van module-interacties
- Alle wijzigingen documenteren in een gestructureerd changelog-formaat
Laten we in elk van deze stappen duiken.
De codebase verkennen en begrijpen
Laten we beginnen met Qwen Code vragen om de architectuur van de codebase te verkennen en uit te leggen. Kloon eerst de repository van GitHub en navigeer naar de projectmap met het volgende commando:
git clone https://github.com/AashiDutt/Voxtral_with_vLLM.git
cd Voxtral_with_vLLM
Dit is de prompt die ik gebruikte om de gekloonde repository te begrijpen:
Prompt: Leg de architectuur van deze codebase uit.

Qwen CLI scande bestanden zoals app.py, config.py, requirements.txt en een Colab-notebook. Vervolgens gaf het een duidelijke uiteenzetting van de projectstructuur met een hoogover-samenvatting van de belangrijkste modules, wat me de tijd bespaarde van het handmatig openen en lezen van elk bestand.
Code-refactoring en optimalisatie
Na de architectuur te hebben begrepen, gebruikte ik Qwen Code CLI om mogelijke verbeterpunten in de codebase te analyseren.
Prompt: Welke onderdelen van deze module kunnen worden geoptimaliseerd?



Qwen gaf een gestructureerde lijst met suggesties over meerdere dimensies: prestaties, geheugenefficiëntie, onderhoudbaarheid en gebruikerservaring. Het identificeerde niet alleen issues, maar stelde ook uitvoerbare codewijzigingen voor.
Door de adviezen te volgen, kon ik:
- Geheugen- en CPU-gebruik verlagen
- Foutafhandeling versterken
- Gebruikersfeedback verbeteren
- De codestructuur vereenvoudigen voor toekomstige ontwikkeling
In de volgende stap laat ik zien hoe ik een van deze optimalisaties (geheugengebruik) heb toegepast en getest met Qwen CLI zelf.
De code-optimalisatie implementeren en testen
Na meerdere optimalisatiepunten te hebben geïdentificeerd, besloot ik een van de meest impactvolle suggesties toe te passen: het verbeteren van het geheugengebruik in de functie transcribe_audio. Ik gaf Qwen CLI daarom de volgende gerichte prompt voor dat specifieke bestand:
Prompt: Pas optimalisatie van geheugengebruik toe op de functie transcribe_audio in @app.py
Qwen richtte zich exclusief op app.py met de @-syntaxis voor gescope bewerkingen. Deze precieze targeting is handig wanneer je wijzigingen geïsoleerd wilt toepassen zonder andere delen van de codebase te beïnvloeden. De CLI herschreef de functie om:
- Audio in chunks te streamen en verwerken in plaats van alles in het geheugen te laden
- UI-updates te verminderen door de voortgangsbalk slechts elke 10 chunks te verversen
- De noodzaak om het totaal aantal chunks vooraf te berekenen te verwijderen
Het werkte ook automatisch het bestand CHANGELOG.md bij om deze verbetering te vermelden onder een nieuw versielabel.
Tests genereren en uitvoeren
Zodra de optimalisatie van het geheugengebruik was toegepast op de functie transcribe_audio, gebruikte ik Qwen Coder CLI om automatisch unittests te genereren en te valideren voor de nieuwe implementatie.
Prompt: Schrijf een pytest-unittest voor de recente wijzigingen.
Qwen begon met het scannen van de projectstructuur om te controleren of er een testmap bestond en of pytest in requirements.txt stond. Omdat beide ontbraken, heeft het:
pytest>=7.0.0toegevoegd aanrequirements.txt- Een nieuwe map
tests/aangemaakt - Een testmodule gegenereerd:
tests/test_transcribe_audio.py
Qwen voerde de tests uit en bevestigde dat alle vier tests succesvol slaagden. Om een duidelijke versiegeschiedenis te behouden, voegde Qwen ook een nieuw “Fixed”-item toe aan CHANGELOG.md onder versie v0.2.0.

Met slechts een enkele prompt automatiseerde Qwen CLI het genereren van tests, identificeerde randgevallen, hielp een logische bug te verhelpen en borg code-correctheid via rigoureuze validatie.
Een nieuwe component implementeren
Om de functionaliteit van de Voxtral Audio Assistant (codebase) uit te breiden, vroeg ik Qwen Code CLI om ondersteuning voor YouTube-video’s te integreren.
Prompt: Breid het huidige voorbeeld uit met ondersteuning voor YouTube-video’s. Wanneer een gebruiker een YouTube-URL opgeeft, extraheer dan de audio uit de video en geef die door aan het Voxtral-model voor verwerking. Laat de rest van de pipeline en componenten ongewijzigd.

Het doel was gebruikers toe te staan een YouTube-URL in te voeren naast het uploaden van audiobestanden. Zodra die is opgegeven, moet de app automatisch de audio uit de video extraheren en die verwerken zoals een reguliere bestandsupload, zonder de downstream-pipeline voor transcriptie of Q&A te wijzigen.

Qwen scande app.py, config.py en requirements.txt om de vereiste updates te identificeren. Het herkende de noodzaak voor yt-dlp en pydub, die beide al waren opgenomen.


Het resultaat is een nieuwe UI-component waarmee gebruikers een YouTube-URL kunnen invoeren. Na verzenden extraheert de app de audio en stuurt die door de bestaande pipeline voor transcriptie. De wijzigingen in app.py waren echter nog niet voldoende om de hele code foutloos te draaien.
Wijzigingen pushen naar GitHub
Zodra de optimalisatie van transcribe_audio voltooid en getest was, gebruikte ik de CLI om de wijzigingen te versioneren en naar GitHub te pushen.
Prompt: Maak een nieuwe branch op GitHub en commit en push de bijgewerkte code als een tweede versie met het bericht: "v2: Optimized transcribe_audio for memory usage".

Qwen automatiseerde de volledige Git-flow met behulp van de WebFlow-tool die helpt lokale en op GitHub gehoste bestanden te vergelijken. De CLI kon meerdere taken uitvoeren, van branch aanmaken tot committen en pushen, zonder handmatige stappen.
Qwen gebruikte zijn WebFetch-tool om:
- Een nieuwe branch te maken
- De wijzigingen te stagen en te committen
- De commit te pushen
- De remote update te verifiëren
Alles met één enkele prompt. De bijgewerkte versie (v2-optimization) werd veilig geïsoleerd en beschikbaar gemaakt voor review via een pull request. Deze GitHub-integratie maakte het eenvoudig om verbeteringen te volgen, samen te werken aan updates en een schone versiegeschiedenis te behouden.
Zo ziet de bijgewerkte nieuwe branch eruit:

Flowchart genereren
Om te visualiseren hoe verschillende modules in de Voxtral Audio Assistant samenwerken, vroeg ik Qwen Code CLI om:
Prompt: Maak een flowchart die module-interacties illustreert.

Qwen genereerde een gedetailleerde Mermaid.js-flowchart die de volledige pipeline toont, van bestandsupload of YouTube-input, via verwerking door het Voxtral-model, tot de uiteindelijke output. Het probeerde zelfs het diagram in de README.md van het project in te bedden.
Documentatie genereren
Toen de code-optimalisatie voltooid was, vroeg ik Qwen Code CLI om te helpen de wijzigingen te documenteren in een gestructureerd en professioneel formaat.
Prompt: Schrijf een Markdown-samenvatting van de aangebrachte wijzigingen. Formatiseer het als een changelog-item onder "v0.2.0".

Qwen gebruikte zijn WriteFile-tool om het item direct toe te voegen aan CHANGELOG.md onder v0.2.0, volgens best practices voor semantische versies. Zodra een changelog-taak is gestart, onthoudt Qwen die en voorkomt dubbele updates, wat tokens bespaart en herhaalde toolaanroepen voorkomt.
Conclusie
Samengevat liet deze tutorial zien hoe je Qwen Code CLI kunt gebruiken om:
- Een codebase-architectuur te begrijpen en uit te leggen
- Gerichte optimalisaties en verbeteringen toe te passen
- Unittests te genereren en uit te voeren met minimale overhead
- Functionaliteit uit te breiden met nieuwe componenten zoals YouTube-integratie
- Versiebeheer en GitHub-workflows te automatiseren
- Projectflows te visualiseren en schone documentatie te onderhouden
Qwen Code CLI vermindert aanzienlijk de handmatige inspanning die komt kijken bij het begrijpen, debuggen en uitbreiden van een codebase. Hoewel het sterk leunt op Gemini CLI als basis, introduceert Qwen Code verbeteringen voor Qwen3-Coder-modellen, zoals een betere parser en toolsupport.
Wat me het meest indrukte, is het vermogen om context over taken heen vast te houden. Zodra je het een changelog-taak of een te volgen bestand geeft, onthoudt Qwen dat en vermijdt herhaling. Het scope’t wijzigingen ook met syntaxis zoals @file.py, wat het veilig maakt om in grote projecten te gebruiken.
Als je met complexe Python-projecten werkt of open-sourcerepo’s onderhoudt, kan deze tool je uren aan boilerplate besparen en je workflow slimmer en iteratiever maken.
Ik ben een Google Developers Expert in ML (Gen AI), een Kaggle 3x Expert en een Women Techmakers Ambassador met meer dan 3 jaar ervaring in tech. In 2020 heb ik een healthtech-startup mee opgericht en ik volg een master computer science aan Georgia Tech, met als specialisatie machine learning.






