Chatwoot 全渠道客服
**Chatwoot** 是一款开源的全渠道客户沟通平台,被广泛用作 Intercom 和 Zendesk 等商业客服系统的免费替代方案。它能将网站、社交媒体、邮件等多个沟通渠道的消息汇聚到同一个收件箱中,让客服团队能够高效地在一个后台与客户互动。
以下是 Chatwoot 的核心亮点与功能:
核心功能
- 全渠道集成:支持网页实时聊天、Facebook Messenger、Instagram、WhatsApp、Telegram、Twitter、LINE 以及电子邮件等多种沟通方式。
- 内置 AI 助手:支持集成大语言模型,能自动回复常见问题、总结对话内容,大幅减轻人工客服的压力。
- 多品牌收件箱:允许企业在一个后台管理多个不同品牌或业务的客服渠道。
- 强大的团队协作:支持给客服分配任务、设置私密笔记(仅限内部员工查看),以及使用标签和状态整理会话。
- 专属帮助中心:内置知识库(FAQ)功能,支持客户自助查询问题,减少重复咨询。
- 自动化工作流:支持创建自动化规则,如根据关键词自动分配对话给指定客服或触发欢迎语。
部署方式与多端支持
- 灵活部署:提供云服务版本(SaaS)以及开源自建版本,企业可将系统部署在自己的私有服务器上,确保数据隐私与安全。
- 移动端 App:提供完善的 iOS 和 Android 客户端,方便客服人员外出时也能随时随地回复客户信息。
部署方式
当前使用 Docker Compose 部署,Chatwoot 官方文档也推荐这种路线:Docker Chatwoot Production deployment guide。
- 部署前的准备
- 确认服务器系统、资源、端口、域名解析。
- 安装 Docker / Docker Compose。
- 下载 Chatwoot 生产部署文件。
- 配置
.env、PostgreSQL、Redis、站点域名、邮件 SMTP。 - 初始化数据库。
- 启动 Chatwoot 服务。
- 配置 Nginx 反向代理。
- 配置 HTTPS 证书。
- 登录 Chatwoot,创建网站 Inbox。
安装 Docker
命令:
sudo apt-get update
sudo apt-get install -y ca-certificates curl gnupg
curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh
sudo apt-get install -y docker-compose-plugin
sudo systemctl enable docker
sudo systemctl start docker
docker --version
docker compose version创建 Chatwoot 部署目录并下载文件
命令:
sudo mkdir -p /opt/chatwoot
sudo chown -R $USER:$USER /opt/chatwoot
cd /opt/chatwoot
wget -O .env https://raw.githubusercontent.com/chatwoot/chatwoot/develop/.env.example
wget -O docker-compose.yaml https://raw.githubusercontent.com/chatwoot/chatwoot/develop/docker-compose.production.yaml
ls -la配置 Chatwoot 基础环境变量
这一步先只配置能启动服务的必要项:域名、密钥、数据库密码、Redis 密码、生产环境。SMTP 邮件后面单独配置。
命令:
cd /opt/chatwoot
cp .env ".env.bak.$(date +%F-%H%M%S)"
cp docker-compose.yaml "docker-compose.yaml.bak.$(date +%F-%H%M%S)"
SECRET_KEY_BASE=$(openssl rand -hex 64)
POSTGRES_PASSWORD=$(openssl rand -base64 48 | tr -dc 'A-Za-z0-9' | head -c 32)
REDIS_PASSWORD=$(openssl rand -base64 48 | tr -dc 'A-Za-z0-9' | head -c 32)
sed -i "s|^SECRET_KEY_BASE=.*|SECRET_KEY_BASE=$SECRET_KEY_BASE|" .env
sed -i "s|^FRONTEND_URL=.*|FRONTEND_URL=https://chat.example.com|" .env
sed -i "s|^FORCE_SSL=.*|FORCE_SSL=true|" .env
sed -i "s|^ENABLE_ACCOUNT_SIGNUP=.*|ENABLE_ACCOUNT_SIGNUP=true|" .env
sed -i "s|^REDIS_PASSWORD=.*|REDIS_PASSWORD=$REDIS_PASSWORD|" .env
sed -i "s|^POSTGRES_PASSWORD=.*|POSTGRES_PASSWORD=$POSTGRES_PASSWORD|" .env
sed -i "s|^RAILS_ENV=.*|RAILS_ENV=production|" .env
sed -i "s|^MAILER_SENDER_EMAIL=.*|MAILER_SENDER_EMAIL=Chatwoot <[email protected]>|" .env
sed -i "s|POSTGRES_PASSWORD=$|POSTGRES_PASSWORD=$POSTGRES_PASSWORD|" docker-compose.yaml拉取镜像并初始化数据库。
cd /opt/chatwoot
sudo docker compose pull
sudo docker compose run --rm rails bundle exec rails db:chatwoot_prepare如果看到类似数据库创建、迁移、seed 完成的信息,就是正常的。
启动 Chatwoot
cd /opt/chatwoot
sudo docker compose up -d
sudo docker compose ps然后本机检查 Chatwoot API:
curl -I http://127.0.0.1:3000/api域名反代
一切正常后,最后做域名反向代理,可以使用 Nginx Proxy Manager 或其它。
完成 Chatwoot 初始化
在用浏览器打开:chat.example.com
按页面引导创建第一个管理员账号。
公司/站点名:example 或你的业务名 管理员邮箱:你的真实邮箱 密码:强密码
创建 Website Inbox
请在 Chatwoot 后台操作:
- 打开 `https://chat.example.com
- 左侧进入
Settings/设置 - 进入
Inboxes/收件箱 - 点击
Add Inbox - 选择
Website - 填写:
- Website name:
国际空间站 - Website domain:例如当前项目正式访问域名
- Widget color:按你品牌色设置
- Welcome heading:
某某客服 - Welcome tagline:
您好,请描述您遇到的问题,我们会尽快协助处理。
- Website name:
- 保存后,Chatwoot 会给你一段网页嵌入代码。
