Punta Trae Agent verso un endpoint per ogni modello.

Updated 2026-07-30

Il trae_config.yaml di Trae Agent dà a ogni provider il proprio base_url e api_key. Imposta il base_url del provider openai su https://api.apisrouter.com/v1 e l'agente, oltre al suo riassuntore Lakeview, può girare su id Claude, GPT, DeepSeek, GLM, o Kimi tramite una singola chiave.

Risposta rapida: un blocco provider, un blocco modello.

La configurazione attuale di Trae Agent è YAML: trae_config.yaml nella directory del progetto, con tre blocchi rilevanti. model_providers definisce gli endpoint, e ogni voce prende api_key, provider, e base_url, quindi un gateway compatibile OpenAI è solo un provider di tipo openai con il suo base_url scambiato. models definisce config di modello con nome che referenziano un provider tramite model_provider. agents lega trae_agent a uno di quei nomi di modello. Il README a monte mostra esattamente questa forma per instradare tramite un servizio multi-modello: una voce provider openai il cui base_url punta alla radice /v1 del servizio. Per APIsRouter, quella è https://api.apisrouter.com/v1, e il campo model prende poi qualsiasi id del catalogo come stringa semplice, id Claude e Kimi inclusi, perché il tipo di provider decide solo il formato della richiesta, non il fornitore.

model_providers:
  apisrouter:
    api_key: your_apisrouter_api_key
    provider: openai
    base_url: https://api.apisrouter.com/v1

models:
  trae_agent_model:
    model_provider: apisrouter
    model: claude-sonnet-4-6
    max_tokens: 4096
    temperature: 0.5

Come è collegato internamente Trae Agent.

Trae Agent (bytedance su GitHub, circa 12K stelle) è l'agente di ingegneria software orientato alla ricerca di ByteDance per la riga di comando: dai a trae-cli un task e lo lavora attraverso un loop di tool trasparente, bash, modifica file, e sequential thinking tra i tool integrati, fino a un max_steps configurabile. È deliberatamente modulare, il che è il motivo per cui la config separa i provider dai modelli dagli agenti: lo stesso provider può supportare diverse config di modello, e cambiare su cosa gira l'agente è una modifica di una riga a un riferimento di nome. Due slot di modello contano in pratica. trae_agent_model è il loop principale, il modello che fa il ragionamento, le chiamate a tool, e le modifiche, dove max_steps di duecento significa che un singolo task può essere una lunga sequenza di chiamate fatturate. lakeview_model alimenta Lakeview, la funzionalità di riassunto per passo di Trae che produce brevi aggiornamenti leggibili di cosa l'agente ha fatto a ogni passo. Lakeview spara spesso e il suo output è prosa da leggere velocemente, il che lo rende lo slot da manuale per un id veloce mentre il loop principale mantiene uno di frontiera. La configurazione si risolve da più che il solo YAML: la CLI accetta flag --provider e --model per esecuzione, e variabili d'ambiente specifiche per provider, OPENAI_API_KEY e OPENAI_BASE_URL tra quelle documentate, alimentano le stesse impostazioni. I flag sono come metti in A/B un secondo modello senza toccare il file.

Configurazione completa: agente, Lakeview, ed un'esecuzione.

La config completa lega l'agente a un modello principale e Lakeview a uno veloce, entrambi tramite la stessa voce provider. Nota l'indirezione: agents.trae_agent.model nomina una voce in models, e ogni voce di models nomina un provider tramite model_provider. Un errore di battitura in uno dei due riferimenti rompe la catena, quindi mantieni i tre nomi coerenti. Una nota storica che spiega la maggior parte dei tutorial confusi: la config di Trae Agent era un tempo trae_config.json, e il repo ora documenta quel formato come legacy con YAML come forma attuale. Le guide che mostrano JSON descrivono un layout più vecchio; le chiavi sono migrate, i concetti sono rimasti. Se hai una vecchia config JSON, il doc legacy-config del repo copre la mappatura. L'angolo della chiave unica vale la pena spiegarlo per questo strumento in particolare. L'elenco nativo di provider di Trae Agent copre fornitori americani e cinesi, il che normalmente significa un account e una chiave per fornitore, alcuni difficili da ottenere a seconda di dove ti trovi. Dietro una voce gateway, claude-sonnet-4-6, gpt-5.5, deepseek-v4-pro, glm-5.2, e kimi-k2.7-code sono tutti a una stringa di modello di distanza, su una chiave, con un saldo, da qualunque lato del Pacifico sviluppi.

