Draai Chatwoot Captain op een aangepast OpenAI-compatibel endpoint.
Updated 2026-07-30
Zelfgehoste Chatwoot configureert Captain via Super Admin-app-configs: CAPTAIN_OPEN_AI_ENDPOINT, CAPTAIN_OPEN_AI_API_KEY en CAPTAIN_OPEN_AI_MODEL. Wijs het endpoint naar https://api.apisrouter.com (Chatwoot voegt zelf /v1 toe) en je support-AI antwoordt op elk catalogusmodel via één sleutel.
Snel antwoord: drie Captain-configs in Super Admin.
Op huidige zelfgehoste Chatwoot zijn de LLM-instellingen van Captain installatieconfigs, geen .env-variabelen; het meegeleverde .env.example zegt dit expliciet en verwijst je naar Super Admin, App Configs, Captain. Drie waarden doen ertoe: CAPTAIN_OPEN_AI_API_KEY neemt de gatewaysleutel, CAPTAIN_OPEN_AI_MODEL neemt het model-ID, en CAPTAIN_OPEN_AI_ENDPOINT neemt de endpointhost. De endpointwaarde heeft één scherp randje: geef hem zonder het /v1-achtervoegsel. De initializer van Chatwoot bouwt de API-base zelf door een slotslash af te knippen en /v1 toe te voegen, en de eigen beschrijving van de config toont de standaard als https://api.openai.com/ in precies die vorm. Voer voor APIsRouter https://api.apisrouter.com in en laat Chatwoot https://api.apisrouter.com/v1 afleiden. Deze configs worden gelezen wanneer de app opstart, dus herstart Chatwoot na het wijzigen ervan.
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 processesWat Captain doet met het geconfigureerde model.
Chatwoot (ongeveer 34K sterren op GitHub) is het toonaangevende open-source klantenserviceplatform, en Captain is de AI-laag ervan: een AI-agent die klantgesprekken beantwoordt vanuit je helpcenter-artikelen en FAQ's, een copilot die antwoorden opstelt en threads samenvat voor menselijke agents, en documentgegronde kennisfuncties achter beide. Op zelfgehoste installaties waar Captain beschikbaar is, draait dit alles via het hierboven geconfigureerde model. Onder de motorkap configureert Chatwoot zijn agents-SDK eenmalig bij opstarten: de sleutel, de afgeleide API-base, en het standaardmodel. Elke Captain-functie spreekt vervolgens standaard chat completions naar die base URL, en het model-ID reist als platte string mee. Chatwoot houdt wel een kaart van modelnaamvoorvoegsels bij (claude-, gemini-, deepseek-), maar gebruikt die voor telemetrie-labeling, niet voor routering, dus een Claude- of DeepSeek-ID ingesteld als CAPTAIN_OPEN_AI_MODEL gaat nog steeds naar je geconfigureerde endpoint zoals elke andere string. Supportverkeer heeft een kenmerkend kostenprofiel: veel gesprekken, korte beurten, en gegronde antwoorden samengesteld uit opgehaalde artikelen. Dat maakt kosten per gesprek het cijfer dat ertoe doet, en het wordt gedomineerd door inputtokens uit de opgehaalde context. Een snel ID handelt de assistent-laag goed af, met escalatie naar een sterker ID als een configwijziging van één regel wanneer je wilt dat de copilot betere concepten schrijft.
Volledige instelling en het detail bij opstarten.
Open de Super Admin-console op je installatie, ga naar App Configs en selecteer Captain, vul dan de drie waarden in. Als je Chatwoot ouder is dan de endpointconfig (die landde in het v4.4-tijdperk medio 2025), upgrade dan eerst; op oudere versies bestonden alleen de sleutel en het model en was het endpoint hardcoded. Omdat de initializer deze configs leest tijdens het opstarten van de applicatie, werken wijzigingen pas na een herstart van de web- en workerprocessen. Dat betekent ook dat een verkeerde waarde niet faalt bij het opslaan; hij faalt bij het eerste Captain-verzoek na herstart, wat het waard is om te weten voordat je op de verkeerde plek gaat debuggen. Captain heeft ook een embeddingkant: CAPTAIN_EMBEDDING_MODEL (standaard text-embedding-3-small) drijft documentzoeken over je helpcenter-content aan, en die resolveert tegen hetzelfde geconfigureerde endpoint. Als je het endpoint herwijst naar een gateway, bevestig dan dat het embedding-ID dat je daar configureert er een is die het endpoint daadwerkelijk bedient; laat anders documentfuncties op hun bestaande instelling en valideer ze apart na de wissel.
# 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"}]}'Een model kiezen voor supportautomatisering.
De evaluatielus die werkt: draai een week op een snel ID, exporteer de gebruikscijfers, draai dan de copilot-zware teams op een sterker ID en vergelijk conceptacceptatie in plaats van gevoel. Beide kandidaten factureren via dezelfde sleutel, dus de vergelijking komt geprijsd binnen.
- De AI-agent-laag is volumewerk: gegronde antwoorden over opgehaalde artikelen, duizenden gesprekken per maand. claude-haiku-4-5-20251001, gpt-5.4-mini en gemini-3.5-flash houden de kosten per gesprek vlak zonder gronddiscipline te verliezen.
- De copilot-laag leest hele threads en stelt antwoorden op voor mensen, waar toon en oordeel zich tonen. claude-sonnet-4-6 is de natuurlijke stap omhoog wanneer conceptkwaliteit de productiviteit van agents aandrijft.
- Meertalige supportdesks moeten deepseek-v4-pro en gemini-3.5-flash testen op hun echte taalmix; gegronde antwoordkwaliteit varieert meer over talen dan Engelse benchmarks suggereren.
- Kosten per gesprek zijn meetbaar, niet theoretisch: tokens per gesprek keer gesprekken per maand, rechtstreeks uit het gebruikslogboek.
- Eén model bedient alle Captain-functies per installatie, dus kies voor je dominante workload en herzie na het lezen van een week echt gebruik.
Betaal naar gebruik · onder officiële prijzen
Selected models are priced below official list prices. Exact input, output, cache, and per-request prices are shown for each model.
| Model | Officiële prijs | Onze prijs |
|---|---|---|
| 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 |
Faalmodi specifiek voor Chatwoot Captain.
Het dubbele /v1-achtervoegsel is de klassieker. Omdat Chatwoot /v1 toevoegt aan wat je ook invoert, produceert het plakken van https://api.apisrouter.com/v1 verzoeken tegen /v1/v1/chat/completions, wat 404 geeft bij de gateway. Voer de host in zonder /v1. Configwijzigingen die genegeerd lijken zijn de herstartregel. De agents-SDK wordt eenmalig geconfigureerd bij opstarten vanuit de installatieconfigs; ze bewerken in Super Admin zonder te herstarten laat de oude waarden actief in elk draaiend proces. Oude gidsen wijzen naar het verkeerde oppervlak. Tutorials van eerdere Chatwoot-versies configureren OPENAI_API_KEY via omgevingsvariabelen of de legacy OpenAI-integratie; op huidige versies zijn de Captain-configs in Super Admin het oppervlak, en de .env.example zegt dit met zoveel woorden. Model-not-found op Captains eerste antwoord na een wissel is een tikfout in het ID in CAPTAIN_OPEN_AI_MODEL; de /v1/models-lijst van de gateway is de gezaghebbende schrijfwijze. Authenticatiefouten betekenen dat de sleutel- en endpointconfigs niet bij elkaar horen. En als artikelzoeken of documentgronding verslechtert terwijl chat prima antwoordt, kijk dan naar de embeddingconfig, wat een apart model is dat resolveert tegen hetzelfde endpoint.
Wie routeert Chatwoot Captain via een gateway.
- Zelfgehoste supportteams die Claude-kwaliteit bij het opstellen willen in de copilot zonder een apart leveranciersaccount en factureringsrelatie.
- Hoogvolume desks waar de AI-agent de meeste gesprekken beantwoordt, en kosten per gesprek beslissen of automatisering zich terugbetaalt; snelle catalogus-ID's houden dat cijfer eerlijk.
- Teams die één Chatwoot per merk of regio draaien, die elke installatie meten met zijn eigen sleutel zodat support-AI-kosten zichzelf per merk rapporteren.
- Operators die supportmodellen vergelijken op echt verkeer: elke kandidaat is één configwaarde en een herstart, geen migratie.
- Developers zonder toegang tot de facturering van een bepaalde leverancier. Toegang op basis van opwaarderen zonder kaartvereiste verwijdert de aanmeldingsafhankelijkheid per provider.
Verifieer het endpoint en debug het eerste gesprek.
Verifieer eerst buiten Chatwoot: lijst modellen op met je sleutel en draai één chat completion tegen het exacte ID dat je in CAPTAIN_OPEN_AI_MODEL hebt gezet. Als die slagen, is de gatewayhelft bewezen en is al het overige Chatwoot-zijdig. Herstart dan en kijk naar de eerste Captain-interactie. Authenticatiefouten wijzen naar de sleutelconfig; model-not-found wijst naar de modelconfig; 404-vormige fouten wijzen naar een /v1 geplakt in de endpointconfig. Als Captain-functies simpelweg niet verschijnen, is dat beschikbaarheid en licentiëring op je installatietier, geen endpointconfiguratie. Zodra gesprekken stromen, toont de APIsRouter-console model per verzoek, tokenaantallen en uitgaven. Support-AI is een budgetregel die maandelijks oploopt, en één sleutel per installatie verandert het gebruikslogboek in het kostenrapport per desk waar je financiële team steeds naar vraagt.
curl -s https://api.apisrouter.com/v1/models \
-H "Authorization: Bearer $APISROUTER_API_KEY" | head -50Veelgestelde vragen
Welke Chatwoot-config wijst Captain naar een aangepast OpenAI-compatibel endpoint?
CAPTAIN_OPEN_AI_ENDPOINT, ingesteld in de Super Admin-console onder App Configs, Captain, naast CAPTAIN_OPEN_AI_API_KEY en CAPTAIN_OPEN_AI_MODEL. Op huidige versies zijn dit installatieconfigs, geen .env-variabelen.
Moet het endpoint /v1 bevatten?
Nee. Chatwoot knipt een slotslash af en voegt zelf /v1 toe bij het bouwen van de API-base. Voer https://api.apisrouter.com in en Chatwoot leidt https://api.apisrouter.com/v1 af; het zelf plakken van de /v1 produceert een verdubbeld pad dat 404 geeft.
Kan Captain draaien op Claude- of DeepSeek-modellen?
Ja. CAPTAIN_OPEN_AI_MODEL reist als platte string naar het geconfigureerde endpoint; de providervoorvoegselkaart van Chatwoot labelt alleen telemetrie. Elk ID dat de gateway bedient werkt, claude-haiku-4-5-20251001 en deepseek-v4-pro inbegrepen.
Waarom werkte mijn configwijziging niet?
De LLM-instellingen van Captain worden gelezen bij het opstarten van de applicatie. Herstart de Chatwoot-web- en workerprocessen na het bewerken van de configs in Super Admin; draaiende processen houden de oude waarden tot dan.
Beïnvloedt de endpointconfig het documentzoeken van Captain?
Het embeddingmodel (CAPTAIN_EMBEDDING_MODEL, standaard text-embedding-3-small) resolveert tegen hetzelfde endpoint. Bevestig dat het endpoint het embedding-ID bedient dat je configureert, of valideer documentfuncties apart na het wisselen.
Welke Chatwoot-versie heb ik nodig?
De endpointconfig landde in het v4.4-tijdperk medio 2025. Eerdere versies tonen alleen de sleutel en het model met een hardcoded OpenAI-endpoint, dus upgrade voordat je Captain naar een gateway wijst.