EasyStarter logoEasyStarter

在线客服

为 Web 应用可选接入 Tawk.to 聊天气泡

概述

EasyStarter 可以在 Web 应用里加载 Tawk.to 聊天气泡。这是 opt-in:ID 为空时不会请求任何 Tawk 脚本。

Tawk.to 免费档不限制坐席、对话量和历史记录。去掉气泡上的 Powered by tawk.to 需要他们的付费去品牌加购。

环境变量

这些是 公开的 VITE_ 变量,会打进客户端包。不要放进 apps/server/.dev.vars

变量用途
VITE_TAWK_PROPERTY_ID嵌入代码里的 Property ID
VITE_TAWK_WIDGET_ID嵌入代码里的 Widget ID

需要同时写到:

  1. apps/web/.env.development:本地开发
  2. apps/web/.env.production:本地生产构建(不进 Git)
  3. apps/web/wrangler.jsoncvars:Cloudflare 部署,以及 GitHub 接入的线上打包

两个值都必须填写。缺一个就不会加载小组件。

VITE_*构建时 打进客户端包的。Cloudflare 后台的 Worker 变量默认只作用于运行时;GitHub 线上打包要用 Build variables,或者直接把 ID 写进已提交的 wrangler.jsoncwrangler.jsonc 里有值时,不必再去后台填一遍。

获取 ID

  1. tawk.to 注册免费账号。
  2. 为站点创建一个 property。
  3. 打开 Administration → Channels → Chat Widget,复制 embed 代码。
  4. 脚本地址形如 https://embed.tawk.to/{PROPERTY_ID}/{WIDGET_ID}
VITE_TAWK_PROPERTY_ID=64abc123def4567890abcdef
VITE_TAWK_WIDGET_ID=1hxxxxxxx

行为

  • 落地页、文档、博客、法律页和仪表盘会显示气泡。
  • 认证页(/auth/sign-in/auth/sign-up 以及带语言前缀的同样路径)会隐藏气泡,避免挡住表单。
  • 已登录用户会把 nameemail 传给 Tawk,方便客服识别。
  • 退出登录会重置小组件,避免下一个访客沿用上一个用户身份。
  • Native 应用不接入。这是 Web widget。

验证

  1. 两个 ID 都留空,运行 pnpm dev:web,在 DevTools → Network 中确认没有 embed.tawk.to 请求。
  2. 填入两个 ID 并重启 Web,确认落地页右下角出现气泡。
  3. 打开 /auth/sign-in,确认气泡被隐藏。
  4. 登录后打开仪表盘,确认 Tawk 收件箱能看到用户邮箱。

On this page