Files
huihuiSquare/overview-deploy-2026-07-17.md
2026-07-24 14:04:21 +08:00

3.0 KiB
Raw Blame History

数字分身测试环境部署 + 修复概览2026-07-17

本次动作:把上一轮改动真正发到测试环境

测试环境:geo-server(192.168.1.188) 上 /root/avatar-testdocker-compose 跑 avatar-backend(:8011) + avatar-frontend(:8099)。

访问地址:http://192.168.1.188:8099/(短信登录页:/#/login/sms

已上线内容(上一轮你质疑的"创建覆盖/删除/去掉会会资料/真实短信"相关代码):

  • AvatarManage.vue:去掉"我的会会资料",改为全部分身列表,每张带删除+二次确认
  • store/avatar.ts:新增 removeAvatar
  • backend/routers/avatars.py:删除级联清理(知识库/切片/问答对/授权)
  • backend/routers/huihui_auth.py:真实生产调用优先,DEV_MOCK 仅兜底

端到端验证(已通过)

结果
后端 health
分身列表 GET /api/avatar 返回已 seed 分身
短信发码(开发态) 回显 devCode
短信登录→/me 落库 dev 用户 + 会话
删除级联 创建→删除→GET 404
前端页面 :8099 稳定 Up<title>会会数字分身</title>

部署中踩的两个坑(已修复,记进项目记忆)

  1. 环境变量被 rsync 覆盖:本机 compose 不含 env把远端原 HUIHUI_DEV_MOCK/EMBEDDING_* 丢了。 修复:从运行容器 docker inspect 导出 4 个变量到远端 .envcompose 改用 env_file 引用;.env 加进 .dockerignore;本机同步加 env_file+.gitignore 防再丢。
  2. 前端容器反复 Restartingnginx 1.31.3 写 pid 文件被测试服务器 Docker 的 seccomp 拦截 pwrite 致命退出(老版 nginx 用 write() 且只告警,故之前 46h 正常)。 修复:前端 Dockerfile 锁定 nginx:1.28-alpine(远端已缓存,无需联网);nginx.conf 改为完整主配置覆盖 /etc/nginx/nginx.conf

关于"参考会会接口文档"(真实短信仍待你提供)

  • 仓库 docs/production-interface-inventory.md 只文档化了 /open/login/token(密码登录),没有短信端点
  • 已实现的真实生产调用:短信登录复用文档化的 /open/login/token,仅 loginType/grantType=sms(与会会开放平台一致范式);发送验证码端点走可配置 HUIHUI_SMS_SEND_PATH(默认 /open/login/sms/send 在生产返回 404
  • 仍阻塞:会会真实短信发送端点路径(如 /open/sms/send 等)+ 开放平台凭证appId/accessId/accessSecret/clientCode未到位。你提供后关掉 HUIHUI_DEV_MOCK、写进 compose env、重建后端即可真接通会会生产库并同步用户资料。

改动文件

  • digital-avatar-app/Dockerfile(锁 nginx 1.28-alpine
  • digital-avatar-app/nginx.conf(完整主配置,覆盖默认 nginx.conf
  • digital-avatar-app/docker-compose.ymlbackend 加 env_file: - .env
  • digital-avatar-app/.gitignoredigital-avatar-app/backend/.dockerignore(忽略 .env