docs: refine moderation and signup policy

This commit is contained in:
QiuSW
2026-07-06 10:44:13 +08:00
parent e4565de0c4
commit eedc35cc4b
10 changed files with 225 additions and 16 deletions
+19 -4
View File
@@ -71,7 +71,21 @@ AI 上游连接超时与读取超时不走全局环境变量:连接超时由 `
`image_url` 只允许 `http` / `https`,服务端会在请求前解析域名,拒绝私有网段、回环、链路本地、保留地址、组播、未指定地址;重定向后的目标地址也会重复执行同样校验。内网图片不应通过 `image_url` 传入,调用方应改用 `image_base64`。
## 六、静态文件与限流缓存
## 六、内容安全 / 本地敏感词配置
| 变量 | 必填 | 示例 | 说明 |
| --- | --- | --- | --- |
| `MODERATION_ENABLED` | 否 | `false` | 内容安全总开关;默认关闭时所有审核 no-op |
| `MODERATION_PROVIDER` | 启用时是 | `keyword` | T-604 只支持 `keyword` 本地敏感词 provider;云厂商后续扩展 |
| `MODERATION_FAIL_CLOSED` | 否 | `true` | 审核 provider 不可用时是否拦截;生产建议 `true` |
| `MODERATION_BLOCK_ON_REVIEW` | 否 | `false` | `review` 是否按拦截处理;T-604 keyword MVP 不使用 review |
| `MODERATION_CACHE_VERSION_KEY` | 否 | `moderation:sensitive_words:version` | 共享 cache 中的词库版本号 key,用于多 worker matcher 失效 |
T-604 只做 prompt 本地敏感词快筛。命中时返回 `content_blocked`,不扣点、不写调用记录、不调上游;并且必须在下载 `image_url` 前执行 prompt 审核。详细规则见 [`moderation.md`](moderation.md)。
生产多 Gunicorn worker 下,敏感词 matcher 刷新依赖共享 cache 的版本号;若仍使用 `LocMemCache`,只能刷新当前进程,不能保证所有 worker 及时更新。
## 七、静态文件与限流缓存
| 变量 | 必填 | 示例 | 说明 |
| --- | --- | --- | --- |
@@ -82,7 +96,7 @@ AI 上游连接超时与读取超时不走全局环境变量:连接超时由 `
生产限流依赖 Django cache。默认 `LocMemCache` 只适合单进程本地开发;多 worker 部署时每个进程各算一份限流,会放大实际请求速率。MVP 可先用 MySQL 的 `DatabaseCache`,部署时执行 `python3.12 manage.py createcachetable cmhub_cache`;高并发后再换 Redis / Memcached 等共享 cache,并同步安装对应 backend 依赖。
## 七、支付配置
## 八、支付配置
| 变量 | 必填 | 示例 | 说明 |
| --- | --- | --- | --- |
@@ -113,7 +127,7 @@ AI 上游连接超时与读取超时不走全局环境变量:连接超时由 `
缺少真实商户配置时,充值任务只能使用 mock 支付客户端;mock 必须在代码和测试中标明,不得伪装成真实支付。
## 八、对象存储配置
## 九、对象存储配置
图片结果默认返回 URL,避免大 base64 进入同步响应体。对象存储选型未最终落地前,可使用本地开发存储,但生产必须给出可公开访问或可签名访问的 URL。
@@ -127,7 +141,7 @@ AI 上游连接超时与读取超时不走全局环境变量:连接超时由 `
| `S3_ACCESS_KEY_ID` | s3 是 | `change-me` | access key |
| `S3_SECRET_ACCESS_KEY` | s3 是 | `change-me` | secret key |
## 九、上线前检查
## 十、上线前检查
- `DJANGO_DEBUG=false`。
- `DJANGO_SECRET_KEY`、`AI_KEY_ENCRYPTION_KEY`、数据库密码、支付密钥均已使用生产值。
@@ -138,4 +152,5 @@ AI 上游连接超时与读取超时不走全局环境变量:连接超时由 `
- 全站 HTTPS 稳定后再设置 `DJANGO_SECURE_HSTS_SECONDS`;未确认子域名 HTTPS 前不要启用 includeSubDomains / preload。
- MySQL 为 8.4 LTS / InnoDB / `utf8mb4`,不是 SQLite 或已有 MySQL 5.7。
- `image_url` 下载上限、生成限流、认证失败限流、单笔充值金额上限已按生产容量调整。
- 若启用 `MODERATION_ENABLED`,`MODERATION_PROVIDER=keyword`,敏感词词库已配置,且共享 cache 可用于多 worker matcher 版本失效。
- 图片同步链路的客户端、Nginx、Gunicorn、上游 read timeout 均按最慢图片模型放大到同一量级。