agents:
  trae_agent:
    enable_lakeview: true
    model: trae_agent_model
    max_steps: 200
    tools:
      - bash
      - str_replace_based_edit_tool
      - sequentialthinking
      - task_done

model_providers:
  apisrouter:
    api_key: your_apisrouter_api_key
    provider: openai
    base_url: https://api.apisrouter.com/v1

models:
  trae_agent_model:
    model_provider: apisrouter
    model: claude-sonnet-4-6
    max_tokens: 4096
    temperature: 0.5
  lakeview_model:
    model_provider: apisrouter
    model: claude-haiku-4-5-20251001
    max_tokens: 4096
    temperature: 0.5

Scegliere modelli per il loop dell'agente.

I flag --provider e --model rendono concreto il flusso di confronto: esegui lo stesso task due volte con flag diversi, leggi passi-al-completamento e l'utilizzo prezzato per modello nella console, e promuovi il vincitore in trae_config.yaml.

  • Il loop principale è lavoro con tool a orizzonte lungo: leggere file, modificare, eseguire bash, giudicare quando il task è fatto. claude-sonnet-4-6 e gpt-5.5 tengono insieme un piano di duecento passi; questo slot è l'ultimo posto dove risparmiare.
  • Lakeview è riassunto ad alta frequenza e basso rischio. claude-haiku-4-5-20251001 o deepseek-v4-flash lo mantiene effettivamente gratis rispetto alla spesa del loop principale.
  • kimi-k2.7-code e glm-5.2 sono candidati seri per il loop principale su codebase con commenti, storia dei commit, o documentazione in cinese; un repo bilingue è dove battono i modelli anglocentrici sulla comprensione, non solo sul prezzo.
  • deepseek-v4-pro è la scelta di volume per esecuzioni batch, applicando lo stesso fix su molti repo o eseguendo l'agente in CI, dove il costo per task si moltiplica.
  • max_steps è il tuo governatore di costo. Un modello che vaga brucia passi; quando confronti candidati, confronta passi-al-completamento sullo stesso task, non token per richiesta.

Pagamento a consumo · sotto i prezzi ufficiali

Selected models are priced below official list prices. Exact input, output, cache, and per-request prices are shown for each model.

ModelloPrezzo ufficialeIl nostro prezzo
Claude Sonnet 4.6$3.00 / $15.00 per M$2.40 / $12.00 per M
GPT-5.5$5.00 / $30.00 per M$4.00 / $24.00 per M
DeepSeek V4 Pro$0.43 / $0.87 per M$0.40 / $0.90 per M
GLM-5.2$1.14 / $4.00 per M$1.10 / $4.00 per M
Kimi K2.7 Code$0.95 / $4.00 per M$1.00 / $4.00 per M

Modalità di errore specifiche di Trae Agent.

La confusione JSON-contro-YAML guida tutto il resto. Un trae_config.json copiato da una guida più vecchia viene letto come legacy nel migliore dei casi e ignorato nel peggiore, e il sintomo è la CLI che si comporta come se non avessi mai configurato nulla. Le configurazioni attuali appartengono a trae_config.yaml; migra i vecchi file usando il doc legacy-config del repo piuttosto che indovinare i nomi delle chiavi. La catena a tre nomi si rompe silenziosamente. agents.trae_agent.model deve nominare una voce di models, e il model_provider di quella voce deve nominare una voce di model_providers. Rinomina una e non le altre e l'esecuzione fallisce all'avvio con un errore di risoluzione piuttosto che un errore di richiesta, il che ti punta allo YAML, non alla rete. base_url vuole il /v1 incluso, corrispondendo all'esempio a monte che punta alla radice /v1 di un router. Un host nudo produce 404 una volta che il client aggiunge il percorso chat-completions. Lakeview che fallisce mentre l'agente funziona significa che lakeview_model referenzia un id che l'endpoint non serve, facile da perdere perché hai testato il modello principale e dimenticato il secondo slot. E variabili d'ambiente che silenziosamente supportano un provider che pensavi configurato da file, OPENAI_API_KEY in particolare, valgono la pena controllare quando l'autenticazione si comporta in modo incoerente tra shell.

