🖥️ Qwen Code CLI + OpenRouter Ubuntu Guide
⚡ Instalasi & konfigurasi lengkap | Full installation guide with free models, OpenRouter API, dan Qwen Code CLI
📘 Complete Guide: Installing & Configuring Qwen Code CLI with OpenRouter on Ubuntu
Overview — This guide covers: Node.js installation, Qwen Code CLI, OpenRouter account & API key, free model configuration, testing, and running real coding tasks. Qwen Code supports OpenAI‑compatible providers via modelProviders in settings.json. OpenRouter works using the OpenAI‑compatible endpoint.
1️⃣ Install Node.js using NVM
node -v
npm -v
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.3/install.sh | bash
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh"
nvm --version
nvm install 24
nvm use 24
nvm alias default 24
node -v
npm -v
which node
which npm
Expected paths: /home/<user>/.nvm/versions/node/v24.x.x/bin/node and similar for npm.
2️⃣ Install Qwen Code CLI
npm install -g @qwen-code/qwen-code@latest
qwen --version
Example: 0.17.0. The recommended config file is ~/.qwen/settings.json.
3️⃣ Create OpenRouter Account
Visit openrouter.ai and sign up via Email, Google, or GitHub.
4️⃣ Generate OpenRouter API Key
Login → API Keys → Create Key → Copy key. Example: sk-or-v1-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Never share it. OpenRouter uses env variable OPENROUTER_API_KEY.
5️⃣ Create Qwen Configuration (basic)
mkdir -p ~/.qwen
nano ~/.qwen/settings.json
{
"env": {
"OPENROUTER_API_KEY": "sk-or-v1-YOUR_KEY_HERE"
},
"modelProviders": {
"openai": [
{
"id": "z-ai/glm-4.5-air:free",
"name": "[OpenRouter] z-ai/glm-4.5-air:free",
"baseUrl": "https://openrouter.ai/api/v1",
"envKey": "OPENROUTER_API_KEY",
"generationConfig": {
"contextWindowSize": 128000
}
}
]
},
"security": {
"auth": {
"selectedType": "openai"
}
},
"model": {
"name": "z-ai/glm-4.5-air:free"
},
"$version": 4
}
6️⃣ Recommended Multi-Model Configuration
{
"env": { "OPENROUTER_API_KEY": "sk-or-v1-YOUR_KEY_HERE" },
"modelProviders": {
"openai": [
{ "id": "z-ai/glm-4.5-air:free", "name": "[OpenRouter] GLM 4.5 Air Free", "baseUrl": "https://openrouter.ai/api/v1", "envKey": "OPENROUTER_API_KEY" },
{ "id": "openai/gpt-oss-120b:free", "name": "[OpenRouter] GPT OSS 120B Free", "baseUrl": "https://openrouter.ai/api/v1", "envKey": "OPENROUTER_API_KEY" },
{ "id": "qwen/qwen3.6-plus:free", "name": "[OpenRouter] Qwen 3.6 Plus Free", "baseUrl": "https://openrouter.ai/api/v1", "envKey": "OPENROUTER_API_KEY" }
]
},
"security": { "auth": { "selectedType": "openai" } },
"model": { "name": "qwen/qwen3.6-plus:free" },
"$version": 4
}
7️⃣ Secure API Key Storage (Recommended)
nano ~/.profile
export OPENROUTER_API_KEY="sk-or-v1-YOUR_KEY_HERE"
source ~/.profile
Then simplified settings.json without inline key.
8️⃣ Validate JSON Configuration
python3 -m json.tool ~/.qwen/settings.json
9️⃣ Verify OpenRouter API Key
echo $OPENROUTER_API_KEY
Expected: sk-or-v1-xxxxxxxxxxxx
🔟 Test OpenRouter API
curl https://openrouter.ai/api/v1/models -H "Authorization: Bearer $OPENROUTER_API_KEY"
🚀 Launch Qwen Code
qwen
Prompt example: Identify your model. Successful response means configured OpenRouter model works.
🔄 Change Model Inside Qwen
Inside Qwen REPL: /model and type free ID like qwen/qwen3.6-plus:free or openai/gpt-oss-120b:free.
📁 Create a Python Project
mkdir ~/todo-app
cd ~/todo-app
qwen
Prompt: "Create a Python Todo CLI application using JSON storage." or Flask student manager.
🛠️ Useful Commands
qwen --version
qwen --help
cat ~/.qwen/settings.json
echo $OPENROUTER_API_KEY
python3 -m json.tool ~/.qwen/settings.json
⚠️ Common Errors
- EACCES Permission: Use NVM-managed Node.js instead of system install.
- 401 Unauthorized: Invalid/expired API key → generate new key.
- JSON Syntax Error: Validate with
python3 -m json.tool; check commas/braces.
⭐ Recommended Free Models (OpenRouter)
| Model | Quality | Speed | Cost |
|---|---|---|---|
| qwen/qwen3.6-plus:free | Excellent | Fast | Free |
| z-ai/glm-4.5-air:free | Good | Fast | Free |
| openai/gpt-oss-120b:free | Good | Medium | Free |
💡 Qwen 3.6 Plus Free offers 1M-token context window, ideal for coding agents.
✅ Final Verification Checklist
node -v
npm -v
qwen --version
python3 -m json.tool ~/.qwen/settings.json
echo $OPENROUTER_API_KEY
📘 Panduan Lengkap: Instalasi & Konfigurasi Qwen Code CLI dengan OpenRouter di Ubuntu
Ringkasan — Panduan ini mencakup: instalasi Node.js, pemasangan Qwen Code CLI, akun OpenRouter & kunci API, konfigurasi model gratis, pengujian, dan tugas coding nyata. Qwen Code mendukung penyedia yang kompatibel dengan OpenAI melalui modelProviders di settings.json. OpenRouter bekerja menggunakan endpoint kompatibel OpenAI.
1️⃣ Install Node.js menggunakan NVM
node -v
npm -v
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.3/install.sh | bash
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh"
nvm --version
nvm install 24
nvm use 24
nvm alias default 24
node -v
npm -v
which node
which npm
Path yang diharapkan: /home/<user>/.nvm/versions/node/v24.x.x/bin/node dan serupa untuk npm.
2️⃣ Install Qwen Code CLI
npm install -g @qwen-code/qwen-code@latest
qwen --version
Contoh: 0.17.0. File konfigurasi utama ~/.qwen/settings.json.
3️⃣ Buat Akun OpenRouter
Kunjungi openrouter.ai dan daftar via Email, Google, atau GitHub.
4️⃣ Generate OpenRouter API Key
Login → API Keys → Create Key → salin kunci. Contoh: sk-or-v1-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Jangan bagikan. OpenRouter menggunakan variabel lingkungan OPENROUTER_API_KEY.
5️⃣ Membuat Konfigurasi Qwen (dasar)
mkdir -p ~/.qwen
nano ~/.qwen/settings.json
{
"env": {
"OPENROUTER_API_KEY": "sk-or-v1-YOUR_KEY_HERE"
},
"modelProviders": {
"openai": [
{
"id": "z-ai/glm-4.5-air:free",
"name": "[OpenRouter] z-ai/glm-4.5-air:free",
"baseUrl": "https://openrouter.ai/api/v1",
"envKey": "OPENROUTER_API_KEY",
"generationConfig": {
"contextWindowSize": 128000
}
}
]
},
"security": {
"auth": {
"selectedType": "openai"
}
},
"model": {
"name": "z-ai/glm-4.5-air:free"
},
"$version": 4
}
6️⃣ Konfigurasi Multi-Model (direkomendasikan)
{
"env": { "OPENROUTER_API_KEY": "sk-or-v1-YOUR_KEY_HERE" },
"modelProviders": {
"openai": [
{ "id": "z-ai/glm-4.5-air:free", "name": "[OpenRouter] GLM 4.5 Air Free", "baseUrl": "https://openrouter.ai/api/v1", "envKey": "OPENROUTER_API_KEY" },
{ "id": "openai/gpt-oss-120b:free", "name": "[OpenRouter] GPT OSS 120B Free", "baseUrl": "https://openrouter.ai/api/v1", "envKey": "OPENROUTER_API_KEY" },
{ "id": "qwen/qwen3.6-plus:free", "name": "[OpenRouter] Qwen 3.6 Plus Free", "baseUrl": "https://openrouter.ai/api/v1", "envKey": "OPENROUTER_API_KEY" }
]
},
"security": { "auth": { "selectedType": "openai" } },
"model": { "name": "qwen/qwen3.6-plus:free" },
"$version": 4
}
7️⃣ Penyimpanan API Key yang Aman (Direkomendasikan)
nano ~/.profile
export OPENROUTER_API_KEY="sk-or-v1-YOUR_KEY_HERE"
source ~/.profile
Kemudian settings.json sederhana tanpa kunci inline.
8️⃣ Validasi JSON Konfigurasi
python3 -m json.tool ~/.qwen/settings.json
9️⃣ Verifikasi OpenRouter API Key
echo $OPENROUTER_API_KEY
Output yang diharapkan: sk-or-v1-xxxxxxxxxxxx
🔟 Uji OpenRouter API
curl https://openrouter.ai/api/v1/models -H "Authorization: Bearer $OPENROUTER_API_KEY"
🚀 Menjalankan Qwen Code
qwen
Contoh prompt: Identify your model. Jika sukses, model OpenRouter merespon.
🔄 Mengganti Model di Dalam Qwen
Di REPL Qwen: /model lalu ketik ID gratis seperti qwen/qwen3.6-plus:free atau openai/gpt-oss-120b:free.
📁 Membuat Proyek Python
mkdir ~/todo-app
cd ~/todo-app
qwen
Prompt: "Buat aplikasi CLI Todo dengan penyimpanan JSON." atau aplikasi manajemen siswa Flask.
🛠️ Perintah Berguna
qwen --version
qwen --help
cat ~/.qwen/settings.json
echo $OPENROUTER_API_KEY
python3 -m json.tool ~/.qwen/settings.json
⚠️ Kesalahan Umum
- EACCES Izin: Gunakan Node.js yang dikelola NVM, bukan instalasi sistem.
- 401 Tidak Sah: Kunci API tidak valid / kedaluwarsa → buat kunci baru.
- Error Sintaks JSON: Validasi dengan
python3 -m json.tool; periksa koma/kurung.
⭐ Model Gratis yang Direkomendasikan (OpenRouter)
| Model | Kualitas | Kecepatan | Biaya |
|---|---|---|---|
| qwen/qwen3.6-plus:free | Sangat Baik | Cepat | Gratis |
| z-ai/glm-4.5-air:free | Baik | Cepat | Gratis |
| openai/gpt-oss-120b:free | Baik | Sedang | Gratis |
💡 Qwen 3.6 Plus Free menawarkan konteks 1M token, sangat baik untuk agen coding.
✅ Daftar Periksa Final
node -v
npm -v
qwen --version
python3 -m json.tool ~/.qwen/settings.json
echo $OPENROUTER_API_KEY
Comments