BYOK (Bring Your Own Key) es la forma predeterminada en que Kodus usa LLMs en todos los planes — Community, Teams y Enterprise. Conectas tu propia cuenta de proveedor, eliges un modelo, pagas solo por lo que usas y monitoreas los costos directamente en el panel de tu proveedor. Kodus nunca aplica márgenes sobre los tokens y nunca ve tu clave en texto plano.Documentation Index
Fetch the complete documentation index at: https://docs.kodus.io/llms.txt
Use this file to discover all available pages before exploring further.
Cómo se relaciona con los planes
Primeros pasos
La pantalla de BYOK tiene dos caminos: elegir un modelo recomendado del catálogo curado (la vía más rápida, 90% de los casos) o configurar cualquier proveedor manualmente (salida de escape para endpoints personalizados o modelos no curados).Abrir la configuración de BYOK
Elegir un modelo recomendado
Pegar tu clave de API y probar
Modelos recomendados
Estos seis modelos están curados para revisión de código. Todos aparecen en el catálogo en/organization/byok y vienen preajustados con valores por defecto razonables (temperatura, máximo de tokens de salida y esfuerzo de razonamiento configurado en medium).
Claude Sonnet 4.6
- Proveedor: Anthropic
- ID del modelo:
claude-sonnet-4-6 - Clave: console.anthropic.com
Claude Opus 4.7
- Proveedor: Anthropic
- ID del modelo:
claude-opus-4-7 - Clave: console.anthropic.com
Gemini 3.1 Pro (custom tools)
- Proveedor: Google Gemini
- ID del modelo:
gemini-3.1-pro-preview-customtools - Clave: aistudio.google.com/apikey
GPT-5.4
- Proveedor: OpenAI
- ID del modelo:
gpt-5.4 - Clave: platform.openai.com/api-keys
Kimi K2.6 Coding
- Proveedor: Compatible con OpenAI (Moonshot AI)
- ID del modelo:
kimi-k2.6 - Claves: platform.moonshot.ai o kimi.com/code
GLM 5.1
- Proveedor: Compatible con OpenAI (Z.ai)
- ID del modelo:
glm-5.1 - Claves: consola de z.ai o z.ai/subscribe
Selector de plan (GLM 5.1 y Kimi K2.6)
Z.ai y Moonshot ofrecen cada uno un plan de suscripción con un endpoint distinto al de su Developer API de pago por token. La tarjeta curada para cada uno de estos modelos muestra un selector de Plan para que elijas el endpoint correcto antes de pegar tu clave.- GLM 5.1 (Z.ai)
- Kimi K2.6 (Moonshot AI)
| Plan | Endpoint | Claves desde | Ideal para |
|---|---|---|---|
| Developer API | https://api.z.ai/api/paas/v4/ | z.ai/manage-apikey | Cargas variables, pago por token |
| Coding Plan | https://api.z.ai/api/coding/paas/v4 | z.ai/subscribe | Volumen predecible de equipo, tarifa mensual fija |
Configurar manualmente
Cuando el modelo que quieres no está en la lista curada (endpoint personalizado, LLM auto-alojado, o un proveedor que no hemos evaluado), haz clic en Configure manually al final del catálogo. Esto abre/organization/byok/manual?slot=main — un asistente paso a paso:
Elegir un proveedor
Ingresar la URL base (si es necesario)
Elegir o escribir el ID del modelo
Pegar la clave de API
Ajustar configuración avanzada (opcional)
Proveedores compatibles
- OpenAI
- Google Gemini
- Anthropic Claude
- Novita AI
- OpenRouter
- OpenAI Compatible
- Visita OpenAI API Keys
- Crea una nueva clave para Kodus
- Agrega información de facturación
Razonamiento / Pensamiento extendido
Los seis modelos recomendados soportan razonamiento. El formulario de BYOK expone un interruptor Thinking (Off / Low / Medium / High / Custom) bajo Configuración avanzada, preconfigurado en Medium para cada modelo recomendado.Niveles predefinidos
Cuando eliges Low / Medium / High, Kodus traduce el nivel al formato nativo de cada proveedor automáticamente:| Proveedor | Cómo se mapea “medium” |
|---|---|
| Anthropic (Claude Sonnet 4.6 / Opus 4.7) | thinking: { type: "adaptive" } + outputConfig: { effort: "medium" } |
| Google (Gemini 3.1 Pro) | thinkingConfig: { thinkingLevel: "medium" } |
| OpenAI (GPT-5.4) | reasoningEffort: "medium" |
| OpenRouter | reasoning: { effort: "medium" } |
| Compatible con OpenAI (Kimi K2.6 / GLM 5.1) | thinking: { type: "enabled" } — binario on/off, el nivel se ignora |
Sobrescritura con JSON personalizado
Elegir Custom en el interruptor de Thinking revela un área de texto JSON. Pega directamente las opciones del proveedor — Kodus las envuelve automáticamente bajo el namespace del proveedor activo. No necesitas conocer las reglas de enrutamiento del Vercel AI SDK. Úsalo cuando:- Necesitas un valor específico de
budgetTokenspara Claude (en lugar del mapeo predefinido de esfuerzo) - Quieres habilitar/deshabilitar el razonamiento por modelo en proveedores compatibles con OpenAI
- Quieres campos más allá del razonamiento — caching, service tier, safety settings, etiquetado
user, etc. La sobrescritura se fusiona enproviderOptions, por lo que cualquier campo del adaptador pasa - El proveedor lanza un nuevo campo que Kodus aún no ha envuelto
Ejemplos (pega directamente — sin namespace)
- Anthropic
- Google Gemini
- OpenAI
- OpenRouter
- Compatible con OpenAI (Kimi, GLM, etc.)
Modo manual con namespaces (usuarios avanzados)
Si tu JSON ya contiene una clave de namespace conocida en el nivel superior (anthropic, google, openai, openrouter, openaiCompatible), Kodus lo deja intacto. Útil si quieres mezclar múltiples namespaces de proveedores o ser explícito:
| Proveedor BYOK | Clave de namespace |
|---|---|
anthropic | anthropic |
google_gemini / google_vertex | google |
openai | openai |
open_router | openrouter |
openai_compatible / novita | openaiCompatible |
Detalles a tener en cuenta
- Solo JSON válido. Las comas faltantes o sobrantes rompen el análisis y Kodus ignora la sobrescritura.
- Precedencia: la sobrescritura JSON reemplaza por completo el bloque de namespace del preset de esfuerzo — si sobrescribes
anthropic.thinkingpero olvidasanthropic.outputConfig, ese campo no se enviará. El enrutamiento de OpenRouter (Pin providers / Allow fallbacks) es la única excepción: se fusiona en profundidad con tu sobrescritura bajoopenrouter. - Proveedor desconocido = sin envoltura. Si tu proveedor de BYOK no está en la tabla de namespaces anterior, Kodus pasa el JSON tal cual. Raro — solo aplica si configuras un proveedor que Kodus no reconoce.
Fijar proveedores de OpenRouter
OpenRouter es un enrutador — cuando solicitas un modelo (por ejemplo,moonshotai/kimi-k2.5), reenvía la llamada a uno de varios proveedores upstream (Moonshot directo, Together, Groq, Fireworks, Novita…). Cada llamada puede caer en un backend diferente. Es conveniente, pero introduce variación silenciosa:
- Variación de calidad — los upstreams corren diferentes precisiones (FP8, INT4, completa) y entregan salidas sutilmente distintas para prompts idénticos
- Inconsistencia en tool-calling — algunos backends no soportan function calling de la misma forma, lo que provoca llamadas a herramientas mal formadas
- Variación en el formato de razonamiento — un upstream respeta
reasoning_effort, otro solothinking.enabled, otro ignora ambos - Oscilaciones de latencia — el p50 puede saltar de 800ms a 4s entre llamadas a medida que cambia el enrutamiento
- Sorpresas de rate-limit — alcanzas la cuota en un backend que no elegiste explícitamente
Cómo fijarlos
Cuando tu proveedor de BYOK es OpenRouter, el panel de Advanced settings muestra una sección OpenRouter routing con dos campos:- Pin providers (in order) — lista separada por comas de nombres de upstream (por ejemplo,
moonshot, together). OpenRouter los prueba en orden y usa el primero disponible. - Allow fallbacks — cuando está desactivado, las solicitudes fallan de forma contundente si ninguno de los proveedores fijados está disponible. Cuando está activado (valor por defecto), OpenRouter puede recurrir a cualquier otro upstream que sirva el modelo.
Avanzado: sobrescritura con JSON en crudo
Si necesitas campos más allá deorder y allow_fallbacks (por ejemplo, ignore, data_collection, require_parameters), cambia Thinking a Custom en Advanced settings y pega el payload de enrutamiento completo — se fusiona en providerOptions junto con cualquier configuración de razonamiento:
Concurrencia y límites de tasa
El campomaxConcurrentRequests (bajo Configuración avanzada) limita cuántas solicitudes simultáneas envía Kodus a tu proveedor en paralelo. La mayoría de las veces, el valor predeterminado es suficiente — pero los planes de suscripción con topes de concurrencia estrictos necesitan configurarlo explícitamente.
Valores predeterminados que Kodus rellena
| Proveedor / plan | Valor preconfigurado | Por qué |
|---|---|---|
| GLM Coding Plan (Lite/Pro) | 1 | La suscripción solo permite una solicitud en curso. Subirlo dispara errores 429. |
| GLM Coding Plan (Max) | 1 (aumentar manualmente) | Max permite hasta 30, pero usamos el valor seguro por defecto. Súbelo en la configuración avanzada. |
| Kimi Code Plan | 30 | Tope documentado por Moonshot en el endpoint de código. |
| GLM Developer API | (vacío) | Los límites escalan por clave; sin un valor global razonable. |
| Kimi Developer API | (vacío) | Escala con tu nivel de recarga (Tier 1 ≈ 50, Tier 5 ≈ 1000). |
| Anthropic / OpenAI / Google / OpenRouter | (vacío) | Los proveedores aplican sus propios TPM/RPM; Kodus no lo limita. |
Cuándo ajustarlo
Subirlo
- Tienes un nivel de recarga alto en Moonshot/OpenRouter y quieres más rendimiento en PRs grandes
- Actualizaste tu GLM Coding Plan a Max y quieres usar el presupuesto completo de 30 concurrentes
- Las revisiones se sienten serializadas en PRs con múltiples archivos y no ves errores 429
Bajarlo
- Ves errores
429oToo much concurrencyen los logs de revisión - Tu proveedor advierte sobre límites de tasa en el panel
- Quieres conservar la ventana del Coding Plan (5h/semanal) entre más PRs
maxConcurrentRequests del propio respaldo. Configurar un respaldo generoso en un proveedor distinto es una buena forma de absorber ráfagas cuando tu principal está en una suscripción ajustada.Mejores prácticas
Seguridad
Claves dedicadas
Rotación regular
Monitorear el uso
Almacenamiento seguro
Estrategia de respaldo
- Usa un proveedor diferente para el principal y el respaldo (por ejemplo, Anthropic principal, Google respaldo). Protege contra interrupciones específicas del proveedor.
- Las suscripciones con límites de concurrencia estrictos (GLM Coding Plan Lite/Pro, Kimi Code Plan) son malas configuraciones en solitario — empárlalas con un respaldo de pago por token para que los PRs variables no se queden sin recursos.
Solución de problemas
'Invalid API key' al hacer clic en Test
'Invalid API key' al hacer clic en Test
- Copia la clave sin espacios extra, comillas o saltos de línea al final.
- Confirma que la facturación esté habilitada y la cuenta tenga créditos.
- Para claves del GLM Coding Plan / Kimi Code Plan, asegúrate de haber elegido el Plan correspondiente en la tarjeta — las claves de suscripción no funcionan en el endpoint del Developer API y viceversa.
'Endpoint not found' al hacer clic en Test
'Endpoint not found' al hacer clic en Test
- Verifica que la URL base coincida exactamente con el proveedor (la barra al final importa para algunos).
- Para proveedores compatibles con OpenAI, el endpoint de modelos suele ser
{baseURL}/models.
Modelo no encontrado al momento de la revisión (la prueba de clave pasó)
Modelo no encontrado al momento de la revisión (la prueba de clave pasó)
- El botón Test valida la clave/endpoint pero no verifica el ID específico del modelo. Si escribiste un modelo que no existe (error de tipeo), la primera revisión real falla.
- Verifica el ID del modelo contra el catálogo del proveedor antes de guardar.
'Rate limited' o 'Too much concurrency'
'Rate limited' o 'Too much concurrency'
- Baja Max concurrent requests en la configuración avanzada.
- En GLM Coding Plan Lite/Pro, mantente en 1 concurrente. Actualiza a Max (30 concurrentes) si necesitas más rendimiento.
- En Kimi Code Plan, el tope documentado es 30 concurrentes.
Variables de entorno de alojamiento autónomo no aparecen
Variables de entorno de alojamiento autónomo no aparecen
- Si Kodus está configurado mediante
.env(Modo Fijo auto-alojado), la pantalla de BYOK muestra un banner informativo azul con el proveedor/modelo activo — la clave nunca se muestra por seguridad. - Guardar una configuración de BYOK sobre
.envabre un diálogo de confirmación antes de sobrescribir.
Costos altos o inesperados
Costos altos o inesperados
- El razonamiento agrega tokens. Si el costo se dispara, baja Thinking de Medium a Low, o cambia a un modelo más barato como principal.
- Consulta el panel de tu proveedor para el desglose por modelo.
- Establece un tope mensual a nivel del proveedor.
Preguntas frecuentes
¿Puedo cambiar de proveedor en cualquier momento?
¿Puedo cambiar de proveedor en cualquier momento?
¿Qué sucede si mi clave de API se queda sin créditos?
¿Qué sucede si mi clave de API se queda sin créditos?
¿Cómo funciona el sistema principal/respaldo?
¿Cómo funciona el sistema principal/respaldo?
¿Debería usar el mismo proveedor para el principal y el respaldo?
¿Debería usar el mismo proveedor para el principal y el respaldo?
¿Almacenan nuestras claves de API de forma segura?
¿Almacenan nuestras claves de API de forma segura?
¿Puedo usar un LLM auto-alojado (por ejemplo, Ollama, vLLM)?
¿Puedo usar un LLM auto-alojado (por ejemplo, Ollama, vLLM)?