feat: add WeChat session authentication

This commit is contained in:
2026-07-20 14:47:16 +08:00
parent 2ada52f35a
commit 67d29d3ca0
26 changed files with 1289 additions and 130 deletions

View File

@@ -104,7 +104,7 @@ DATABASE_MAX_CONNECTIONS=10
6. 至少保留 20 GB 可用磁盘空间供镜像、Rust 构建层、约 2.1 GB 模型缓存和录音使用。
7. 宿主机不需要安装 Rust、Python、PyTorch、FunASR 或 ffmpeg这些依赖应全部位于镜像内。
如果缺少 `DATABASE_URL`,停止并让用户在主机本地安全填写。不得要求用户在聊天中粘贴密码,也不得在日志或最终报告中输出完整连接串
如果缺少 `DATABASE_URL``WECHAT_APP_ID``WECHAT_APP_SECRET`,停止并让用户在主机本地安全填写。不得要求用户在聊天中粘贴密码或 AppSecret,也不得在日志或最终报告中输出敏感值
### 2. 创建生产部署文件
@@ -119,7 +119,7 @@ DATABASE_MAX_CONNECTIONS=10
Rust 镜像要求:
1. builder 阶段使用与 `server/Cargo.toml``rust-version` 兼容的 Rust 工具链。
2. 构建 `teaching-feedback-api``migrate` 个 release 二进制。
2. 构建 `teaching-feedback-api``migrate``migrate-user-owner` 个 release 二进制。
3. runtime 阶段只包含运行所需 CA 证书、健康检查工具和二进制,不携带编译器与源码。
4. 尽可能使用非 root 用户运行 API并确保录音卷目录可写。
5. 不把 `server/.env` 复制进镜像。
@@ -142,6 +142,8 @@ ASR_REQUEST_TIMEOUT_SECONDS=1800
ASR_WORKER_CONCURRENCY=1
ASR_JOB_LEASE_SECONDS=3600
DATABASE_MAX_CONNECTIONS=5
AUTH_SESSION_TTL_DAYS=30
ALLOW_DEVELOPMENT_USER_HEADER=false
```
FunASR 初始配置:
@@ -156,7 +158,7 @@ ASR_BATCH_SIZE_SECONDS=300
MODELSCOPE_CACHE=/models
```
`DATABASE_URL` 只从未提交的 `server/.env` 或同等安全的 Compose secret/env 文件注入。设置文件权限为仅部署用户可读,并确认 `git check-ignore` 能匹配该文件。
`DATABASE_URL``WECHAT_APP_SECRET` 只从未提交的 `server/.env` 或同等安全的 Compose secret/env 文件注入。设置文件权限为仅部署用户可读,并确认 `git check-ignore` 能匹配该文件。
### 3. 构建和启动
@@ -205,7 +207,9 @@ Rust 健康检查应包含:
"database_configured": true,
"speech_configured": true,
"speech_available": true,
"speech_provider": "local-funasr"
"speech_provider": "local-funasr",
"wechat_auth_configured": true,
"development_auth_enabled": false
}
```
@@ -230,6 +234,7 @@ Rust 健康检查应包含:
- 三个 Compose 服务的状态和镜像版本。
- 数据库迁移结果。
- Rust API 与 FunASR 健康检查结果。
- 微信登录是否已配置,以及生产开发身份兼容是否关闭。
- 实际并发配置,以及是否完成真实录音压测。
- 模型缓存卷和录音卷名称、占用空间及备份方式。
- 查看日志、启动、停止、重启、更新代码和重新部署的准确命令。