Chatwoot Phase 0 部署记录
日期:2026-04-07
状态:已部署并完成线上验证
范围:aovis.app 的 Chatwoot Phase 0 上下文注入
1. 目的
这份记录保存 Chatwoot Phase 0 发布的部署身份、运行检查和线上验证结果,方便后续继续调 widget、上下文和邮件行为时不用重新推导历史。
2. 发布身份
- 仓库:
aovis-direct-store - 分支:
main - 发布提交:
e528d8a810f3b90c594462ebf8de30a6d32ebf1a - 短 commit:
e528d8a - 远端状态:已推送到
origin/main
发布说明:
feat: Chatwoot Phase 0 - logged-in user context injection
3. 发布内容
Phase 0 加入了已登录用户的支持上下文路径:
app/layout.tsx:使用SessionProvidercomponents/chatwoot-widget.tsx:将用户会话同步到 Chatwootapp/api/support/context/route.ts:提供已认证的支持上下文接口scripts/chatwoot-provision-attributes.ts:预置 Chatwoot 自定义字段docs/chatwoot-context-integration.md:记录实现方式.env.example和.env.production.example:补充 Chatwoot 环境变量
这次发布没有扩展到 Amazon、AI、设备遥测或支付相关范围。
4. 部署目标
AOVIS Store VM
- VM:
aovis-store-staging-vm - 区域:
us-west1-c - 项目:
aovis-site-1 - 路径:
/opt/aovis/aovis-store-staging - PM2 进程:
aovis-store-staging
部署身份
- 实际使用的
gcloud账号:[email protected]
Chatwoot Support VM
独立的 Chatwoot 支持栈仍然运行在:
- VM:
chatwoot-vm - 区域:
us-central1-a - 项目:
aovis-direct-store-492514 - 该栈使用的
gcloud账号:[email protected]
5. 部署命令
这次更新是通过 Git pull 完成的,不是 tar / scp 同步:
cd /opt/aovis/aovis-store-staging
git fetch origin
git pull origin main
npm install
npx prisma generate
npm run build
pm2 restart aovis-store-staging --update-env
这是这条发布线的标准路径。
6. 构建与运行结果
npm install成功npx prisma generate成功npm run build成功pm2 restart aovis-store-staging --update-env成功
7. 线上验证
以下检查全部通过:
https://aovis.app返回 200https://aovis.app/robots.txt返回 200https://aovis.app/sitemap.xml返回 200https://aovis.app/api/support/context在未登录时返回 401npm run deploy:verify通过,结果为7/7https://aovis.app/api/auth/providers仍然返回apple
Widget 运行检查
浏览器侧验证确认:
https://support.aovis.app/packs/js/sdk.js已加载window.chatwootSDK存在window.chatwootSettings存在
8. 重要边界
- 不要覆盖
/opt/aovis/aovis-store-staging/.env.production - 不要用 tar / scp 作为主发布路径
- 不要把未提交的本地改动当作可发布版本
- 如果以后 Apple sign-in 消失,先检查 VM 环境和
/api/auth/providers
9. 后续调优
后续仍应限制在 Phase 0 这条线内:
- widget 身份 / 上下文同步
- 通知交付行为
- 邮件通知规则
- 运营与客服流程对齐
不要把这份记录扩展成其他产品范围。