Patakbuhin ang Chatwoot Captain sa isang custom OpenAI-compatible endpoint.
Updated 2026-07-30
Ini-configure ng self-hosted Chatwoot ang Captain sa pamamagitan ng Super Admin app configs: CAPTAIN_OPEN_AI_ENDPOINT, CAPTAIN_OPEN_AI_API_KEY, at CAPTAIN_OPEN_AI_MODEL. Ituro ang endpoint sa https://api.apisrouter.com (idinadagdag ng Chatwoot ang /v1 mismo) at sumasagot ang support AI mo sa anumang catalog model sa pamamagitan ng isang key.
Mabilisang sagot: tatlong Captain config sa Super Admin.
Sa kasalukuyang self-hosted Chatwoot, installation configs ang LLM settings ng Captain, hindi .env variables; malinaw itong sinasabi ng ipinamahaging .env.example at itinuturo ka nito sa Super Admin, App Configs, Captain. Tatlong value ang mahalaga: hawak ng CAPTAIN_OPEN_AI_API_KEY ang gateway key, hawak ng CAPTAIN_OPEN_AI_MODEL ang model id, at hawak ng CAPTAIN_OPEN_AI_ENDPOINT ang endpoint host. May isang matalas na gilid ang endpoint value: ibigay ito nang walang /v1 suffix. Binubuo mismo ng initializer ng Chatwoot ang API base sa pamamagitan ng pagtanggal ng trailing slash at pagdaragdag ng /v1, at ipinapakita ng sariling deskripsyon ng config ang default bilang https://api.openai.com/ sa eksaktong hugis na iyon. Para sa APIsRouter, ilagay ang https://api.apisrouter.com at hayaang kunin ng Chatwoot ang https://api.apisrouter.com/v1. Binabasa ang mga config na ito kapag nag-boot ang app, kaya i-restart ang Chatwoot pagkatapos baguhin ang mga ito.
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 processesAno ang ginagawa ng Captain sa na-configure na model.
Ang Chatwoot (humigit-kumulang 34K stars sa GitHub) ang nangungunang open-source na customer support platform, at ang Captain ang AI layer nito: isang AI agent na sumasagot sa mga usapan ng customer mula sa mga help-center article at FAQ mo, isang copilot na gumagawa ng draft na sagot at nagbubuod ng mga thread para sa human agents, at document-grounded na knowledge features sa likod ng dalawa. Sa mga self-hosted na installation kung saan available ang Captain, dumadaan ang lahat nito sa model na na-configure sa itaas. Sa ilalim ng hood, ini-configure ng Chatwoot ang agents SDK nito nang isang beses sa boot: ang key, ang na-derive na API base, at ang default na model. Nakikipag-usap pagkatapos ang bawat Captain feature sa standard chat completions sa base URL na iyon, at naglalakbay ang model id bilang plain string. May map naman ang Chatwoot ng mga prefix ng model name (claude-, gemini-, deepseek-) pero ginagamit ito para sa telemetry labeling, hindi routing, kaya ang isang Claude o DeepSeek id na itinakda bilang CAPTAIN_OPEN_AI_MODEL ay pupunta pa rin sa na-configure mong endpoint tulad ng anumang ibang string. May kakaibang cost profile ang support traffic: maraming usapan, maiikling turn, at grounded na sagot na binuo mula sa nakuhang articles. Kaya ang per-conversation na gastos ang numerong mahalaga, at pinamumunuan ito ng input tokens mula sa nakuhang context. Kayang-kaya ng isang mabilis na id ang assistant tier, na may pag-eskala sa mas malakas na id bilang isang one-config na pagbabago kapag gusto mong mas magandang draft ang isinusulat ng copilot.
Buong setup at ang detalye sa oras ng boot.
Buksan ang Super Admin console sa installation mo, pumunta sa App Configs at piliin ang Captain, pagkatapos punan ang tatlong value. Kung mas luma ang Chatwoot mo kaysa sa endpoint config (dumating ito noong v4.4 era noong kalagitnaan ng 2025), i-upgrade muna; sa mga mas lumang bersyon, key at model lamang ang umiiral at hardcoded ang endpoint. Dahil binabasa ng initializer ang mga config na ito habang nag-boot ang application, magkakabisa ang mga pagbabago pagkatapos ng restart ng web at worker processes. Ibig sabihin din nito na ang isang maling value ay hindi nabibigo sa oras ng pag-save; nabibigo ito sa unang Captain request pagkatapos ng restart, na mahalagang malaman bago ka mag-debug sa maling lugar. May embedding side din ang Captain: pinapatakbo ng CAPTAIN_EMBEDDING_MODEL (default na text-embedding-3-small) ang document search sa help-center content mo, at nire-resolve ito laban sa parehong na-configure na endpoint. Kung ituturo mo ulit ang endpoint sa isang gateway, kumpirmahin na si-serve ng endpoint ang embedding id na ini-configure mo roon; kung hindi, iwanan muna ang document features sa umiiral na setup nito at i-validate nang hiwalay pagkatapos ng paglipat.
# 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"}]}'Pagpili ng model para sa support automation.
Ang gumaganang evaluation loop: patakbuhin ang isang linggo sa isang mabilis na id, i-export ang usage numbers, pagkatapos patakbuhin ang mga copilot-heavy na team sa isang mas malakas na id at ikumpara ang draft acceptance sa halip na damdamin. Parehong nagba-bill ang dalawang kandidato sa parehong key, kaya dumarating na may presyo ang paghahambing.
- Volume work ang AI agent tier: grounded na sagot sa nakuhang articles, libu-libong usapan kada buwan. Pinapanatili ng claude-haiku-4-5-20251001, gpt-5.4-mini, at gemini-3.5-flash na patag ang gastos per-conversation nang hindi nawawala ang disiplina sa grounding.
- Binabasa ng copilot tier ang buong thread at gumagawa ng draft na sagot para sa mga tao, kung saan lumalabas ang tono at judgment. Natural na hakbang pataas ang claude-sonnet-4-6 kapag ang kalidad ng draft ang nagpapataas sa produktibidad ng agent.
- Dapat subukan ng mga multilingual na support desk ang deepseek-v4-pro at gemini-3.5-flash sa tunay na halo ng wika nila; mas malaki ang pagkakaiba ng kalidad ng grounded na pagsagot sa iba't ibang wika kaysa sa iminumungkahi ng English benchmarks.
- Nasusukat, hindi teoretikal, ang gastos per-conversation: tokens per usapan pataas ng usapan per buwan, direkta mula sa usage log.
- Isang model ang nagsisilbi sa lahat ng feature ng Captain per installation, kaya pumili batay sa dominanteng workload mo at balikan pagkatapos basahin ang isang linggo ng tunay na usage.
Pay-as-you-go · mas mababa sa opisyal na presyo
Selected models are priced below official list prices. Exact input, output, cache, and per-request prices are shown for each model.
| Model | Opisyal na Presyo | Aming Presyo |
|---|---|---|
| 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 |
Mga failure mode na specific sa Chatwoot Captain.
Ang classic ay ang /v1 double-suffix. Dahil idinadagdag ng Chatwoot ang /v1 sa kahit anong ilagay mo, ang pag-paste ng https://api.apisrouter.com/v1 ay gumagawa ng mga request laban sa /v1/v1/chat/completions, na 404 sa gateway. Ilagay ang host nang walang /v1. Ang mga pagbabago sa config na tila hindi pinapansin ay ang restart rule. Ini-configure lamang ang agents SDK nang isang beses sa boot mula sa installation configs; ang pag-edit sa mga ito sa Super Admin nang hindi nagre-restart ay nag-iiwan sa lumang value na buhay sa bawat tumatakbong process. May mga lumang guide na tumuturo sa maling surface. Ini-configure ng mga tutorial mula sa mas lumang bersyon ng Chatwoot ang OPENAI_API_KEY sa pamamagitan ng environment variables o ang legacy na OpenAI integration; sa kasalukuyang mga bersyon, ang Captain configs sa Super Admin ang surface, at malinaw itong sinasabi ng .env.example. Ang model-not-found sa unang sagot ng Captain pagkatapos ng paglipat ay isang typo sa id sa CAPTAIN_OPEN_AI_MODEL; ang /v1/models listing ng gateway ang authoritative na baybay. Ang authentication errors ay nangangahulugan na hindi magkatugma ang key at endpoint configs. At kung bumababa ang kalidad ng article search o document grounding habang maayos ang pagsagot sa chat, tingnan ang embedding config, na isang hiwalay na model na nire-resolve laban sa parehong endpoint.
Sino ang nagru-route ng Chatwoot Captain sa pamamagitan ng isang gateway.
- Mga self-hosted na support team na gustong makakuha ng Claude-quality na drafting sa copilot nang walang hiwalay na vendor account at billing relationship.
- Mga high-volume na desk kung saan sinasagot ng AI agent ang karamihan ng usapan, at ang per-conversation na gastos ang nagdedesisyon kung sulit ang automation; pinananatiling tapat ng mabibilis na catalog id ang numerong iyon.
- Mga team na nagpapatakbo ng isang Chatwoot per brand o rehiyon, sinusukat ang bawat installation gamit ang sarili nitong key para ang gastos sa support AI ay mag-ulat sa sarili per brand.
- Mga operator na naghahambing ng support models sa tunay na trapiko: isang config value at isang restart lamang ang bawat kandidato, hindi migration.
- Mga developer na walang access sa billing ng isang partikular na vendor. Ang top-up based na access na walang kailangang card ay inaalis ang per-provider na sign-up dependency.
I-verify ang endpoint at i-debug ang unang usapan.
I-verify muna sa labas ng Chatwoot: ilista ang mga model gamit ang key mo at patakbuhin ang isang chat completion laban sa eksaktong id na itinakda mo sa CAPTAIN_OPEN_AI_MODEL. Kung pumasa ang mga ito, napatunayan na ang kalahati ng gateway at ang lahat ng iba pa ay nasa Chatwoot side na. Pagkatapos, i-restart at panoorin ang unang interaksyon ng Captain. Ang authentication failures ay tumuturo sa key config; ang model-not-found ay tumuturo sa model config; ang mga error na hugis-404 ay tumuturo sa isang /v1 na na-paste sa endpoint config. Kung hindi lang lumalabas ang mga Captain feature, availability at licensing iyon sa installation tier mo, hindi endpoint configuration. Kapag dumadaloy na ang mga usapan, ipinapakita ng APIsRouter console ang per-request na model, token counts, at gastos. Isang budget line na tumataas kada buwan ang support AI, at ang isang key per installation ay ginagawang usage log ang per-desk na cost report na palaging hinihingi ng finance team mo.
curl -s https://api.apisrouter.com/v1/models \
-H "Authorization: Bearer $APISROUTER_API_KEY" | head -50Mga madalas itanong
Aling Chatwoot config ang nagtuturo sa Captain sa isang custom OpenAI-compatible endpoint?
Ang CAPTAIN_OPEN_AI_ENDPOINT, itinatakda sa Super Admin console sa ilalim ng App Configs, Captain, kasama ang CAPTAIN_OPEN_AI_API_KEY at CAPTAIN_OPEN_AI_MODEL. Sa kasalukuyang mga bersyon, installation configs ito, hindi .env variables.
Dapat bang kasama ang /v1 sa endpoint?
Hindi. Tinatanggal ng Chatwoot ang trailing slash at idinadagdag mismo ang /v1 kapag binubuo ang API base. Ilagay ang https://api.apisrouter.com at kukunin ng Chatwoot ang https://api.apisrouter.com/v1; ang pag-paste mismo ng /v1 ay gumagawa ng doubled path na 404.
Maaari bang tumakbo ang Captain sa Claude o DeepSeek models?
Oo. Naglalakbay ang CAPTAIN_OPEN_AI_MODEL sa na-configure na endpoint bilang plain string; ang provider-prefix map lamang ng Chatwoot ang nagla-label ng telemetry. Gumagana ang anumang id na si-serve ng gateway, kasama ang claude-haiku-4-5-20251001 at deepseek-v4-pro.
Bakit hindi umepekto ang pagbabago ko sa config?
Binabasa ang LLM settings ng Captain sa oras ng application boot. I-restart ang Chatwoot web at worker processes pagkatapos i-edit ang mga config sa Super Admin; pinapanatili ng mga tumatakbong process ang lumang value hanggang doon.
Naaapektuhan ba ng endpoint config ang document search ng Captain?
Nire-resolve ang embedding model (CAPTAIN_EMBEDDING_MODEL, default na text-embedding-3-small) laban sa parehong endpoint. Kumpirmahin na si-serve ng endpoint ang embedding id na ini-configure mo, o i-validate nang hiwalay ang document features pagkatapos lumipat.
Aling bersyon ng Chatwoot ang kailangan ko?
Dumating ang endpoint config noong v4.4 era noong kalagitnaan ng 2025. Ang mga mas lumang bersyon ay ipinapakita lamang ang key at model na may hardcoded na OpenAI endpoint, kaya mag-upgrade muna bago ituro ang Captain sa isang gateway.