Typebot:聊天机器人
约 865 字大约 3 分钟...
Typebot 是一款开源的对话式表单构建器。与传统聊天机器人不同,Typebot 以更直观的“流程图”方式编排对话逻辑,能将枯燥的表单填报转化为自然的对话体验。
它特别适合以下场景:
- 线索收集:用对话替代静态联系表单,提升用户转化率。
- 客户支持:自动回答常见问题,按需转接人工客服。
- 产品引导:通过交互式对话介绍产品功能。
核心优势包括:
- 可视化编排:拖拽式画布,零代码即便是非技术人员也能轻松设计对话流程。
- 多平台嵌入:支持 React、Vue、HTML/JS 等多种嵌入方式,几乎能集成到任何网页。
- 丰富组件:超过 30 种输入类型(文本、Email、日历、文件上传等)及逻辑块。
- 完全开源:数据完全掌握在自己手中,无隐私顾虑。
部署指南
官方推荐使用 Docker Compose 进行部署,以确保环境的一致性。Typebot 的架构包含两个主要服务:
- Builder:构建器后台,用于管理员设计流程、查看数据和分析报告。
- Viewer:对话窗口前端,用于展示给最终用户交互。
1. 配置文件
创建一个 docker-compose.yml 文件:
version: "3.3"
services:
typebot-db:
image: postgres:14-alpine
container_name: typebot-db
restart: always
volumes:
- /volume1/docker/typebot/db:/var/lib/postgresql/data
environment:
- POSTGRES_DB=typebot
- POSTGRES_PASSWORD=typebot
typebot-builder:
image: baptistearno/typebot-builder:latest
container_name: typebot-builder
restart: always
depends_on:
- typebot-db
ports:
- "5740:3000"
extra_hosts:
- "host.docker.internal:host-gateway"
env_file: .env
typebot-viewer:
image: baptistearno/typebot-viewer:latest
container_name: typebot-viewer
restart: always
ports:
- "5741:3000"
env_file: .env2. 环境变量配置
在同一目录下创建 .env 文件。请务必修改 ENCRYPTION_SECRET 和相关的 URL 配置。
# 安全密钥 (必须设置)
# 生成命令: `openssl rand -base64 24 | tr -d '\n' ; echo`
# 务必替换为生成的随机字符串,长度至少 32 字符
ENCRYPTION_SECRET=replace_this_with_your_generated_secret_key
# 数据库连接 (对应 docker-compose 中的配置)
DATABASE_URL=postgresql://postgres:typebot@typebot-db:5432/typebot
# 节点选项 (优化内存)
NODE_OPTIONS=--no-node-snapshot
# URL 配置
# Builder (后台) 访问地址,例如 http://192.168.1.10:5740 或 https://bot-admin.yourdomain.com
NEXTAUTH_URL=http://<NAS_IP>:5740
# Viewer (前台) 访问地址,例如 http://192.168.1.10:5741 或 https://bot.yourdomain.com
NEXT_PUBLIC_VIEWER_URL=http://<NAS_IP>:5741
# 身份认证配置 (必选其一)
# Typebot 需要至少一种登录方式。
# 方式 A: 邮箱登录 (需要正确配置 SMTP 服务)
ADMIN_EMAIL=your-email@example.com
# SMTP_HOST=smtp.example.com
# SMTP_PORT=465
# SMTP_USERNAME=user
# SMTP_PASSWORD=pass
# SMTP_SECURE=true
# 方式 B: OAuth 登录 (推荐,如 Google, GitHub)
# GOOGLE_CLIENT_ID=your_google_client_id
# GOOGLE_CLIENT_SECRET=your_google_client_secret3. 关键注意事项
- 密钥生成:
ENCRYPTION_SECRET必须是 32 字符以上的随机字符串。如果该值为空或太短,容器可能会启动失败。 - 身份认证坑点:
- 如果仅配置
ADMIN_EMAIL但未配置 SMTP,你将无法收到登录链接。 - 实测中,配置 Google OAuth 或 GitHub OAuth 更加便捷且稳定。
- 如果仅配置
- 域名区分:为了最佳体验和避免 Cookie 冲突,建议为 Builder 和 Viewer 配置不同的二级域名(如
builder.yourdomain.com和viewer.yourdomain.com)。
部署启动
在终端中运行以下命令启动服务:
docker-compose up -d启动完成后,通过浏览器访问你的 Builder 地址(即 NEXTAUTH_URL 配置的地址),即可开始创建你的第一个聊天机器人。