Torna al blog

Strumenti e integrazioniGuida

Collega Qwen Code a CheapTokens: variabili d'ambiente e settings.json

Punta Qwen Code a un'API compatibile con OpenAI con tre variabili d'ambiente o una voce in settings.json: URL di base, id modello completo e una chiave tenuta fuori da git.

Di CheapTokens TeamPubblicato il 5 min di lettura

Terminale Qwen Code con le variabili OPENAI_API_KEY, OPENAI_BASE_URL e OPENAI_MODEL
In questa pagina
  1. Installa Qwen Code
  2. Via 1: tre variabili d'ambiente
  3. Via 2: settings.json e una chiave fuori da git
  4. Quanto costa una sessione di coding
  5. Altri modelli da provare
  6. Se Qwen Code non si connette

Qwen Code può connettersi a un endpoint personalizzato compatibile con OpenAI, quindi collegarlo a CheapTokens richiede tre valori: l'URL di base https://api.cheaptokens.dev/v1, la tua chiave API e un id modello completo come deepseek-ai/DeepSeek-V4-Flash-0731. Esportali come OPENAI_API_KEY, OPENAI_BASE_URL e OPENAI_MODEL, oppure inseriscili in ~/.qwen/settings.json. Entrambe le vie provengono dalla documentazione sull'autenticazione di Qwen Code (pagina aggiornata il 22 ottobre 2026).

Immagina una sessione lunga: l'agente legge una dozzina di file, ne modifica tre, riesegue i test. Ogni passo reinvia il contesto, quindi paghi l'input ancora e ancora. Ecco perché un modello economico su un saldo a consumo si adatta a un agente da terminale, e perché la configurazione qui sotto vale dieci minuti.

Installa Qwen Code#

Qwen Code richiede Node.js 22 o superiore. Il README del progetto (github.com/QwenLM/qwen-code) elenca diverse vie di installazione; due di queste:

Installa Qwen Code

npm

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

Homebrew

bash
brew install qwen-code

Lo avvii con qwen. La documentazione descrive anche /auth → Custom Provider per collegare manualmente un proxy o un provider non supportato. Le due vie qui sotto sono scritte riga per riga, quindi inizia con una di esse.

Via 1: tre variabili d'ambiente#

Il modo più rapido. Apri un terminale nel tuo progetto ed esegui:

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

La chiave è un segnaposto; incolla la tua dalla dashboard di CheapTokens. Esportare OPENAI_API_KEY è anche ciò che indica a Qwen Code di usare l'autenticazione compatibile con OpenAI quando imposti tutto tramite variabili d'ambiente. OPENAI_MODEL ha un alias, QWEN_MODEL.

Un dettaglio mette in difficoltà molti: l'id del modello. Usa l'id completo dalla documentazione di CheapTokens. Il nome breve che vedi accanto ai prezzi, deepseek-v4-flash-0731, non è accettato dall'API, e gli id differiscono tra i provider.

Quale variabile fa cosa? Abbinale:

Abbina le coppie

Abbina ogni variabile al suo compito

  • OPENAI_API_KEYLa tua chiave CheapTokens; esportarla seleziona l'autenticazione compatibile con OpenAI
  • OPENAI_BASE_URLL'endpoint a cui Qwen Code invia le richieste
  • OPENAI_MODELL'id del modello inviato all'API
  • QWEN_MODELUn alias per OPENAI_MODEL

Le esportazioni durano finché non chiudi il terminale. Per mantenere la configurazione, usa la via successiva.

Via 2: settings.json e una chiave fuori da git#

Supponi di condividere il repository con un team e che nessuno voglia una chiave in un file di configurazione. Allora descrivi il modello in ~/.qwen/settings.json e tieni la chiave in un file separato.

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" }
}

Quattro campi portano il peso:

  • id è l'id del modello inviato all'API, quindi deve essere l'id completo.
  • model.name deve corrispondere a uno dei valori id, altrimenti Qwen Code non ha nulla da selezionare.
  • security.auth.selectedType impostato a "openai" sceglie la via compatibile con OpenAI.
  • envKey indica il nome della variabile che contiene la chiave. È opzionale e per impostazione predefinita è OPENAI_API_KEY.

