项目概述
Chatwoot 是一款现代化、开源的客户支持平台,旨在以更可控、更亲民的方式替代 Intercom、Zendesk 等闭源方案。它将网站在线聊天、电子邮件与主流社交消息统一到一个协作收件箱,提供自动分配、标签、快捷回复、宏与自动化规则等能力,帮助团队高效响应客户。平台内置实时监控与报表、CSAT 评价、多语言与品牌化组件,支持自托管与云部署,借助 API 与 Webhook 易于与现有系统集成。对于注重数据主权、成本优化与可扩展性的团队,Chatwoot 以强大的多渠道能力、透明的开源生态和活跃社区脱颖而出,让从初创到企业级的客服流程更简单、可度量、可迭代。
项目统计
项目概况
24903 Stars |
5099 Forks |
24903 Watchers |
1009 Issues
开源协议: Other |
创建于: 2019-08-14 |
更新于: 2025-08-13
技术栈
该项目主要使用 Ruby 开发,占代码库的 43.4%。此外还包含 Vue (28.3%)、JavaScript (24.8%)、HTML (2.0%)
核心功能
- 全渠道收件箱:网站实时聊天、电子邮件、WhatsApp、Telegram、Facebook、Instagram、X(Twitter)、短信等统一接入,用一个界面处理所有对话。
- 团队协作:自动分配/轮转、@提及与内部备注,冲突避免机制让多人协作不踩脚。
- 自动化与效率:规则路由、工作流、常用语与宏/快捷操作,重复问题一键搞定。
- 客户档案与标签:联系人/公司、标签与自定义字段,沉淀可行动的客户画像。
- 知识库与小部件:可定制网页小部件与帮助中心,先自助后转人工,降低工单量。
- 数据洞察:会话量、响应/解决时长、CSAT 满意度等报表,一眼看清服务质量,支持导出。
- 开放与可扩展:Webhook 与 REST API,集成 Slack 等协作工具,并可接入 AI 服务实现摘要与建议。
- 国际化与部署:多语言界面,自托管支持 Docker/Helm/Kubernetes,隐私与合规可控。
- 移动体验:iOS/Android 应用在手,随时随地回复客户不掉线。
- 更多功能特性正在不断完善中。
技术架构
Chatwoot 采用分层、事件驱动的云原生架构,围绕“多渠道接入 + 实时会话 + 异步处理”设计,核心组件解耦,便于水平扩展与二次开发。
- 后端:Ruby on Rails(Puma)提供 REST API,ActionCable 提供 WebSocket 实时更新。
- 前端:基于 Vue 的 SPA,消费 API 与实时流,提供坐席与管理界面。
- 存储:PostgreSQL 持久化业务数据;Redis 用于缓存与 pub/sub。
- 任务:Sidekiq 承载邮件、渠道同步与报表等异步作业。
- 接入:渠道以“适配器”集成(网站小部件、Email、社媒/WhatsApp 等),并通过 Webhook 与外部系统联动。
- 部署:官方 Docker 镜像与 Helm Chart,应用无状态,适配 Kubernetes;附件支持 S3 兼容存储。
典型流程:外部消息→渠道适配器→API/业务规则(分配、标签、自动回复)→持久化→WebSocket 推送坐席端,同时由后台任务触发通知与第三方同步。
使用指南
- 安装 Docker 与 Docker Compose
- 在空目录创建 docker-compose.yml,写入:
version: '3'
services:
postgres: { image: postgres:14, environment: { POSTGRES_PASSWORD: pass } }
redis: { image: redis:7 }
chatwoot:
image: chatwoot/chatwoot:latest
ports: ["3000:3000"]
environment:
POSTGRES_HOST: postgres
POSTGRES_PASSWORD: pass
REDIS_URL: redis://redis:6379
FRONTEND_URL: http://localhost:3000
depends_on: [postgres, redis]
- 启动与访问
- 启动:docker compose up -d
- 首次访问:http://localhost:3000 注册管理员并完成组织初始化
- 嵌入网站小部件(创建“网站”收件箱后获取 websiteToken):
<script>
(function(d,s){var g=d.createElement(s);g.src="http://localhost:3000/packs/js/sdk.js";
g.async=1;g.onload=function(){window.chatwootSDK.run({websiteToken:"TOKEN",
baseUrl:"http://localhost:3000"})};d.head.appendChild(g)})(document,"script");
</script>
- 常用运维
- 查看日志:docker compose logs -f
- 更新版本:docker compose pull && docker compose up -d
总结评价
Chatwoot 是开源的全渠道客服平台,定位为 Intercom、Zendesk 等的替代方案。项目以 Ruby 实现,约 24k Stars,持续提交、Docker/Helm 镜像、状态监控、Crowdin 多语言与 Discord 社区,显示出较活跃的生态。其亮点在于可自建与数据可控、支持多渠道接入、容器化与 CI/CD 体验较完善。需注意与商用方案相比,功能深度、插件生态与企业级合规/自动化可能存在差距,需结合场景评估。建议注重隐私与成本的团队优先试用;大规模部署应验证扩展性、性能与运维成本。若后续加强集成能力、文档与扩展机制,其竞争力有望进一步提升。



