Typebot 聊天机器人搭建教程
Typebot 是一款开源的可视化聊天机器人构建平台,通过拖拽式流程编辑器创建互动对话体验。它可以用于网站客服、产品导购、问卷收集、客户资料采集等场景。Typebot 提供丰富的输入组件、逻辑分支和第三方集成,无需编程即可构建复杂的对话流程。本教程将在搬瓦工 VPS 上通过 Docker 部署 Typebot。
一、Typebot 核心功能
- 可视化流程编辑器:拖拽式编辑器设计对话流程,直观清晰,支持分支和循环。
- 丰富的输入类型:文本输入、邮箱、电话、URL、数字、日期、文件上传、按钮选择、评分等。
- 逻辑分支:基于用户回答的条件跳转,创建个性化的对话路径。
- 变量系统:收集和存储用户输入的数据,在后续对话中动态引用。
- API 集成:内置 HTTP 请求块,可以调用外部 API 获取或发送数据。
- AI 集成:集成 OpenAI 等 AI 服务,实现智能对话和内容生成。
- 多渠道部署:嵌入网站(弹窗或内嵌)、独立页面或通过 API 集成到任何平台。
- 数据分析:查看对话完成率、各步骤的放弃率和用户提交的数据。
二、环境准备
- 操作系统:Ubuntu 20.04+(推荐 Ubuntu 22.04)。
- 内存:至少 1GB RAM,推荐 2GB。
- 磁盘:至少 10GB 可用空间。
- Docker:已安装 Docker 和 Docker Compose(参考 Docker 安装教程)。
购买搬瓦工 VPS 请参考 全部方案,使用优惠码 NODESEEK2026 可享受 6.77% 折扣。
三、Docker Compose 部署
3.1 创建项目目录
mkdir -p /opt/typebot && cd /opt/typebot
3.2 创建环境变量文件
cat > .env <<'EOF'
DATABASE_URL=postgresql://typebot:your_db_password@db:5432/typebot
NEXTAUTH_URL=http://your-domain.com
NEXT_PUBLIC_VIEWER_URL=http://bot.your-domain.com
ENCRYPTION_SECRET=your_encryption_secret_32_chars
NEXTAUTH_SECRET=your_nextauth_secret
ADMIN_EMAIL=admin@example.com
SMTP_HOST=smtp.example.com
SMTP_PORT=587
SMTP_USERNAME=your-email@example.com
SMTP_PASSWORD=your-email-password
NEXT_PUBLIC_SMTP_FROM=noreply@example.com
S3_ENDPOINT=http://minio:9000
S3_ACCESS_KEY=typebot_minio
S3_SECRET_KEY=your_minio_secret
S3_BUCKET=typebot
S3_REGION=us-east-1
EOF
生成密钥:
echo "ENCRYPTION_SECRET: $(openssl rand -hex 16)"
echo "NEXTAUTH_SECRET: $(openssl rand -base64 32)"
3.3 创建 Docker Compose 文件
cat > docker-compose.yml <<'EOF'
version: '3.8'
services:
typebot-builder:
image: baptistearno/typebot-builder:latest
container_name: typebot-builder
restart: always
ports:
- "3000:3000"
env_file:
- .env
depends_on:
- db
typebot-viewer:
image: baptistearno/typebot-viewer:latest
container_name: typebot-viewer
restart: always
ports:
- "3001:3000"
env_file:
- .env
depends_on:
- db
db:
image: postgres:15-alpine
container_name: typebot-db
restart: always
environment:
POSTGRES_USER: typebot
POSTGRES_PASSWORD: your_db_password
POSTGRES_DB: typebot
volumes:
- postgres_data:/var/lib/postgresql/data
minio:
image: minio/minio:latest
container_name: typebot-minio
restart: always
environment:
MINIO_ROOT_USER: typebot_minio
MINIO_ROOT_PASSWORD: your_minio_secret
volumes:
- minio_data:/data
command: server /data
volumes:
postgres_data:
minio_data:
EOF
3.4 启动服务
docker compose up -d
docker compose logs -f typebot-builder
Typebot 有两个前端服务:Builder(构建器,端口 3000)用于设计对话流程,Viewer(查看器,端口 3001)用于展示聊天机器人。
四、Nginx 反向代理
cat > /etc/nginx/sites-available/typebot <<'EOF'
server {
listen 80;
server_name typebot.example.com;
location / {
proxy_pass http://127.0.0.1:3000;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}
server {
listen 80;
server_name bot.example.com;
location / {
proxy_pass http://127.0.0.1:3001;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}
EOF
ln -s /etc/nginx/sites-available/typebot /etc/nginx/sites-enabled/
nginx -t && systemctl reload nginx
certbot --nginx -d typebot.example.com -d bot.example.com
五、使用 Typebot
5.1 设计对话流程
登录 Builder 后创建新的 Typebot。在可视化编辑器中,从左侧面板拖拽组件块到画布上,通过连线定义对话顺序。常用的组件包括:文本消息(机器人说话)、文本输入(用户回答)、按钮选择(用户从选项中选择)和条件跳转(根据回答走不同分支)。
5.2 变量与数据收集
每个输入组件都可以将用户的回答存储到变量中。在后续的消息中使用变量名引用这些数据,实现个性化对话。收集到的数据可以在"Results"页面查看和导出。
5.3 嵌入网站
完成设计后点击"Share"获取嵌入代码。Typebot 支持三种嵌入方式:弹窗模式(页面角落的聊天气泡)、全屏模式和内嵌 iframe。将对应的 JavaScript 代码片段添加到你的网站即可。
六、备份与升级
# 备份
docker exec typebot-db pg_dump -U typebot typebot > /opt/typebot/backup_$(date +%Y%m%d).sql
# 升级
cd /opt/typebot
docker compose pull
docker compose down
docker compose up -d
总结
Typebot 让非技术人员也能轻松构建专业的聊天机器人,适合营销获客、客服自动化和数据收集等场景。如果你需要更偏向 AI 工作流编排的工具,可以参考 Flowise。购买搬瓦工 VPS 请参考 全部方案,使用优惠码 NODESEEK2026 可享受折扣。更多教程请访问 搬瓦工VPS中文网。