Apunta Trae Agent a un endpoint para cada modelo.

Updated 2026-07-30

El trae_config.yaml de Trae Agent le da a cada proveedor su propio base_url y api_key. Configura el base_url del proveedor openai a https://api.apisrouter.com/v1 y el agente, junto con su resumidor Lakeview, puede correr en ids de Claude, GPT, DeepSeek, GLM o Kimi a través de una sola clave.

Respuesta rápida: un bloque de proveedor, un bloque de modelo.

La configuración actual de Trae Agent es YAML: trae_config.yaml en el directorio del proyecto, con tres bloques relevantes. model_providers define endpoints, y cada entrada toma api_key, provider y base_url, así que un gateway compatible con OpenAI es simplemente un proveedor de tipo openai con su base_url cambiado. models define configs de modelo con nombre que referencian un proveedor a través de model_provider. agents vincula trae_agent a uno de esos nombres de modelo. El README upstream muestra exactamente esta forma para enrutar a través de un servicio multi-modelo: una entrada de proveedor openai cuyo base_url apunta a la raíz /v1 del servicio. Para APIsRouter, eso es https://api.apisrouter.com/v1, y el campo model entonces toma cualquier id del catálogo como un string simple, ids de Claude y Kimi incluidos, porque el tipo de proveedor solo decide el formato de la petición, no el proveedor.

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

Cómo está conectado Trae Agent por dentro.

Trae Agent (bytedance en GitHub, unas 12K estrellas) es el agente de ingeniería de software orientado a investigación de ByteDance para la línea de comandos: dale una tarea a trae-cli y la trabaja a través de un bucle de herramientas transparente, bash, edición de archivos y pensamiento secuencial entre las herramientas integradas, hasta un max_steps configurable. Es deliberadamente modular, por lo que la config separa proveedores de modelos de agentes: el mismo proveedor puede respaldar varias configs de modelo, y cambiar en qué corre el agente es una edición de una línea a una referencia de nombre. Dos slots de modelo importan en la práctica. trae_agent_model es el bucle principal, el modelo que hace el razonamiento, las llamadas a herramientas, y las ediciones, donde un max_steps de doscientos significa que una sola tarea puede ser una secuencia larga de llamadas facturadas. lakeview_model impulsa Lakeview, la función de resumen de pasos de Trae que produce resúmenes cortos y legibles de lo que hizo el agente en cada paso. Lakeview se dispara a menudo y su salida es prosa de vistazo rápido, lo que la convierte en el slot de manual para un id rápido mientras el bucle principal conserva uno de vanguardia. La configuración se resuelve de más que el YAML: la CLI acepta flags --provider y --model por ejecución, y variables de entorno específicas de proveedor, OPENAI_API_KEY y OPENAI_BASE_URL entre el conjunto documentado, alimentan los mismos ajustes. Los flags son cómo haces A/B con un segundo modelo sin tocar el archivo.

Configuración completa: agente, Lakeview, y una ejecución.

La config completa vincula el agente a un modelo principal y Lakeview a uno rápido, ambos a través de la misma entrada de proveedor. Nota la indirección: agents.trae_agent.model nombra una entrada en models, y cada entrada de models nombra un proveedor a través de model_provider. Una errata en cualquiera de los dos rompe la cadena, así que mantén los tres nombres consistentes. Una nota histórica que explica la mayoría de los tutoriales confusos: la configuración de Trae Agent solía ser trae_config.json, y el repo ahora documenta ese formato como heredado con YAML como la forma actual. Las guías que muestran JSON describen una disposición más antigua; las claves migraron, los conceptos se mantuvieron. Si tienes una config JSON antigua, el documento de config heredada del repo cubre el mapeo. El ángulo de una sola clave vale la pena expresarlo para esta herramienta en particular. La lista de proveedores nativos de Trae Agent abarca proveedores americanos y chinos, lo que normalmente significa una cuenta y una clave por proveedor, algunas difíciles de obtener según dónde estés. Detrás de una entrada de gateway, claude-sonnet-4-6, gpt-5.5, deepseek-v4-pro, glm-5.2 y kimi-k2.7-code están todos a un string de modelo de distancia, en una clave, con un saldo, sea cual sea el lado del Pacífico desde el que desarrolles.

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

Elegir modelos para el bucle del agente.

Los flags --provider y --model hacen concreto el flujo de comparación: ejecuta la misma tarea dos veces con flags distintos, lee pasos-hasta-terminar y el uso tasado por modelo en la consola, y promueve al ganador a trae_config.yaml.

  • El bucle principal es trabajo de herramientas a largo horizonte: leer archivos, editar, ejecutar bash, juzgar cuándo está hecha la tarea. claude-sonnet-4-6 y gpt-5.5 sostienen un plan de doscientos pasos; este slot es el último lugar para economizar.
  • Lakeview es sumarización de alta frecuencia y bajo riesgo. claude-haiku-4-5-20251001 o deepseek-v4-flash lo mantiene efectivamente gratis junto al gasto del bucle principal.
  • kimi-k2.7-code y glm-5.2 son candidatos serios para el bucle principal en repositorios con comentarios, historial de commits o documentación en chino; un repositorio bilingüe es donde superan a los modelos centrados en inglés en comprensión, no solo en precio.
  • deepseek-v4-pro es la opción de volumen para ejecuciones por lotes, barriendo el mismo arreglo entre muchos repositorios o corriendo el agente en CI, donde el coste por tarea se multiplica.
  • max_steps es tu gobernador de coste. Un modelo que divaga quema pasos; al comparar candidatos, compara pasos-hasta-terminar en la misma tarea, no tokens por petición.