La chiave stessa va in .qwen/.env, che la documentazione consiglia per i segreti, e quel file resta fuori da git:

bash
CHEAPTOKENS_API_KEY=sk-your-api-key

C'è un motivo per preferirlo al blocco env in settings.json: i valori da env hanno la priorità più bassa, e un file con dentro una chiave è facile da committare per errore. Maggiori informazioni su come proteggere le chiavi sono in store an API key safely.

Env vars and their settings.json counterparts: key, base URL, model id
Where each of the three values goes: env vars on the left, settings.json on the right

Dopo l'avvio, /model mostra i modelli configurati e ti permette di cambiare. Per iniziare con uno specifico, esegui qwen --model "deepseek-ai/DeepSeek-V4-Flash-0731".

Quanto costa una sessione di coding#

Gli agenti da terminale sono pesanti sull'input: ogni passo porta con sé i file e la cronologia raccolti fino a quel momento. Prendi un'attività di 40 passi e supponi 30.000 token di input e 1.000 token di output per passo. Sono 40 × 30.000 = 1.200.000 token di input e 40 × 1.000 = 40.000 token di output. Ecco l'intera attività sui prezzi live:

Modello Per richiesta 40 richieste OpenRouter, 40 richieste
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 token di input e 1000 token di output per richiesta. I prezzi per 1M di token sono attuali e cambiano insieme alle nostre tariffe; la colonna OpenRouter mostra i prezzi di riferimento per lo stesso carico di lavoro.

Contando insieme input e output, CheapTokens è più economico di OpenRouter per ogni modello della tabella. Per questo tipo di ciclo, DeepSeek-V4-Flash si adatta bene: un contesto di 380K, fino a 32.768 token di output in una risposta, un prezzo a qualsiasi ora e un saldo per ogni modello. I tuoi numeri saranno diversi, quindi muovi i cursori:

Calcolatore di costi

La tua giornata con un agente da terminale

Token di input per richiesta: 25.000 · Token di output per richiesta: 800 · Richieste al giorno: 120

ModelloAl giornoAl mese
GLM-5.3-Flash$0.0638$1.92
DeepSeek-V4-Flash$0.0546$1.64
MiniMax-M2.7$0.164$4.93

I prezzi sono nella pricing page. Se osservi l'utilizzo in un altro agente, how much Cline costs ripercorre la stessa aritmetica.

Altri modelli da provare#

Cambiare è solo un cambio di id, nient'altro. Prendilo dalla models page o da GET /v1/models:

  • zai-org/GLM-5.3-Flash: contesto di 390K, fino a 8.192 token di output per risposta e un prezzo totale inferiore a OpenRouter.
  • MiniMaxAI/MiniMax-M2.7: contesto di 180K, fino a 8.192 token di output per risposta e un prezzo totale inferiore a OpenRouter.

Cambia OPENAI_MODEL, oppure aggiungi una seconda voce a modelProviders.openai e passa dall'una all'altra con /model.

Se Qwen Code non si connette#

  • Il tipo di autenticazione non viene scelto. Con sole variabili d'ambiente, OPENAI_API_KEY deve essere esportato. Con settings.json, verifica che selectedType sia "openai".
  • Modello non trovato. model.name deve essere uguale a un id carattere per carattere, e l'id deve essere l'id completo del gateway.
  • 401. La chiave manca o è sbagliata. Se usi envKey, assicurati che quella variabile esista davvero in .qwen/.env o nella tua shell.
  • 404. Verifica che l'URL di base termini con /v1 e che l'id non abbia refusi. La procedura completa è in API 401 or 404: wrong key, base URL or model id.
  • Una variabile sembra ignorata. I valori in env dentro settings.json hanno la priorità più bassa, quindi una variabile impostata altrove vince.

La configurazione per altri agenti da terminale segue lo stesso schema, per esempio OpenCode e Aider. Tutto il resto, dalle chiavi alla prima richiesta, è nella CheapTokens docs.