Rode o Chatwoot Captain em um endpoint personalizado compatível com OpenAI.
Updated 2026-07-30
O Chatwoot auto-hospedado configura o Captain através das configs de app do Super Admin: CAPTAIN_OPEN_AI_ENDPOINT, CAPTAIN_OPEN_AI_API_KEY, e CAPTAIN_OPEN_AI_MODEL. Aponte o endpoint para https://api.apisrouter.com (o Chatwoot mesmo anexa /v1) e sua IA de suporte responde em qualquer modelo do catálogo através de uma chave.
Resposta rápida: três configs do Captain no Super Admin.
No Chatwoot auto-hospedado atual, as configurações de LLM do Captain são configs de instalação, não variáveis de .env; o .env.example distribuído diz isso explicitamente e aponta você para Super Admin, App Configs, Captain. Três valores importam: CAPTAIN_OPEN_AI_API_KEY recebe a chave do gateway, CAPTAIN_OPEN_AI_MODEL recebe o id do modelo, e CAPTAIN_OPEN_AI_ENDPOINT recebe o host do endpoint. O valor do endpoint tem uma pegadinha: dê-o sem o sufixo /v1. O inicializador do Chatwoot constrói a base de API ele mesmo cortando uma barra final e anexando /v1, e a própria descrição da config mostra o padrão como https://api.openai.com/ exatamente nesse formato. Para a APIsRouter, digite https://api.apisrouter.com e deixe o Chatwoot derivar https://api.apisrouter.com/v1. Essas configs são lidas quando o app inicializa, então reinicie o Chatwoot depois de alterá-las.
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
(sem /v1 -- o Chatwoot o anexa)
depois reinicie os processos do ChatwootO que o Captain faz com o modelo configurado.
O Chatwoot (cerca de 34 mil estrelas no GitHub) é a principal plataforma de suporte ao cliente open-source, e o Captain é sua camada de IA: um agente de IA que responde conversas de clientes a partir dos artigos e FAQs da sua central de ajuda, um copiloto que rascunha respostas e resume threads para agentes humanos, e funcionalidades de conhecimento fundamentadas em documentos atrás de ambos. Em instalações auto-hospedadas onde o Captain está disponível, tudo isso roda através do modelo configurado acima. Por baixo dos panos, o Chatwoot configura seu SDK de agentes uma vez na inicialização: a chave, a base de API derivada, e o modelo padrão. Toda funcionalidade do Captain então fala chat completions padrão para essa base URL, e o id do modelo viaja como uma string simples. O Chatwoot mantém um mapa de prefixos de nome de modelo (claude-, gemini-, deepseek-), mas o usa para rotulagem de telemetria, não roteamento, então um id Claude ou DeepSeek definido como CAPTAIN_OPEN_AI_MODEL ainda vai para seu endpoint configurado como qualquer outra string. Tráfego de suporte tem um perfil de custo distinto: muitas conversas, turnos curtos, e respostas fundamentadas montadas a partir de artigos recuperados. Isso faz do custo por conversa o número que importa, e ele é dominado por tokens de entrada do contexto recuperado. Um id rápido cuida bem da camada de agente, com escalonamento para um id mais forte sendo uma mudança de uma config quando você quer que o copiloto escreva rascunhos melhores.
Configuração completa e o detalhe do momento de inicialização.
Abra o console Super Admin na sua instalação, vá para App Configs e selecione Captain, então preencha os três valores. Se seu Chatwoot é anterior à config de endpoint (ela chegou na era v4.4 em meados de 2025), atualize primeiro; em versões mais antigas só a chave e o modelo existiam e o endpoint era fixo no código. Como o inicializador lê essas configs durante a inicialização da aplicação, mudanças têm efeito depois de um reinício dos processos web e worker. Isso também significa que um valor errado não falha no momento de salvar; ele falha na primeira requisição do Captain depois do reinício, o que vale a pena saber antes de depurar no lugar errado. O Captain também tem um lado de embedding: CAPTAIN_EMBEDDING_MODEL (padrão text-embedding-3-small) alimenta a busca de documentos sobre o conteúdo da sua central de ajuda, e resolve contra o mesmo endpoint configurado. Se você redirecionar o endpoint para um gateway, confirme que o id de embedding que você configura ali é um que o endpoint de fato serve; caso contrário, deixe as funcionalidades de documento na configuração existente e as valide separadamente depois da troca.
# o Chatwoot vai chamar <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"}]}'Escolhendo um modelo para automação de suporte.
O ciclo de avaliação que funciona: rode uma semana em um id rápido, exporte os números de uso, depois rode os times pesados em copiloto em um id mais forte e compare aceitação de rascunho em vez de impressão. Ambos os candidatos são cobrados pela mesma chave, então a comparação chega precificada.
- A camada do agente de IA é trabalho de volume: respostas fundamentadas sobre artigos recuperados, milhares de conversas por mês. claude-haiku-4-5-20251001, gpt-5.4-mini, e gemini-3.5-flash mantêm o custo por conversa estável sem perder disciplina de fundamentação.
- A camada de copiloto lê threads inteiras e rascunha respostas para humanos, onde tom e julgamento aparecem. claude-sonnet-4-6 é o passo natural para cima quando a qualidade do rascunho impulsiona a produtividade do agente humano.
- Centrais de suporte multilíngues deveriam testar deepseek-v4-pro e gemini-3.5-flash na sua combinação real de idiomas; a qualidade de resposta fundamentada varia mais entre idiomas do que benchmarks em inglês sugerem.
- Custo por conversa é mensurável, não teórico: tokens por conversa vezes conversas por mês, direto do log de uso.
- Um modelo serve todas as funcionalidades do Captain por instalação, então escolha para sua carga de trabalho dominante e reavalie depois de ler uma semana de uso real.
Pague pelo uso · abaixo do preço oficial
Selected models are priced below official list prices. Exact input, output, cache, and per-request prices are shown for each model.
| Modelo | Preço oficial | Nosso preço |
|---|---|---|
| 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 falha específicos do Chatwoot Captain.
O sufixo duplo /v1 é o clássico. Como o Chatwoot anexa /v1 a qualquer coisa que você digite, colar https://api.apisrouter.com/v1 produz requisições contra /v1/v1/chat/completions, que dão 404 no gateway. Digite o host sem /v1. Mudanças de config que parecem ignoradas são a regra do reinício. O SDK de agentes é configurado uma vez na inicialização a partir das configs de instalação; editá-las no Super Admin sem reiniciar deixa os valores antigos ativos em todo processo em execução. Guias antigos apontam para a superfície errada. Tutoriais de versões anteriores do Chatwoot configuram OPENAI_API_KEY através de variáveis de ambiente ou da integração OpenAI legada; nas versões atuais, as configs do Captain no Super Admin são a superfície, e o .env.example diz isso em tantas palavras. Model-not-found na primeira resposta do Captain depois de uma troca é um erro de digitação no id em CAPTAIN_OPEN_AI_MODEL; a listagem /v1/models do gateway é a grafia autoritativa. Erros de autenticação significam que as configs de chave e endpoint não pertencem juntas. E se a busca em artigos ou fundamentação em documentos degrada enquanto o chat responde bem, olhe para a config de embedding, que é um modelo separado resolvendo contra o mesmo endpoint.
Quem roteia o Chatwoot Captain por um gateway.
- Times de suporte auto-hospedados que querem rascunhos com qualidade Claude no copiloto sem uma conta e relacionamento de faturamento separados com um fornecedor.
- Centrais de alto volume onde o agente de IA responde a maioria das conversas, e o custo por conversa decide se a automação se paga; ids rápidos do catálogo mantêm esse número honesto.
- Times rodando um Chatwoot por marca ou região, medindo cada instalação com sua própria chave para que o custo de IA de suporte se reporte sozinho por marca.
- Operadores comparando modelos de suporte em tráfego real: cada candidato é um valor de config e um reinício, não uma migração.
- Desenvolvedores sem acesso ao faturamento de um determinado fornecedor. O acesso baseado em recarga sem exigência de cartão remove a dependência de cadastro por provedor.
Verifique o endpoint e depure a primeira conversa.
Verifique fora do Chatwoot primeiro: liste modelos com sua chave e rode uma chat completion contra o id exato que você definiu em CAPTAIN_OPEN_AI_MODEL. Se isso passar, a metade do gateway está provada e tudo mais é do lado do Chatwoot. Depois reinicie e observe a primeira interação do Captain. Falhas de autenticação apontam para a config de chave; model-not-found aponta para a config de modelo; erros com formato de 404 apontam para um /v1 colado na config de endpoint. Se funcionalidades do Captain simplesmente não aparecem, isso é disponibilidade e licenciamento na sua camada de instalação, não configuração de endpoint. Assim que as conversas fluem, o console da APIsRouter mostra modelo, contagens de token e gasto por requisição. IA de suporte é uma linha de orçamento que se acumula mensalmente, e uma chave por instalação transforma o log de uso no relatório de custo por central que sua equipe financeira vive pedindo.
curl -s https://api.apisrouter.com/v1/models \
-H "Authorization: Bearer $APISROUTER_API_KEY" | head -50Perguntas frequentes
Qual config do Chatwoot aponta o Captain para um endpoint personalizado compatível com OpenAI?
CAPTAIN_OPEN_AI_ENDPOINT, definida no console Super Admin em App Configs, Captain, junto com CAPTAIN_OPEN_AI_API_KEY e CAPTAIN_OPEN_AI_MODEL. Nas versões atuais, essas são configs de instalação, não variáveis de .env.
O endpoint deve incluir /v1?
Não. O Chatwoot corta uma barra final e anexa /v1 ele mesmo ao construir a base de API. Digite https://api.apisrouter.com e o Chatwoot deriva https://api.apisrouter.com/v1; colar o /v1 você mesmo produz um caminho duplicado que dá 404.
O Captain pode rodar em modelos Claude ou DeepSeek?
Sim. CAPTAIN_OPEN_AI_MODEL viaja para o endpoint configurado como uma string simples; o mapa de prefixo de provider do Chatwoot só rotula telemetria. Qualquer id que o gateway sirva funciona, claude-haiku-4-5-20251001 e deepseek-v4-pro incluídos.
Por que minha mudança de config não teve efeito?
As configurações de LLM do Captain são lidas na inicialização da aplicação. Reinicie os processos web e worker do Chatwoot depois de editar as configs no Super Admin; processos em execução mantêm os valores antigos até então.
A config de endpoint afeta a busca de documentos do Captain?
O modelo de embedding (CAPTAIN_EMBEDDING_MODEL, padrão text-embedding-3-small) resolve contra o mesmo endpoint. Confirme que o endpoint serve o id de embedding que você configura, ou valide as funcionalidades de documento separadamente depois de trocar.
Qual versão do Chatwoot eu preciso?
A config de endpoint chegou na era v4.4 em meados de 2025. Versões anteriores expõem só a chave e o modelo com um endpoint OpenAI fixo no código, então atualize antes de apontar o Captain para um gateway.