Ejecuta Chatwoot Captain en un endpoint personalizado compatible con OpenAI.
Updated 2026-07-30
El Chatwoot autoalojado configura Captain a través de las configuraciones de app de Super Admin: CAPTAIN_OPEN_AI_ENDPOINT, CAPTAIN_OPEN_AI_API_KEY y CAPTAIN_OPEN_AI_MODEL. Apunta el endpoint a https://api.apisrouter.com (Chatwoot añade /v1 por sí mismo) y tu IA de soporte responde con cualquier modelo del catálogo a través de una clave.
Respuesta rápida: tres configs de Captain en Super Admin.
En el Chatwoot autoalojado actual, los ajustes de LLM de Captain son configs de instalación, no variables .env; el .env.example que se distribuye lo dice explícitamente y te remite a Super Admin, App Configs, Captain. Tres valores importan: CAPTAIN_OPEN_AI_API_KEY toma la clave del gateway, CAPTAIN_OPEN_AI_MODEL toma el id del modelo, y CAPTAIN_OPEN_AI_ENDPOINT toma el host del endpoint. El valor del endpoint tiene un detalle delicado: dalo sin el sufijo /v1. El inicializador de Chatwoot construye la base de la API por sí mismo, recortando una barra final y añadiendo /v1, y la propia descripción de la config muestra el valor por defecto como https://api.openai.com/ exactamente en esa forma. Para APIsRouter, introduce https://api.apisrouter.com y deja que Chatwoot derive https://api.apisrouter.com/v1. Estas configs se leen cuando la app arranca, así que reinicia Chatwoot después de cambiarlas.
CAPTAIN_OPEN_AI_API_KEY: sk-YOUR-APISROUTER-KEY
CAPTAIN_OPEN_AI_MODEL: claude-haiku-4-5-20251001
CAPTAIN_OPEN_AI_ENDPOINT: https://api.apisrouter.com
(no /v1 -- Chatwoot appends it)
then restart the Chatwoot processesQué hace Captain con el modelo configurado.
Chatwoot (unas 34K estrellas en GitHub) es la plataforma de soporte al cliente de código abierto líder, y Captain es su capa de IA: un agente de IA que responde conversaciones de clientes desde tus artículos de centro de ayuda y FAQ, un copiloto que redacta respuestas y resume hilos para agentes humanos, y funciones de conocimiento fundamentadas en documentos detrás de ambos. En las instalaciones autoalojadas donde Captain está disponible, todo esto corre a través del modelo configurado arriba. Por debajo, Chatwoot configura su SDK de agentes una vez al arrancar: la clave, la base de API derivada, y el modelo por defecto. Cada función de Captain entonces habla chat completions estándar a esa URL base, y el id del modelo viaja como un string simple. Chatwoot sí mantiene un mapa de prefijos de nombre de modelo (claude-, gemini-, deepseek-) pero lo usa para etiquetado de telemetría, no para enrutamiento, así que un id de Claude o DeepSeek configurado como CAPTAIN_OPEN_AI_MODEL sigue yendo a tu endpoint configurado como cualquier otro string. El tráfico de soporte tiene un perfil de coste distintivo: muchas conversaciones, turnos cortos, y respuestas fundamentadas ensambladas a partir de artículos recuperados. Eso hace que el coste por conversación sea el número que importa, y está dominado por los tokens de entrada de contexto recuperado. Un id rápido maneja bien el nivel de agente, con la opción de escalar a un id más fuerte siendo un cambio de una sola config cuando quieres que el copiloto escriba mejores borradores.
Configuración completa y el detalle del momento de arranque.
Abre la consola de Super Admin en tu instalación, ve a App Configs y selecciona Captain, luego rellena los tres valores. Si tu Chatwoot es anterior a la config de endpoint (llegó en la era v4.4 a mediados de 2025), actualiza primero; en versiones más antiguas solo existían la clave y el modelo, y el endpoint estaba fijo en el código. Como el inicializador lee estas configs durante el arranque de la aplicación, los cambios tienen efecto después de un reinicio de los procesos web y worker. Eso también significa que un valor equivocado no falla al guardar; falla en la primera petición de Captain después del reinicio, lo cual vale la pena saber antes de depurar en el lugar equivocado. Captain también tiene un lado de embeddings: CAPTAIN_EMBEDDING_MODEL (por defecto text-embedding-3-small) impulsa la búsqueda de documentos sobre el contenido de tu centro de ayuda, y se resuelve contra el mismo endpoint configurado. Si reapuntas el endpoint a un gateway, confirma que el id de embedding que configures ahí sea uno que el endpoint realmente sirva; de lo contrario, deja las funciones de documentos en su configuración existente y valídalas por separado después del cambio.
# Chatwoot will call <endpoint>/v1/chat/completions
curl -s https://api.apisrouter.com/v1/chat/completions \
-H "Authorization: Bearer $APISROUTER_API_KEY" \
-H "Content-Type: application/json" \
-d '{"model":"claude-haiku-4-5-20251001",
"messages":[{"role":"user","content":"ping"}]}'Elegir un modelo para automatización de soporte.
El bucle de evaluación que funciona: corre una semana con un id rápido, exporta los números de uso, luego corre los equipos con más copiloto en un id más fuerte y compara la aceptación de borradores en lugar de sensaciones. Ambos candidatos facturan a través de la misma clave, así que la comparación llega con precio.
- El nivel de agente de IA es trabajo de volumen: respuestas fundamentadas sobre artículos recuperados, miles de conversaciones al mes. claude-haiku-4-5-20251001, gpt-5.4-mini y gemini-3.5-flash mantienen el coste por conversación plano sin perder disciplina de fundamentación.
- El nivel de copiloto lee hilos completos y redacta respuestas para humanos, donde se nota el tono y el juicio. claude-sonnet-4-6 es el paso natural hacia arriba cuando la calidad del borrador impulsa la productividad del agente.
- Los equipos de soporte multilingües deberían probar deepseek-v4-pro y gemini-3.5-flash con su mezcla real de idiomas; la calidad de respuesta fundamentada varía más entre idiomas de lo que sugieren los benchmarks en inglés.
- El coste por conversación es medible, no teórico: tokens por conversación por conversaciones al mes, directo del log de uso.
- Un modelo sirve a todas las funciones de Captain por instalación, así que elige para tu carga de trabajo dominante y revisa después de leer una semana de uso real.
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.
| Modelo | Precio oficial | Nuestro precio |
|---|---|---|
| Claude Haiku 4.5 20251001 | $1.00 / $5.00 per M | $0.80 / $4.00 per M |
| Claude Sonnet 4.6 | $3.00 / $15.00 per M | $2.40 / $12.00 per M |
| GPT-5.4 mini | $0.75 / $4.50 per M | $0.60 / $3.60 per M |
| DeepSeek V4 Pro | $0.43 / $0.87 per M | $0.40 / $0.90 per M |
| Gemini 3.5 Flash | $1.50 / $9.00 per M | $1.20 / $7.20 per M |
Modos de fallo específicos de Chatwoot Captain.
El doble sufijo /v1 es el clásico. Como Chatwoot añade /v1 a lo que introduzcas, pegar https://api.apisrouter.com/v1 produce peticiones contra /v1/v1/chat/completions, que dan 404 en el gateway. Introduce el host sin /v1. Los cambios de config que parecen ignorados son la regla del reinicio. El SDK de agentes se configura una vez al arrancar desde las configs de instalación; editarlas en Super Admin sin reiniciar deja los valores antiguos vivos en cada proceso en ejecución. Las guías antiguas apuntan a la superficie equivocada. Los tutoriales de versiones anteriores de Chatwoot configuran OPENAI_API_KEY a través de variables de entorno o la integración de OpenAI heredada; en versiones actuales, las configs de Captain en Super Admin son la superficie, y el .env.example lo dice con todas las letras. Model-not-found en la primera respuesta de Captain después de un cambio es una errata en CAPTAIN_OPEN_AI_MODEL; el listado /v1/models del gateway es la grafía autorizada. Los errores de autenticación significan que la clave y el endpoint configurados no pertenecen juntos. Y si la búsqueda de artículos o la fundamentación en documentos se degrada mientras el chat responde bien, mira la config de embedding, que es un modelo separado que se resuelve contra el mismo endpoint.
Quién enruta Chatwoot Captain a través de un gateway.
- Equipos de soporte autoalojados que quieren redacción de calidad Claude en el copiloto sin una cuenta y relación de facturación con un proveedor separado.
- Mesas de alto volumen donde el agente de IA responde la mayoría de las conversaciones, y el coste por conversación decide si la automatización se paga sola; los ids rápidos del catálogo mantienen ese número honesto.
- Equipos que ejecutan un Chatwoot por marca o región, midiendo cada instalación con su propia clave para que el coste de IA de soporte se reporte solo por marca.
- Operadores que comparan modelos de soporte con tráfico real: cada candidato es un valor de config y un reinicio, no una migración.
- 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 conversación.
Verifica fuera de Chatwoot primero: lista los modelos con tu clave y ejecuta una chat completion contra el id exacto que configuraste en CAPTAIN_OPEN_AI_MODEL. Si eso pasa, la mitad del gateway está probada y todo lo demás está del lado de Chatwoot. Luego reinicia y observa la primera interacción de Captain. Los fallos de autenticación apuntan a la config de clave; model-not-found apunta a la config de modelo; errores con forma de 404 apuntan a un /v1 pegado en la config de endpoint. Si las funciones de Captain simplemente no aparecen, eso es disponibilidad y licenciamiento en tu nivel de instalación, no configuración de endpoint. Una vez que las conversaciones fluyen, la consola de APIsRouter muestra el modelo por petición, el recuento de tokens y el gasto. La IA de soporte es una línea de presupuesto que se acumula mensualmente, y una clave por instalación convierte el log de uso en el reporte de coste por mesa que tu equipo de finanzas sigue pidiendo.
curl -s https://api.apisrouter.com/v1/models \
-H "Authorization: Bearer $APISROUTER_API_KEY" | head -50Preguntas frecuentes
¿Qué config de Chatwoot apunta Captain a un endpoint personalizado compatible con OpenAI?
CAPTAIN_OPEN_AI_ENDPOINT, configurada en la consola de Super Admin bajo App Configs, Captain, junto a CAPTAIN_OPEN_AI_API_KEY y CAPTAIN_OPEN_AI_MODEL. En versiones actuales, estas son configs de instalación, no variables .env.
¿Debería el endpoint incluir /v1?
No. Chatwoot recorta una barra final y añade /v1 por sí mismo al construir la base de la API. Introduce https://api.apisrouter.com y Chatwoot deriva https://api.apisrouter.com/v1; pegar el /v1 tú mismo produce una ruta duplicada que da 404.
¿Puede Captain correr en modelos Claude o DeepSeek?
Sí. CAPTAIN_OPEN_AI_MODEL viaja al endpoint configurado como un string simple; el mapa de prefijos de proveedor de Chatwoot solo etiqueta telemetría. Funciona cualquier id que sirva el gateway, incluidos claude-haiku-4-5-20251001 y deepseek-v4-pro.
¿Por qué mi cambio de config no tuvo efecto?
Los ajustes de LLM de Captain se leen al arrancar la aplicación. Reinicia los procesos web y worker de Chatwoot después de editar las configs en Super Admin; los procesos en ejecución mantienen los valores antiguos hasta entonces.
¿Afecta la config de endpoint a la búsqueda de documentos de Captain?
El modelo de embedding (CAPTAIN_EMBEDDING_MODEL, por defecto text-embedding-3-small) se resuelve contra el mismo endpoint. Confirma que el endpoint sirve el id de embedding que configures, o valida las funciones de documentos por separado después de cambiar.
¿Qué versión de Chatwoot necesito?
La config de endpoint llegó en la era v4.4 a mediados de 2025. Las versiones anteriores solo exponen la clave y el modelo con un endpoint de OpenAI fijo en el código, así que actualiza antes de apuntar Captain a un gateway.