Pago por uso · por debajo del precio oficial

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

ModeloPrecio oficialNuestro precio
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

Modos de fallo específicos de Trae Agent.

La confusión JSON-versus-YAML lo encabeza todo. Un trae_config.json copiado de una guía antigua se lee como heredado en el mejor caso y se ignora en el peor, y el síntoma es que la CLI se comporta como si nunca hubieras configurado nada. Las configuraciones actuales pertenecen en trae_config.yaml; migra archivos antiguos usando el documento de config heredada del repo en lugar de adivinar nombres de claves. La cadena de tres nombres se rompe silenciosamente. agents.trae_agent.model debe nombrar una entrada de models, y el model_provider de esa entrada debe nombrar una entrada de model_providers. Renombra uno y no los otros y la ejecución falla al arrancar con un error de resolución en lugar de un error de petición, lo que te apunta al YAML, no a la red. base_url quiere incluir /v1, coincidiendo con el ejemplo upstream que apunta a la raíz /v1 de un router. Un host desnudo produce 404 una vez que el cliente añade la ruta de chat-completions. Que Lakeview falle mientras el agente funciona significa que lakeview_model referencia un id que el endpoint no sirve, fácil de pasar por alto porque probaste el modelo principal y olvidaste el segundo slot. Y las variables de entorno respaldando silenciosamente un proveedor que creías configurado por archivo, OPENAI_API_KEY especialmente, valen la pena revisar cuando la autenticación se comporta de forma inconsistente entre shells.

Quién enruta Trae Agent a través de un gateway.

  • Desarrolladores que quieren a Claude o GPT impulsando el bucle del agente y a GLM, Kimi o DeepSeek a un flag de distancia, sin mantener una cuenta en cada proveedor.
  • Equipos bilingües que trabajan entre bases de código en chino e inglés, para quienes el modelo más fuerte por repositorio puede venir de cualquiera de los dos ecosistemas, direccionable a través de una clave.
  • Ingenieros que ejecutan tareas de agente por lotes o en CI, donde el seguimiento de uso por clave convierte una flota de ejecuciones de trae-cli en un reporte de coste legible.
  • Investigadores que hacen benchmark de modelos de agente, ya que Trae Agent está construido para comparación al estilo ablación y el gateway hace de cada candidato el mismo cambio de un flag.
  • Desarrolladores sin acceso a la facturación de un proveedor concreto. El acceso mediante recarga sin necesidad de tarjeta elimina la dependencia de registrarse en cada proveedor.

Verifica el endpoint y depura la primera tarea.

Confirma que el endpoint sirve tus ids antes de la primera ejecución: el listado /v1/models con tu clave es la grafía autorizada para cada campo model en el YAML, tanto el slot principal como el de Lakeview. Los fallos de primera ejecución se clasifican con claridad. Un error de resolución de config antes de cualquier petición es la cadena de tres nombres o un archivo JSON heredado. Un 401 es el api_key en el bloque de proveedor, o una variable de entorno sobreescribiéndolo. Un 404 en cada petición es un base_url sin su /v1. Un error de modelo no encontrado nombra el slot equivocado, revisa si fue el modelo del agente o el de Lakeview. Y una ejecución que empieza pero se atasca a mitad de tarea suele ser el modelo divagando más que el endpoint fallando, que es para lo que están max_steps y el log de pasos. Una vez que las tareas corren, la consola de APIsRouter muestra el modelo por petición, el recuento de tokens y el gasto. Un agente que da cien pasos por tarea multiplica todo, y el log de uso es donde aprendes lo que una tarea realmente cuesta en cada modelo candidato.

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

Preguntas frecuentes

¿Dónde va la URL base personalizada en la config de Trae Agent?

En trae_config.yaml bajo model_providers: dale a la entrada api_key, provider: openai, y base_url: https://api.apisrouter.com/v1. Las configs de modelo en el bloque models entonces referencian esa entrada por nombre a través de model_provider.

¿Sigue admitiéndose trae_config.json?

El repo documenta JSON como el formato heredado y YAML como el actual, con un documento de migración para archivos antiguos. Las guías que muestran trae_config.json describen la disposición más antigua; las configuraciones nuevas deberían usar trae_config.yaml.

¿Puede Trae Agent correr Claude, GLM, Kimi y DeepSeek a través de una clave?

Sí. El tipo de proveedor configura el formato de la petición, y el campo model se reenvía como un string simple, así que funciona cualquier id que sirva el endpoint: claude-sonnet-4-6, glm-5.2, kimi-k2.7-code y deepseek-v4-pro todos a través del mismo bloque de proveedor y clave.

¿Qué es lakeview_model y necesita su propio endpoint?

Lakeview resume cada paso del agente en actualizaciones cortas y legibles, usando el modelo nombrado en lakeview_model. Se resuelve a través del mismo mecanismo de model_providers, así que apúntalo a un id rápido del catálogo en la misma entrada de gateway; se dispara a menudo y no necesita razonamiento de vanguardia.

¿Sobreescriben los flags de CLI a trae_config.yaml?

Sí. trae-cli acepta --provider y --model por ejecución, que es la forma prevista de probar un modelo distinto sin editar el archivo. Las variables de entorno de proveedor como OPENAI_API_KEY y OPENAI_BASE_URL también se leen, así que revisa exportaciones obsoletas cuando el comportamiento difiera entre shells.

¿Debería base_url incluir /v1?

Sí. El ejemplo upstream apunta el proveedor openai a la raíz /v1 de un router, y el valor de APIsRouter es https://api.apisrouter.com/v1. Un host desnudo da 404 una vez que el cliente añade la ruta de la petición.