Chi instrada Trae Agent tramite un gateway.

  • Sviluppatori che vogliono Claude o GPT a guidare il loop dell'agente e GLM, Kimi, o DeepSeek a un flag di distanza, senza tenere un account presso ogni fornitore.
  • Team bilingui che lavorano tra codebase cinesi e inglesi, per i quali il modello più forte per repo può venire da entrambi gli ecosistemi, indirizzabile tramite una chiave.
  • Ingegneri che eseguono task agente batch o CI, dove il tracking di utilizzo per chiave trasforma una flotta di esecuzioni trae-cli in un report di costo leggibile.
  • Ricercatori che fanno benchmark di modelli agente, poiché Trae Agent è costruito per il confronto in stile ablation e il gateway rende ogni candidato lo stesso cambio a un flag.
  • Sviluppatori senza accesso alla fatturazione di un dato fornitore. L'accesso basato su ricarica senza obbligo di carta rimuove la dipendenza dalla registrazione per provider.

Verifica l'endpoint e fai debug del primo task.

Conferma che l'endpoint serva i tuoi id prima della prima esecuzione: l'elenco /v1/models con la tua chiave è la grafia autorevole per ogni campo model nello YAML, sia lo slot principale sia quello Lakeview. I fallimenti alla prima esecuzione si ordinano in modo pulito. Un errore di risoluzione della config prima di qualsiasi richiesta è la catena a tre nomi o un file JSON legacy. Un 401 è l'api_key nel blocco provider, o una variabile d'ambiente che la sovrascrive. Un 404 su ogni richiesta è un base_url a cui manca /v1. Un errore modello-non-trovato nomina lo slot sbagliato, controlla se era il modello agente o quello Lakeview. E un'esecuzione che parte ma si blocca a metà task di solito è il modello che vaga piuttosto che l'endpoint che fallisce, il che è esattamente a cosa servono max_steps e il log dei passi. Una volta che i task girano, la console di APIsRouter mostra il modello per richiesta, i conteggi dei token e la spesa. Un agente che fa cento passi per task moltiplica tutto, e il log di utilizzo è dove impari quanto costa davvero un task su ogni modello candidato.

curl -s https://api.apisrouter.com/v1/models \
  -H "Authorization: Bearer $APISROUTER_API_KEY" | head -50

Domande frequenti

Dove va l'URL base personalizzato nella config di Trae Agent?

In trae_config.yaml sotto model_providers: dai alla voce api_key, provider: openai, e base_url: https://api.apisrouter.com/v1. Le config di modello nel blocco models referenziano poi quella voce per nome tramite model_provider.

trae_config.json è ancora supportato?

Il repo documenta JSON come formato legacy e YAML come attuale, con un doc di migrazione per i vecchi file. Le guide che mostrano trae_config.json descrivono il layout più vecchio; le nuove configurazioni dovrebbero usare trae_config.yaml.

Trae Agent può girare su Claude, GLM, Kimi, e DeepSeek tramite una chiave?

Sì. Il tipo di provider imposta il formato della richiesta, e il campo model viene inoltrato come stringa semplice, quindi funziona qualsiasi id che l'endpoint serve: claude-sonnet-4-6, glm-5.2, kimi-k2.7-code, e deepseek-v4-pro tutti tramite lo stesso blocco provider e la stessa chiave.

Cos'è lakeview_model e ha bisogno del proprio endpoint?

Lakeview riassume ogni passo dell'agente in brevi aggiornamenti leggibili, usando il modello nominato in lakeview_model. Si risolve tramite lo stesso meccanismo model_providers, quindi puntalo su un id veloce del catalogo sulla stessa voce gateway; spara spesso e non ha bisogno di ragionamento di frontiera.

I flag CLI sovrascrivono trae_config.yaml?

Sì. trae-cli accetta --provider e --model per esecuzione, il modo previsto per testare un modello diverso senza modificare il file. Vengono lette anche variabili d'ambiente specifiche del provider come OPENAI_API_KEY e OPENAI_BASE_URL, quindi controlla export obsoleti quando il comportamento differisce tra shell.

base_url dovrebbe includere /v1?

Sì. L'esempio a monte punta il provider openai alla radice /v1 di un router, e il valore di APIsRouter è https://api.apisrouter.com/v1. Un host nudo dà 404 una volta che il client aggiunge il percorso della richiesta.