feat: add audit database and safer image review

This commit is contained in:
2026-05-19 14:31:16 +08:00
parent 8ddda6aa2b
commit 9ab7756369
23 changed files with 1159 additions and 64 deletions

View File

@@ -23,6 +23,8 @@
## 元数据回写清单
- 改公网域名或迁移部署时,更新 `.project.json.urls` + 本节
- 数据持久化在 `data/`gitignored不入库上传原图在 `data/uploads/`
- 后端审计库:`data/app.db`SQLiteDocker 镜像内置 `sqlite3`,记录上传、生成、选择、角色锁定、素材包进度、重做、视频提交、图库/记录查看等事件
- 审计兜底:非 Docker 本地如果缺少 `sqlite3`,写入 `data/audit-fallback.jsonl`,不阻断生成流程
- 本地 Docker 使用 `docker-compose.yml`,挂载 `./data:/app/data`,读取 `.env.local`,并强制 `PUBLIC_APP_URL=http://localhost:4560`
- VPS 生产 Docker 使用 `docker-compose.prod.yml`,挂载 `./data:/app/data`,读取 `deploy/.env.production`,并强制 `PUBLIC_APP_URL=https://ai-toy.kang-kang.com`
- VPS 数据持久化在 `/opt/ai-toy-patent-workflow/data`
@@ -55,6 +57,9 @@
- L3包内其它图基于对应 L2 根图生成
- pack 图像生成必须走真实图生图:读取 anchor 图片字节后调用 GPT image edit不再把参考图 URL 当纯文本拼进 prompt
- 单张重做接口:`POST /api/assets/[assetId]/regenerate`,必须沿用该图的 anchor
- 单张重做需要 `confirmCost=true`;前端会二次确认,服务端会拒绝未确认请求,并对同一 session/asset 加并发锁防连点烧钱
- 生成图库:`/api/gallery/[sessionId]`,按真实图片宽高比例展示缩略图,鼠标悬停显示大图;同页可跳转操作记录
- 操作记录:`/api/audit/[sessionId]`,读取 `data/app.db` 展示事件流水和图片索引
- 视频参考优先级:宣发白底图 `mkt_white_front` → 专利主图 `patent_front` → L1 白底锚图 → L0 意向图
- 上传 API`POST /api/uploads`multipart 图片存入 `data/uploads/`,返回 `UploadedImage`
- 复刻建项目 API`POST /api/projects/from-upload``mode=replicate` 时跳过批量生图,创建 selected L0Vision 推断 `CharacterSpec`,并用 strict L1 净化 prompt