diff --git a/AIProviderConfig.md b/AIProviderConfig.md index 53dc452..6d54128 100644 --- a/AIProviderConfig.md +++ b/AIProviderConfig.md @@ -27,7 +27,7 @@ SmartAudit 系统需要调用三类 AI 服务完成视频审核: | 服务类型 | 用途 | 示例模型 | | --- | --- | --- | | **文字处理模型** | Brief 解析、违禁词检测、语义分析、舆情分析 | claude-opus-4-5-20251101, deepseek-chat | -| **视频分析模型** | 画面理解、Logo 检测、产品识别 | Doubao-Seed-1.6-thinking, qwen-vl-max | +| **视频分析模型** | 画面理解、场景分析、产品识别 | Doubao-Seed-1.6-thinking, qwen-vl-max | | **音频解析模型** | 视频口播转文字 (ASR) | whisper-large-v3, paraformer-v2 | ### 1.2 设计目标 @@ -236,6 +236,8 @@ MODEL_CAPABILITIES = { "moonshot-v1-128k": [ModelCapability.TEXT], # 视觉模型 + # 注:Logo 检测由系统内置 CV 模型(Grounding DINO)处理,不受此配置影响。 + # 品牌方配置的视觉模型仅用于语义场景理解(如环境分析、画面质量判定)。 "qwen-vl-max": [ModelCapability.VISION], "qwen-vl-plus": [ModelCapability.VISION], "Doubao-Seed-1.6-thinking": [ModelCapability.VISION], @@ -291,6 +293,10 @@ Authorization: Bearer {token} } ``` +> **模型说明:** 同一模型可能同时出现在 `text` 与 `vision` 列表中,名称保持一致,仅能力标签不同(如 `gpt-4o` 兼具文字与视觉能力)。 + +> **未配置说明:** 若租户未完成 AI 配置,接口返回明确错误(如 409/404),前端需提示品牌方完成配置;所有 AI 调用在此之前应被阻断。 + ### 4.2 更新配置 ``` @@ -342,7 +348,7 @@ Content-Type: application/json "vision": [ {"id": "Doubao-Seed-1.6-thinking", "name": "豆包 Seed 1.6"}, {"id": "qwen-vl-max", "name": "通义千问 VL Max"}, - {"id": "gpt-4o", "name": "GPT-4o (Vision)"}, + {"id": "gpt-4o", "name": "GPT-4o"}, ... ], "audio": [ @@ -492,7 +498,8 @@ class AIServiceRouter: """获取租户的 AI 配置""" config = await self.config_repo.get_by_tenant(tenant_id) if not config or not config.is_configured: - raise ValueError(f"Tenant {tenant_id} has not configured AI service") + # 未配置时阻断调用并提示品牌方完成配置 + raise ValueError(f"AI service not configured for tenant {tenant_id}") return config async def chat( @@ -659,7 +666,7 @@ class AIConnectionTester: ### 6.1 API Key 加密存储 -- 使用 AES-256 加密存储 API Key +- 使用 AES-256-GCM 加密存储 API Key - 主密钥从环境变量或密钥管理服务 (Vault/KMS) 获取 - API 响应中永不返回完整 API Key,仅返回脱敏版本 @@ -673,12 +680,14 @@ def mask_api_key(api_key: str) -> str: ### 6.2 权限控制 -| 操作 | 系统管理员 | 品牌方管理员 | 代理商 | 达人 | -| --- | :---: | :---: | :---: | :---: | -| 查看 AI 配置 | ✅ (全部) | ✅ (仅自己) | ❌ | ❌ | -| 修改 AI 配置 | ✅ | ✅ (仅自己) | ❌ | ❌ | -| 测试连接 | ✅ | ✅ (仅自己) | ❌ | ❌ | -| 查看完整 API Key | ❌ | ❌ | ❌ | ❌ | +| 操作 | 品牌方管理员 | 代理商 | 达人 | +| --- | :---: | :---: | :---: | +| 查看 AI 配置 | ✅ (本租户) | ❌ | ❌ | +| 修改 AI 配置 | ✅ (本租户) | ❌ | ❌ | +| 测试连接 | ✅ (本租户) | ❌ | ❌ | +| 查看完整 API Key | ❌ | ❌ | ❌ | + +> 注:系统不设独立的系统管理员角色。AI 配置由各品牌方管理员自行管理本租户的配置。 --- diff --git a/DevelopmentPlan.md b/DevelopmentPlan.md index 371b86a..0cc7f81 100644 --- a/DevelopmentPlan.md +++ b/DevelopmentPlan.md @@ -1,4 +1,4 @@ -这是一个基于 `RequirementsDoc.md`、`FeatureSummary.md` (V1.2) 和 `User_Role_Interfaces.md` 编写的开发计划文档。 +这是一个基于 `RequirementsDoc.md`、`FeatureSummary.md` (V1.3) 和 `User_Role_Interfaces.md` 编写的开发计划文档。 这份文档旨在指导技术团队进行架构设计、选型和排期,重点在于解决**视频处理的高并发/高延迟**、**多模态 AI 的集成**以及**移动端适配**等工程难点。 @@ -11,9 +11,9 @@ | 文档类型 | **Development Plan (技术架构与实施计划)** | | --- | --- | | **项目名称** | SmartAudit (AI 营销内容合规审核平台) | -| **版本号** | V1.2 | +| **版本号** | V1.5 | | **日期** | 2026-02-03 | -| **依据** | FeatureSummary V1.2, PRD V1.0, RequirementsDoc V1.0 | +| **依据** | FeatureSummary V1.3, PRD V1.0, RequirementsDoc V1.0 | | **侧重** | 技术选型、架构设计、MVP 范围、开发排期、验收标准 | --- @@ -26,8 +26,9 @@ | V1.1 | 2026-02-03 | Claude | 审阅修订:补充 F-05-A/F-45 技术方案、验收标准、数据模型、测试策略 | | V1.2 | 2026-02-03 | Claude | Reviewer 修正:Logo检测改向量检索、Brief解析增VLM、弹性GPU、H5防锁屏、排期调整 | | V1.2.1 | 2026-02-03 | Claude | 补充多模态时间戳对齐流程图 (Gemini 建议) | -| V1.3 | 2026-02-02 | Claude | **确立 TDD 为项目核心开发规范**,关联 tdd_plan.md | -| V1.4 | 2026-02-02 | Claude | **新增 AI 厂商动态配置架构**,支持数据库配置、运行时热更新、多租户隔离 | +| V1.3 | 2026-02-03 | Claude | **确立 TDD 为项目核心开发规范**,关联 tdd_plan.md | +| V1.4 | 2026-02-03 | Claude | **新增 AI 厂商动态配置架构**,支持数据库配置、运行时热更新、多租户隔离 | +| V1.5 | 2026-02-03 | Claude | 文档一致性修复:统一加密方案、采样精度、处理时间、选型决策、P0 范围、排期等 | --- @@ -54,7 +55,7 @@ graph TD end subgraph Async_Layer [异步处理层] - Queue[消息队列 (RabbitMQ/Redis)] + Queue[消息队列 (Redis)] Worker_Manager[任务调度器 (Celery)] Socket_Svc[WebSocket 推送服务] end @@ -68,7 +69,7 @@ graph TD subgraph Storage DB[(PostgreSQL - 业务数据)] - VectorDB[(Milvus/pgvector - 知识库)] + VectorDB[(pgvector - 知识库)] Cache[(Redis - 缓存/进度)] OSS[对象存储 (视频/图片)] end @@ -93,13 +94,13 @@ graph TD | 模块 | 选型建议 | 理由 (Why) | | --- | --- | --- | | **前端框架** | **Next.js (React)** + Tailwind CSS | 统一 PC 和 H5 代码库;Next.js 的 SSR 对 SEO 和首屏渲染友好;适合构建复杂的审核 Dashboard。 | -| **移动端** | **Responsive H5 + Wake Lock API** | 达人端无需开发原生 App,通过 Next.js 响应式布局覆盖 iOS/Android 浏览器及微信内嵌浏览器。⭐ V1.2 增加防锁屏策略。 | +| **移动端** | **Responsive H5 + Wake Lock API** | 全角色(达人/代理商/品牌方)均通过 Next.js 响应式布局覆盖 iOS/Android 浏览器及微信内嵌浏览器,无需开发原生 App。⭐ V1.2 增加防锁屏策略。 | | **后端 API** | **Python (FastAPI)** | Python 是 AI 原生语言,FastAPI 具有极高的并发性能(AsyncIO),方便集成 AI 模型 SDK。 | | **异步队列** | **Celery + Redis** | 视频审核是典型长耗时任务(3-5分钟),必须异步处理。Celery 成熟稳定。 | | **实时通讯** | **WebSocket (Socket.io)** | 必须实现(F-17),用于向前端实时推送“正在检测 Logo...”等细粒度进度。 | | **数据库** | **PostgreSQL** + **pgvector** | PG 处理关系型数据,pgvector 插件直接在 PG 中处理向量搜索(竞品库/相似案例),减少架构复杂度。 | | **文件存储** | **阿里云 OSS / AWS S3** | 视频文件大,必须上云。需配合 CDN 加速预览。 | -| **上传协议** | **Tus Protocol** (Uppy.js) | 解决大文件(100MB+)上传不稳定问题,支持**断点续传**,替代 ZIP 上传。 | +| **上传协议** | **Tus Protocol** (Uppy.js) | 解决大文件(≤ 100MB)上传不稳定问题,支持**断点续传**,替代 ZIP 上传。 | ### 1.3 AI 模型选型 (Model Selection) @@ -122,10 +123,10 @@ graph TD > - **多租户隔离:** 不同品牌方可配置独立的 AI 厂商和配额 > - **热更新:** 配置变更即时生效,无需重启服务 > - **故障转移:** 主厂商不可用时自动切换到备用厂商 -> - **API Key 加密:** 使用 Fernet 对称加密存储敏感信息 +> - **API Key 加密:** 使用 AES-256-GCM 加密存储敏感信息 > > **支持的厂商类型:** -> - 国内厂商:DeepSeek、通义千问、豆包、智谱、百川、Moonshot +> - 国内厂商:DeepSeek、通义千问、豆包、智谱、Moonshot > - 海外厂商:OpenAI、Anthropic(需注意合规) > - 中转服务:OneAPI、OpenRouter > - 本地部署:Ollama、vLLM @@ -138,16 +139,16 @@ graph TD > ``` > 1. 品牌方上传竞品 Logo 图片 > 2. Grounding DINO 提取 Logo 区域 → CLIP/DINOv2 生成 Embedding -> 3. 存入 Vector DB (pgvector/Milvus) +> 3. 存入 Vector DB (pgvector) > 4. 视频帧检测时:提取候选区域 → 生成 Embedding → 向量相似度匹配 > ``` > > **优势:** 支持 SaaS 模式下品牌**动态添加竞品 Logo**,无需重新训练模型,**即刻生效**。 -> ⚠️ **国内数据合规说明:** 根据 PRD 第 10 章"数据本地化"要求,国内客户数据必须存储于中国大陆境内服务器。因此: -> - **生产环境必须使用国内 LLM**(豆包/Qwen/DeepSeek),不可调用 GPT-4o/Claude 等海外 API -> - 海外 API 仅用于内部研发测试,不可处理客户真实数据 -> - ASR/OCR/CV 均选用国内服务或本地部署模型 +> ⚠️ **数据合规说明:** 根据 PRD 第 10 章"数据本地化"要求,国内客户数据原则上存储于中国大陆境内;若涉及跨境处理,需用户明示同意并符合监管要求。因此: +> - 生产环境允许国内/海外厂商(可通过 OneAPI/OpenRouter 等中转统一接入),但涉及境外处理需完成合规评估与客户授权 +> - 若无法满足出境合规要求,则仅允许使用国内模型 +> - ASR/OCR/CV 同样需满足对应合规与数据本地化要求 --- @@ -157,8 +158,8 @@ graph TD * **风险:** 传统表单上传大视频会导致超时;ZIP 解压消耗大量 CPU。 * **方案:** -1. **废弃 ZIP:** 前端采用 Dropzone 实现**多文件并发上传**。 -2. **分片上传:** 使用 Tus 协议,将 100MB 视频切分为 5MB 的 chunk 上传,服务端合并。 +1. **废弃 ZIP:** 前端采用 Uppy.js 实现**多文件并发上传**。 +2. **分片上传:** 使用 Tus 协议,将 ≤ 100MB 视频切分为 5MB 的 chunk 上传,服务端合并。 3. **直传 OSS:** 前端获取签名直传云存储,不经过应用服务器,节省带宽。 ### 2.1.1 难点:H5 移动端上传中断 ⭐ V1.2 新增 @@ -208,7 +209,7 @@ graph TD 3. 累加总时长:`产品同框总时长 = 8s + 7s = 15s` **验收标准:** -- 时长统计误差 ≤ 0.5秒 +- 时长统计误差 ≤ 1秒 - 频次统计准确率 ≥ 95% ### 2.5 多模态时间戳对齐流程 ⭐ V1.2 补充 @@ -251,17 +252,17 @@ sequenceDiagram ## 3. MVP (P0) 开发范围定义 -基于 `FeatureSummary.md V1.2`,MVP 阶段必须包含的功能: +基于 `FeatureSummary.md V1.3`,MVP 阶段必须包含的功能: -### ✅ MVP 包含 (Must Have) - 共 18 个 P0 功能 +### ✅ MVP 包含 (Must Have) - 共 21 个 P0 功能 -基于 `FeatureSummary.md V1.2` 第 4.1 章定义: +基于 `FeatureSummary.md V1.3` 第 4.1 章定义: | 模块 | 功能编号 | 功能名称 | 备注 | | --- | --- | --- | --- | | **Brief 管理** | F-01 | Brief 文档上传与解析 | | | | F-02 | 在线文档链接导入 | | -| | F-03 | 平台规则库自动加载 | | +| | F-03 | 平台规则库自动加载 | 平台规则变更 ≤ 1 工作日同步 | | | F-04 | 区域合规规则切换 | | | | **F-05-A** | **基础黑白名单与竞品库** | ⭐ MVP 必须能防竞品 | | **脚本预审** | F-07 | 文本脚本提交与预审 | | @@ -277,6 +278,9 @@ sequenceDiagram | **审核台** | F-19 | 风险列表展示 | | | | F-20 | 确认/驳回操作 | | | **数据看板** | F-33 | 核心指标卡片 | | +| **AI 配置** | **F-47** | **AI 服务商动态配置** | ⭐ V1.4 新增 | +| | **F-48** | **AI 服务商连通性测试** | ⭐ V1.4 新增 | +| | **F-49** | **多租户 AI 配置隔离** | ⭐ V1.4 新增 | ### ❌ MVP 暂不包含 (Post-MVP) @@ -296,9 +300,10 @@ sequenceDiagram ### Phase 1: 基础设施与 Brief 引擎 (Weeks 1-2) * **Backend:** 搭建 FastAPI 框架,PG 数据库设计,接入 OSS。 +* **Backend:** 实现 AI 服务商动态配置接口(F-47/F-48),支持品牌方配置 AI 厂商和连通性测试。 * **AI:** 调试 Brief 解析 Prompt (Layout + VLM + LLM),搭建竞品 Logo 向量库。 * **Frontend:** 完成 PC 端框架搭建,Brief 上传与解析交互。 -* **交付物:** 能够上传 PDF(含图片)并提取出 JSON 规则。 +* **交付物:** 能够上传 PDF(含图片)并提取出 JSON 规则;品牌方可配置 AI 服务商。 ### Phase 2: 核心 AI 流水线 (Weeks 3-6) ⭐ *攻坚期* (V1.2: 3周→4周) @@ -312,7 +317,7 @@ sequenceDiagram ### Phase 3: 达人端 H5 与 审核台 (Weeks 7-9) -* **Frontend (H5):** 开发达人手机端上传、查看报告、申诉页面 (响应式适配 + Wake Lock 防锁屏)。 +* **Frontend (H5):** 开发达人/代理商/品牌方移动端页面(达人上传与申诉、代理商审核、品牌方审批) (响应式适配 + Wake Lock 防锁屏)。 * **Frontend (PC):** 开发复杂的"审核决策台"(视频播放器与时间轴打点的联动)。 * **Backend:** 实现申诉逻辑、审核状态流转 (State Machine)。 * **交付物:** 达人可上传,代理商可审核,流程闭环。 @@ -407,7 +412,7 @@ sequenceDiagram ## 8. 验收标准 (Acceptance Criteria) -引用自 `FeatureSummary.md V1.2` 第 9 章,MVP 上线前必须满足: +引用自 `FeatureSummary.md V1.3` 第 9 章,MVP 上线前必须满足: | 验收项 | 标准 | 测量方式 | 责任方 | | --- | --- | --- | --- | @@ -416,9 +421,9 @@ sequenceDiagram | **语义理解误报率** | 广告/非广告语境区分误报率 **≤ 5%** | 样本量 ≥ 1,000 句 | AI 团队 | | **ASR 字错率** | 普通话+方言 **≤ 10%** | 标注测试集评估 | AI 团队 | | **OCR 准确率** | 含复杂背景 **≥ 95%** | 标注测试集评估 | AI 团队 | -| **时长统计误差** | **≤ 0.5秒** | 人工核对 | AI 团队 | +| **时长统计误差** | **≤ 1秒** | 人工核对 | AI 团队 | | **频次统计准确率** | **≥ 95%** | 人工核对 | AI 团队 | -| **审核报告产出时间** | 100MB 视频 **≤ 5 分钟** | 系统埋点 | 后端 | +| **审核报告产出时间** | ≤ 100MB 视频 **≤ 5 分钟(含排队 ≤ 2 分钟)** | 系统埋点 | 后端 | | **审计链路完整性** | 每条结论含规则版本、证据、时间戳 | 人工抽查 | QA | --- @@ -513,6 +518,6 @@ sequenceDiagram | User_Role_Interfaces.md | 界面规范 | | tasks.md | 开发任务清单 | | **featuredoc/tdd_plan.md** | **TDD 实施计划(核心规范)** | -| **AIProviderConfig.md** | **AI 厂商动态配置架构设计(V1.3 新增)** | +| **AIProviderConfig.md** | **AI 厂商动态配置架构设计(V2.0)** | | 数据字典 | 待编写 | | API 接口规范 | 待编写 | diff --git a/DocumentContradictions.md b/DocumentContradictions.md new file mode 100644 index 0000000..eb2e8b1 --- /dev/null +++ b/DocumentContradictions.md @@ -0,0 +1,63 @@ +# 设计文档矛盾与模糊点分析 (V1.2) + +本文档用于记录并跟踪 `SmartAudit` 项目各设计文档之间的矛盾点与模糊点。以下条目均已对齐并给出统一结论。 + +--- + +## 1. 核心功能与技术实现 + +### 1.1 移动端交付形态 (已统一) +- **结论:** 统一为 **响应式 H5 / 小程序**,不开发原生 App。 +- **对齐文档:** `DevelopmentPlan.md`、`User_Role_Interfaces.md` + +### 1.2 Logo 检测职责边界 (已澄清) +- **结论:** 视觉模型仅用于画面语义/场景风险分析;竞品 Logo 检测由内置 CV 模型处理,不受配置影响。 +- **对齐文档:** `AIProviderConfig.md`、`UIDesign.md`、`User_Role_Interfaces.md` + +### 1.3 文件上传方案 (已同步) +- **结论:** 批量上传采用 **多文件拖拽并发上传 + Tus 断点续传**,弃用 ZIP。 +- **对齐文档:** `PRD.md`、`RequirementsDoc.md`、`FeatureSummary.md`、`DevelopmentPlan.md` + +--- + +## 2. 权限与工作流 + +### 2.1 强制通过与特例关系 (已统一) +- **结论:** “强制通过”弹窗内提供 **保存为特例** 勾选项(默认不勾选);勾选后生成豁免条款并等待品牌方确认生效。 +- **对齐文档:** `PRD.md`、`UIDesign.md`、`User_Role_Interfaces.md` + +### 2.2 强制通过禁用后的流程 (已统一) +- **结论:** 品牌方关闭授权后,代理商端按钮文案变为“申请强制通过”,填写理由并提交品牌方审批。 +- **对齐文档:** `PRD.md`、`UIDesign.md`、`User_Role_Interfaces.md` + +### 2.3 AI 配置可见性 (已统一) +- **结论:** 代理商/达人 **不可见** AI 配置,仅品牌方管理员可查看与修改。 +- **对齐文档:** `UIDesign.md`、`User_Role_Interfaces.md` + +--- + +## 3. AI 功能与 UI + +### 3.1 多模态模型的 UI 呈现 (已统一) +- **结论:** 模型下拉选项显示能力标签(如 `gpt-4o [文字/视觉]`),便于识别多模态模型。 +- **对齐文档:** `UIDesign.md`、`User_Role_Interfaces.md` + +### 3.2 多租户 AI 配置范围 (已统一) +- **结论:** F-49 提升为 **P0**;MVP 必须包含多租户 AI 配置隔离能力。 +- **对齐文档:** `FeatureSummary.md`、`tasks.md`、`DevelopmentPlan.md`、`PRD.md` + +--- + +## 4. 文档一致性 + +### 4.1 TDD 计划文档缺失 (已补齐) +- **结论:** 新增 `featuredoc/tdd_plan.md`,作为 `tasks.md` 中 TDD 引用的正式文档。 +- **对齐文档:** `tasks.md` + +### 4.2 视频采样率假设 (已同步) +- **结论:** CV 采样率默认 **2fps**,并在该采样率下验证时长统计准确性。 +- **对齐文档:** `PRD.md`、`FeatureSummary.md` + +--- + +**当前状态:** 无待决策项。 diff --git a/FeatureSummary.md b/FeatureSummary.md index a1e946e..9b297e9 100644 --- a/FeatureSummary.md +++ b/FeatureSummary.md @@ -3,8 +3,8 @@ | 文档类型 | **Feature Summary (产品功能文档)** | | --- | --- | | **项目名称** | SmartAudit (AI 营销内容合规审核平台) | -| **版本号** | V1.2 | -| **发布日期** | 2026-02-02 | +| **版本号** | V1.3 | +| **发布日期** | 2026-02-03 | | **关联文档** | RequirementsDoc.md, PRD.md, User_Role_Interfaces.md | | **侧重** | 功能清单、优先级、验收标准、界面映射、边界说明 | @@ -97,9 +97,9 @@ SmartAudit 是一款**基于多模态大模型的 B2B SaaS 审核工具**,定 | F-02 | 在线文档链接导入 | P0 | US-01 | 代理商 | | F-03 | 平台规则库自动加载 | P0 | US-02 | 品牌方/代理商 | | F-04 | 区域合规规则切换 | P0 | US-02 | 品牌方 | -| F-05-A | 基础黑白名单与竞品库 | **P0** | US-10 | 品牌方 | -| F-05-B | 高级豁免规则配置 | P1 | US-10 | 品牌方 | -| F-06 | 规则版本管理与审计 | P1 | US-10 | 品牌方 | +| F-05-A | 基础黑白名单与竞品库 | **P0** | US-10A | 品牌方 | +| F-05-B | 高级豁免规则配置 | P1 | US-10B | 品牌方 | +| F-06 | 规则版本管理与审计 | P1 | US-10B | 品牌方 | #### F-01 Brief 文档上传与解析 @@ -304,6 +304,8 @@ SmartAudit 是一款**基于多模态大模型的 B2B SaaS 审核工具**,定 **功能描述:** 根据 Brief 中的时序要求,自动校验视频是否满足时长和频次指标。 +**技术约束:** CV 检测采样率默认 2fps,在该采样率下验证时长统计准确性。 + **典型场景:** - Brief 要求"产品同框必须 > 5秒" - Brief 要求"口播提及品牌名 ≥ 3次" @@ -315,7 +317,7 @@ SmartAudit 是一款**基于多模态大模型的 B2B SaaS 审核工具**,定 ✅ 频次达标:品牌名提及 4次,Brief 要求 ≥ 3次 ``` -**验收标准:** 时长统计误差 ≤ 0.5秒,频次统计准确率 ≥ 95% +**验收标准:** 时长统计误差 ≤ 1秒,频次统计准确率 ≥ 95% **界面映射:** 代理商端 → 审核决策台 → AI 检查单 → 时序校验 @@ -348,7 +350,7 @@ SmartAudit 是一款**基于多模态大模型的 B2B SaaS 审核工具**,定 - 👁️ 正在逐帧检测竞品 Logo... - 🧠 正在分析口播情感色彩... -**验收标准:** 报告产出时间 ≤ 5 分钟 +**验收标准:** 报告产出时间 ≤ 5 分钟(含排队 ≤ 2 分钟) **为什么是 P0:** 视频上传+审核通常需要 3-5 分钟。如果 MVP 只有一个旋转的"Loading"图标而没有具体的文字进度,用户会以为死机了而关闭页面,导致用户流失。 @@ -370,7 +372,7 @@ SmartAudit 是一款**基于多模态大模型的 B2B SaaS 审核工具**,定 | --- | --- | --- | --- | --- | | F-19 | 风险列表展示 | P0 | US-08 | 代理商 | | F-20 | 确认/驳回操作 | P0 | US-08 | 代理商 | -| F-21 | 强制通过权 | P1 | US-09 | 品牌方 | +| F-21 | 强制通过权 | P1 | US-09 | 品牌方(默认授权代理商) | | F-22 | 特例记录与白名单 | P1 | US-09 | 品牌方 | | F-23 | 规则依据与证据查看 | P1 | US-08 | 代理商/品牌方 | @@ -401,10 +403,11 @@ SmartAudit 是一款**基于多模态大模型的 B2B SaaS 审核工具**,定 #### F-21 强制通过权 -**功能描述:** 品牌方可手动放行过于保守的误报(如达人玩的新梗)。 +**功能描述:** 品牌方可手动放行过于保守的误报(如达人玩的新梗)。**默认授权代理商独立使用强制通过功能**;品牌方可在设置中**按代理商**关闭授权,关闭后代理商需发起审批流程。 **约束条件:** - 必须填写放行原因 +- 弹窗提供“保存为特例”勾选项(勾选后生成豁免条款,需品牌方确认) - 记录审批人与操作时间,纳入审计日志 **界面映射:** 代理商端 → 审核决策台 → 决策栏 → [强制通过] @@ -420,7 +423,7 @@ SmartAudit 是一款**基于多模态大模型的 B2B SaaS 审核工具**,定 - 如需用于模型优化,必须确保数据授权与合规评估 **界面映射:** -- 代理商端 → 审核决策台 → 决策栏 → [记录为特例] +- 代理商端 → 审核决策台 → [强制通过] 弹窗 → 勾选“保存为特例” - 品牌方端 → 规则配置 → 特例记录 --- @@ -557,7 +560,7 @@ V1 版本指出 3 个违规点:✅ 已修复 2 个 | ❌ 未修复 1 个 | F-34 | 趋势图表 | P1 | - | 品牌方 | | F-35 | 风险预警 | P1 | - | 品牌方 | | F-36 | 代理商绩效对比 | P1 | - | 品牌方 | -| F-37 | 达人排行榜 | P2 | - | 代理商 | +| F-37 | 达人排行榜 | P1 | - | 代理商 | #### F-33 核心指标卡片 @@ -653,7 +656,7 @@ V1 版本指出 3 个违规点:✅ 已修复 2 个 | ❌ 未修复 1 个 | --- | --- | --- | --- | --- | | F-41 | 舆情风险视频监控 | P2 | US-06 | 品牌方 | | F-42 | 舆情案例库 | P2 | - | 品牌方 | -| F-43 | 舆情阈值设置 | P1 | US-10 | 品牌方 | +| F-43 | 舆情阈值设置 | P1 | US-10B | 品牌方 | #### F-41 舆情风险视频监控 @@ -681,7 +684,21 @@ V1 版本指出 3 个违规点:✅ 已修复 2 个 | ❌ 未修复 1 个 --- -### 3.10 AI 闭环学习 (新增) +### 3.10 代理商管理 + +| 功能编号 | 功能名称 | 优先级 | 用户故事 | 使用角色 | +| --- | --- | --- | --- | --- | +| F-44 | 代理商管理 | P1 | - | 品牌方 | + +#### F-44 代理商管理 + +**功能描述:** 管理合作代理商与授权范围(可见 Brief 范围、**按代理商**强制通过授权、申诉仲裁权限、绩效评分卡)。 + +**界面映射:** 品牌方端 → 代理商管理 + +--- + +### 3.11 AI 闭环学习 (新增) | 功能编号 | 功能名称 | 优先级 | 用户故事 | 使用角色 | | --- | --- | --- | --- | --- | @@ -689,24 +706,25 @@ V1 版本指出 3 个违规点:✅ 已修复 2 个 | ❌ 未修复 1 个 --- -### 3.11 系统管理 - AI 厂商配置 (V1.4 新增) +### 3.12 系统管理 - AI 厂商配置 (V1.4 新增) | 功能编号 | 功能名称 | 优先级 | 用户故事 | 使用角色 | | --- | --- | --- | --- | --- | -| F-47 | AI 厂商动态配置 | P0 | - | 系统管理员 | -| F-48 | AI 厂商连通性测试 | P0 | - | 系统管理员 | -| F-49 | 多租户 AI 配置隔离 | P1 | - | 系统管理员/品牌方 | -| F-50 | API Key 轮换管理 | P1 | - | 系统管理员 | +| F-47 | AI 厂商动态配置 | P0 | - | 品牌方管理员 | +| F-48 | AI 厂商连通性测试 | P0 | - | 品牌方管理员 | +| F-49 | 多租户 AI 配置隔离 | **P0** | - | 品牌方管理员/品牌方 | +| F-50 | API Key 轮换管理 | P1 | - | 品牌方管理员 | #### F-47 AI 厂商动态配置 ⭐ P0 -**功能描述:** 系统管理员可在后台配置多个 AI 厂商(DeepSeek、OpenAI、通义千问、OneAPI 中转等),配置存储在数据库中,运行时动态加载,无需修改代码或重启服务。 +**功能描述:** 品牌方管理员可在后台配置多个 AI 厂商(DeepSeek、OpenAI、通义千问、OneAPI 中转等),配置存储在数据库中,运行时动态加载,无需修改代码或重启服务。 **核心功能:** - 支持添加、编辑、删除 AI 厂商配置 -- 配置 Base URL、API Key(加密存储)、默认模型 +- 配置 Base URL、API Key(AES-256-GCM 加密存储)、默认模型 - 为不同使用场景(Brief 解析、脚本预审、视频审核)指定不同厂商 - 配置优先级和备用厂商(故障转移) +- 未配置时阻断调用并提示品牌方完成配置 **为什么是 P0:** 这是 AI 服务的基础设施,所有 AI 功能都依赖此配置。 @@ -784,9 +802,12 @@ V1 版本指出 3 个违规点:✅ 已修复 2 个 | ❌ 未修复 1 个 | F-33 | 核心指标卡片 | 数据看板 | | | F-47 | AI 厂商动态配置 | 系统管理 | ⭐ V1.3 新增,AI 基础设施 | | F-48 | AI 厂商连通性测试 | 系统管理 | ⭐ V1.3 新增 | +| F-49 | 多租户 AI 配置隔离 | 系统管理 | ⭐ V1.3 新增 | ### 4.2 V1.1 (P1) - 首版后快速迭代 +**P1 共 22 个功能(表中区间行如 F-24~27、F-34~36、F-38~40 为合并展示)** + | 功能编号 | 功能名称 | 模块 | 备注 | | --- | --- | --- | --- | | F-05-B | 高级豁免规则配置 | Brief 管理 | 从 F-05 拆分 | @@ -799,9 +820,10 @@ V1 版本指出 3 个违规点:✅ 已修复 2 个 | ❌ 未修复 1 个 | F-23 | 规则依据与证据查看 | 审核台 | | | F-24~27 | 申诉与仲裁 | 申诉 | | | F-34~36 | 趋势图表与预警 | 数据看板 | | +| F-37 | 达人排行榜 | 数据报表 | | | F-38~40 | 审计日志与证据导出 | 审计 | | | F-43 | 舆情阈值设置 | 舆情 | | -| F-49 | 多租户 AI 配置隔离 | 系统管理 | ⭐ V1.3 新增 | +| F-44 | 代理商管理 | 系统管理 | | | F-50 | API Key 轮换管理 | 系统管理 | ⭐ V1.3 新增 | > ⚠️ **注意:** F-09 (语境理解) 和 F-17 (进度展示) 已提升至 P0 @@ -810,9 +832,9 @@ V1 版本指出 3 个违规点:✅ 已修复 2 个 | ❌ 未修复 1 个 | 功能编号 | 功能名称 | 模块 | 备注 | | --- | --- | --- | --- | -| F-28~29 | 版本差异报告与双屏播放 | 版本比对 | | | F-30~32 | 批量上传/审核/导出 | 批量处理 | F-30 改为多文件拖拽 | -| F-37 | 达人排行榜 | 数据报表 | | +| F-28 | 版本差异报告 | 版本比对 | | +| F-29 | 双屏同步播放 | 版本比对 | | | F-41~42 | 舆情监控与案例库 | 舆情 | | | F-46 | 负样本清洗与回流 | AI 闭环 | ⭐ 新增,让 AI 真正学习 | @@ -831,6 +853,7 @@ V1 版本指出 3 个违规点:✅ 已修复 2 个 | ❌ 未修复 1 个 | 批量处理 | ❌ | ✅ | ✅ | | 数据看板 | 个人进度 | 项目/达人 | 全局 | | 规则配置 | ❌ | ❌ | ✅ | +| 代理商管理 | ❌ | ❌ | ✅ | | 审计日志 | ❌ | 所管辖 | 全部 | | 舆情预警 | ❌ | ❌ | ✅ | @@ -841,8 +864,8 @@ V1 版本指出 3 个违规点:✅ 已修复 2 个 | ❌ 未修复 1 个 | 类别 | 要求 | | --- | --- | | **可用性** | 月度可用性 ≥ 99.5%,支持灰度发布与快速回滚 | -| **性能** | 1080p、≤ 100MB 视频生成报告 ≤ 5 分钟(排队 ≤ 2 分钟) | -| **安全** | 传输与存储加密;基于角色权限控制;关键操作二次确认 | +| **性能** | 1080p、≤ 100MB 视频生成报告 ≤ 5 分钟(含排队 ≤ 2 分钟) | +| **安全** | 传输与存储加密(AES-256-GCM);基于角色权限控制;关键操作二次确认 | | **隐私** | 数据最小化;默认保留 30 天;符合《个保法》与 GDPR | | **数据本地化** | 国内客户数据存储于中国大陆境内服务器 | | **审计** | 操作日志可审计且不可篡改 | @@ -890,7 +913,7 @@ V1 版本指出 3 个违规点:✅ 已修复 2 个 | ❌ 未修复 1 个 | **语义理解误报率** | 广告极限词与非广告语境区分误报率 **≤ 5%** | 样本量 ≥ 1,000 句 | | **ASR 字错率** | 普通话 + 主流方言字错率 **≤ 10%** | 标注测试集评估 | | **OCR 准确率** | 含复杂背景字幕准确率 **≥ 95%** | 标注测试集评估 | -| **审核报告产出时间** | 100MB 以内视频,报告产出时间 **≤ 5 分钟** | 系统埋点统计 | +| **审核报告产出时间** | ≤ 100MB 视频,报告产出时间 **≤ 5 分钟(含排队 ≤ 2 分钟)** | 系统埋点统计 | | **审计链路完整性** | 每条结论包含规则版本、模型版本、证据截图/片段与时间戳 | 人工抽查验证 | --- @@ -902,7 +925,7 @@ V1 版本指出 3 个违规点:✅ 已修复 2 个 | ❌ 未修复 1 个 | RequirementsDoc.md | 业务需求文档(用户故事、成功指标) | | PRD.md | 产品需求文档(功能需求、技术架构) | | User_Role_Interfaces.md | 用户角色与界面规范 | -| **AIProviderConfig.md** | **AI 厂商动态配置架构设计(V1.3 新增)** | +| **AIProviderConfig.md** | **AI 厂商动态配置架构设计(V2.0)** | | 技术设计文档 (TDD) | 待编写 | | API 接口规范 | 待编写 | | 数据字典 | 待编写 | diff --git a/PRD.md b/PRD.md index ef43242..069e9ba 100644 --- a/PRD.md +++ b/PRD.md @@ -4,7 +4,7 @@ | --- | --- | | **项目名称** | SmartAudit (AI 营销内容合规审核平台) | | **版本号** | V1.0 | -| **发布日期** | 2026-01-30 | +| **发布日期** | 2026-02-03 | | **状态** | 草稿 (Draft) | | **负责人** | 产品经理 | @@ -101,17 +101,21 @@ - 脚本预审 → [US-03] - 视频自动审核(竞品、违禁词、画面风险) → [US-05] - 审核台风险打点与确认/驳回 → [US-08] +- 语境理解降低误报 → [US-04] +- 审核进度展示与时间戳修改清单 → [US-07] +- 基础黑白名单与竞品库(F-05-A) → [US-10A] +- 时长与频次校验(F-45) → [US-05] +- AI 服务配置与连通性测试(F-47/F-48) +- 多租户 AI 配置隔离(F-49) **P1(首版发布后快速迭代)** -- 语境理解降低误报 → [US-04] - Brand Safety 软性风险提示 → [US-06] -- 审核进度展示与时间戳修改清单 → [US-07] - 强制通过权与特例记录 → [US-09] -- 品牌私有规则管理与版本记录 → [US-10] +- 高级豁免规则(F-05-B)与版本记录 → [US-10B] - 证据链导出 → [US-12] **P2(中长期规划)** -- 批量上传/导出 → [US-11] +- 批量上传/导出(多文件拖拽并发 + Tus 断点续传,弃用 ZIP) → [US-11] - 版本差异报告 → [US-13] --- @@ -125,6 +129,7 @@ - **分区执法逻辑:** 智能区分"广告段"与"剧情段",应用不同审核尺度 - **舆情风控雷达:** 针对"油腻感"、"价值观风险"、"错别字"的专项检测 - **交互式审核台:** 支持时间戳打点、风险高亮、版本比对 (Diff) 的 Web 界面 +- **移动端支持:** 响应式 H5 覆盖达人/代理商/品牌方(可作为小程序 WebView 承载) - **信用与申诉体系:** 包含申诉令牌管理和人工仲裁流程 - **规则库管理与版本控制:** 支持平台规则库更新、品牌私有规则与白名单配置 - **权限与多租户隔离:** 支持品牌/代理/达人不同角色的权限与数据隔离 @@ -137,6 +142,7 @@ - 发布后数据监测:不负责视频发布后的点赞/评论/转化数据分析 - 自动下架/投诉处理:不直接触发平台处罚或下架动作 - 直播流/实时切片审核:本期仅支持离线上传视频文件 +- 原生 App:本期不做 --- @@ -144,7 +150,7 @@ > 说明:以下以模块划分,标注优先级 (P0/P1/P2),并引用 RD 用户故事编号。 -### 6.1 Brief 与规则管理 [US-01, US-02, US-10] +### 6.1 Brief 与规则管理 [US-01, US-02, US-10A, US-10B] **P0** - 支持 PDF/Word/Excel/PPT/图片上传与解析 @@ -154,13 +160,17 @@ - 平台规则库按投放平台(抖音、小红书、B站等)自动加载并校验冲突 - **区域合规支持**:不同地区投放需切换对应法规与平台规则版本 +**P0** +- 基础黑白名单与竞品库(F-05-A):品牌私有禁用词、白名单、竞品列表的基础管理 + **P1** -- 品牌私有规则管理(禁用词、白名单、竞品列表) +- 高级豁免规则(F-05-B):品牌私有规则的高级豁免与例外配置 - 规则版本管理与变更审计(可追溯的变更记录) **验收要点** - 图文混排 Brief 解析准确率 > 90% - 规则冲突提示清晰可追溯 +- 平台规则变更 ≤ 1 工作日内同步 ### 6.2 脚本预审 (Pre-production) [US-03, US-04] @@ -169,7 +179,7 @@ - 输出违规项、遗漏卖点、建议修改 - 帮助达人在拍摄前发现问题,避免拍完重拍的沉没成本 -**P1** +**P0** - 语境理解降低误报(区分广告语境与日常语境) - 例如:不应将"最开心的一天"误判为广告极限词违规 @@ -182,20 +192,26 @@ - 支持视频上传(≤ 100MB,1080p) - ASR/OCR/CV 联合检测 - 检测竞品 Logo、不雅背景、违禁词口播 +- **时长与频次校验:** 根据 Brief 的时序要求校验产品同框时长与口播提及频次 - 输出时间戳级别的风险点(精确到秒数) +**P0** +- **审核进度展示**:在等待期间显示 AI 处理进度(如"正在核对口播...") +- **时长与频次校验**(F-45):根据 Brief 要求校验产品同框时长、品牌提及频次等硬性指标 + **P1** - Brand Safety 软性风险提示(油腻、爹味说教、性别偏见等) - **仅提示不强制拦截**,需人工复核确认 - 广告段/剧情段分区审核规则 -- **审核进度展示**:在等待期间显示 AI 处理进度(如"正在核对口播...") - 审核完成后提供带时间戳的修改清单 **验收要点** - 竞品 Logo F1 ≥ 0.85(含画面角落遮挡 30% 场景) - ASR 字错率 ≤ 10%(普通话 + 主流方言) - OCR 准确率 ≥ 95%(含复杂背景) -- 报告产出时间 ≤ 5 分钟 +- 时长统计误差 ≤ 1 秒;频次统计准确率 ≥ 95% +- 视频分析采样率默认 2fps,并在该采样率下验证时长统计准确性 +- 报告产出时间 ≤ 5 分钟(含排队 ≤ 2 分钟) ### 6.4 审核台与人工复核 [US-08, US-09] @@ -204,26 +220,52 @@ - 支持确认/驳回操作,无需从头看视频 **P1** -- 品牌方"强制通过权":可手动放行过于保守的误报(需记录原因与审批人) -- 支持将特例记录为规则白名单/豁免条款(需品牌方确认) +- 品牌方"强制通过权":可手动放行过于保守的误报(需记录原因与审批人);**默认授权代理商独立使用,可在品牌方设置中按代理商关闭,关闭后需走审批流程**。强制通过弹窗需填写原因,并提供“保存为特例”可选项(**默认不勾选**,勾选后形成豁免条款,需品牌方确认生效) +- 特例可沉淀为规则白名单/豁免条款(含来源:强制通过勾选或手动记录) - 如需用于模型优化,必须确保数据授权与合规评估 - 可查看规则依据与证据片段 **验收要点** - 每条结论包含规则版本、模型版本、证据截图/片段与时间戳 -### 6.5 申诉与仲裁 +### 6.5 代理商管理 + +**P1** +- 代理商列表与绑定项目展示 +- 可配置可见 Brief 范围、仲裁权限 +- 强制通过授权开关(**按代理商配置**,默认开启,可关闭) +- 绩效评分卡(审核量、通过率、问题率、平均周期) + +**验收要点** +- 权限配置可保存并即时生效 +- 绩效指标口径与数据看板一致 + +### 6.6 申诉与仲裁 **P1** - 申诉令牌管理与工单流转 - 人工仲裁流程与记录 - 审计日志完整可追溯 -### 6.6 版本差异与批量处理 [US-11, US-13] +### 6.7 版本差异与批量处理 [US-11, US-13] **P2** - **新旧版本差异报告**:AI 明确告知"V1版本中指出的N个违规点,有X个已修复,Y个未修复" -- 批量上传与批量导出审核报告 +- 批量上传与批量导出审核报告(多文件拖拽并发 + Tus 断点续传,弃用 ZIP) + +### 6.8 AI 服务配置与连通性测试 + +**P0** +- 品牌方管理员可配置 AI 提供商、Base URL、API Key、默认模型(文本/视觉/音频) +- API Key 使用 AES-256-GCM 加密存储 +- 提供连通性测试(并行测试三类模型) +- 多租户隔离;代理商/达人自动继承品牌方配置 +- **未配置时阻断调用并提示品牌方完成配置** + +**验收要点** +- 未配置时返回明确错误与引导 +- 连通性测试结果明确展示成功/失败及错误原因 +- 配置变更即时生效(无需重启) --- @@ -262,8 +304,8 @@ | 角色 | 可见范围 | 关键权限 | | --- | --- | --- | -| 品牌方 | 品牌内任务与规则 | 强制通过、规则管理、报告导出、私有规则配置 | -| 代理商 | 代理商管理范围 | 任务创建、审核确认/驳回、批量处理、人工仲裁 | +| 品牌方(含品牌方管理员) | 品牌内任务与规则 | 强制通过、规则管理、报告导出、私有规则配置、AI 服务商配置与管理 | +| 代理商 | 代理商管理范围 | 任务创建、审核确认/驳回、批量处理、人工仲裁、强制通过(按代理商授权,默认开启,可关闭) | | 达人 | 自己的任务 | 上传脚本/视频、查看报告、申诉 | --- @@ -290,7 +332,7 @@ ## 10. 非功能性需求 (NFR) - **可用性**:月度可用性 ≥ 99.5%,支持灰度发布与快速回滚 -- **性能**:1080p、≤ 100MB 视频生成报告 ≤ 5 分钟(排队时间不超过 2 分钟) +- **性能**:1080p、≤ 100MB 视频生成报告 ≤ 5 分钟(含排队 ≤ 2 分钟) - **安全**:传输与存储加密;基于角色的权限控制;关键操作二次确认 - **隐私**:数据最小化访问;默认保留原始视频/报告 30 天,可按品牌配置延长或缩短 - **合规**:符合《个人信息保护法》与 GDPR;支持数据导出/删除;明确告知数据用途 @@ -301,7 +343,7 @@ ## 11. 假设与约束 (Assumptions & Constraints) -- **技术约束:** 视频处理极其消耗算力,需接受"非实时"反馈(深度审核需 1-3 分钟延迟) +- **技术约束:** 视频处理极其消耗算力,需接受"非实时"反馈(深度审核需 3-5 分钟延迟) - **数据隐私:** 品牌方的 Brief 和私有数据必须严格隔离,不得用于训练通用模型 - **平台依赖:** 若抖音/小红书的审核规则发生重大变更,系统需在一个工作日内更新规则库 - **规则来源:** 具体合规规则由品牌/法务提供并确认,平台规则以官方公告为准 @@ -352,14 +394,14 @@ - **ASR/OCR**:支持普通话及主流方言的语音识别,支持复杂背景字幕识别 - **计算机视觉**:Logo 检测、物体识别、场景分类 - **消息队列**:异步处理视频审核任务,支持优先级调度 -- **AI 厂商动态配置**:支持在数据库中配置多个 AI 厂商(DeepSeek/OpenAI/OneAPI 等),运行时动态加载,支持多租户隔离和故障转移(详见 AIProviderConfig.md) +- **AI 厂商动态配置**:品牌方管理员可在后台配置多个 AI 厂商(DeepSeek/OpenAI/OneAPI 等),运行时动态加载,支持多租户隔离和故障转移(详见 AIProviderConfig.md) --- ## 14. 里程碑与发布计划 (Milestones) -- **MVP (P0)**:Brief 解析、规则加载、脚本预审、视频审核、审核台 -- **V1.1 (P1)**:Brand Safety 提示、规则版本、证据链导出、强制通过权、审核进度展示 +- **MVP (P0)**:Brief 解析、规则加载、脚本预审、视频审核、审核台、语境理解降低误报、审核进度展示、基础黑白名单与竞品库、时长与频次校验、AI 服务商配置 +- **V1.1 (P1)**:Brand Safety 提示、规则版本、证据链导出、强制通过权、高级豁免规则 - **V2 (P2)**:批量处理、版本差异报告 --- diff --git a/RequirementsDoc.md b/RequirementsDoc.md index 4acde0f..bc93185 100644 --- a/RequirementsDoc.md +++ b/RequirementsDoc.md @@ -4,7 +4,7 @@ | --- | --- | | **项目名称** | SmartAudit (AI 营销内容合规审核平台) | | **版本号** | V1.0 | -| **发布日期** | 2026-01-30 | +| **发布日期** | 2026-02-03 | | **状态** | **修订 (Revised)** | | **侧重** | 商业背景、用户价值、用户故事、成功指标 | @@ -77,13 +77,13 @@ ### 4.2 场景二:脚本预审 (Pre-production) * **[US-03] [P0]** 作为 **达人**,我希望在拍摄前先提交文字脚本进行预审,让系统帮我检查是否遗漏了卖点或触犯了广告法,避免拍完重拍的巨大沉没成本。 -* **[US-04] [P1]** 作为 **达人**,我希望审核系统能"读懂上下文",不要因为我在讲故事时说了"最开心的一天"就报"广告极限词违规",减少对创作的干扰。 +* **[US-04] [P0]** 作为 **达人**,我希望审核系统能"读懂上下文",不要因为我在讲故事时说了"最开心的一天"就报"广告极限词违规",减少对创作的干扰。 ### 4.3 场景三:视频智能审核 (Post-production) * **[US-05] [P0]** 作为 **代理商**,我希望系统能自动检测视频画面中是否出现了"竞品Logo"或"不雅背景",并精确到秒数标出来,因为人工肉眼看视频很容易走神漏掉。 * **[US-06] [P1]** 作为 **品牌方**,我希望系统具备"舆情敏感度",能提示达人视频中是否存在"油腻"、"爹味说教"或"性别偏见"的内容,帮助我规避潜在的公关风险(Brand Safety)。 -* **[US-07] [P1]** 作为 **达人**,我希望在视频上传后的等待期间能看到 AI 的处理进度(如"正在核对口播..."),并在审核完成后收到一份带时间戳的修改清单。 +* **[US-07] [P0]** 作为 **达人**,我希望在视频上传后的等待期间能看到 AI 的处理进度(如"正在核对口播..."),并在审核完成后收到一份带时间戳的修改清单。 ### 4.4 场景四:人工复核与决策 @@ -92,8 +92,9 @@ ### 4.5 场景五:规则运营与审计 -* **[US-10] [P1]** 作为 **品牌方合规/法务**,我希望能配置"品牌私有规则"(如禁用词、竞品列表、白名单),并且对规则版本做可追溯的变更记录。 -* **[US-11] [P2]** 作为 **代理商**,我希望支持批量上传与批量导出审核报告,便于一次处理多条达人任务。 +* **[US-10A] [P0]** 作为 **品牌方合规/法务**,我希望能配置"品牌私有规则"的基础部分(禁用词、竞品列表、白名单),确保最低合规要求可落地。 +* **[US-10B] [P1]** 作为 **品牌方合规/法务**,我希望能配置高级豁免规则与舆情阈值,并对规则版本做可追溯的变更记录。 +* **[US-11] [P2]** 作为 **代理商**,我希望支持**多文件拖拽并发上传 + Tus 断点续传**的批量上传,并可批量导出审核报告,便于一次处理多条达人任务(弃用 ZIP 方案)。 * **[US-12] [P1]** 作为 **品牌方**,我希望在争议发生时能导出完整的审核证据链(时间戳、截图、规则依据、审核人)。 ### 4.6 场景六:版本迭代与比对 @@ -147,7 +148,7 @@ ## 7. 假设与约束 (Assumptions & Constraints) -* **技术约束:** 视频处理极其消耗算力,需接受“非实时”反馈(深度审核需 1-3 分钟延迟)。 +* **技术约束:** 视频处理极其消耗算力,需接受“非实时”反馈(深度审核需 3-5 分钟延迟)。 * **数据隐私:** 品牌方的 Brief 和私有数据必须严格隔离,不得用于训练通用模型。 * **平台依赖:** 若抖音/小红书的审核规则发生重大变更,系统需在一个工作日内更新规则库。 * **规则来源:** 具体合规规则由品牌/法务提供并确认,平台规则以官方公告为准。 @@ -194,8 +195,8 @@ ## 8. 非功能性需求 (Non-Functional Requirements) * **可用性:** 月度可用性 ≥ 99.5%,支持灰度发布与快速回滚。 -* **性能:** 1080p、≤ 100MB 视频生成报告 ≤ 5 分钟(排队时间不超过 2 分钟)。 -* **安全:** 传输与存储加密;基于角色的权限控制;关键操作二次确认。 +* **性能:** 1080p、≤ 100MB 视频生成报告 ≤ 5 分钟(含排队 ≤ 2 分钟)。 +* **安全:** 传输与存储采用 AES-256-GCM 加密;基于角色的权限控制;关键操作二次确认。 * **数据保留:** 默认保留原始视频/报告 30 天,可按品牌配置延长或缩短。 * **合规与隐私:** 支持数据脱敏与最小化访问;操作日志可审计且不可篡改。 * **个人信息保护:** 符合《个人信息保护法》及 GDPR 要求;用户数据可导出、可删除;明确告知数据用途。 @@ -209,8 +210,9 @@ * **多模态检测:** 在标注测试集中,系统能识别画面角落里遮挡 30% 的竞品 Logo,F1 ≥ 0.85。 * **语义理解:** 对广告极限词与非广告语境的区分误报率 ≤ 5%(样本量 ≥ 1,000 句)。 * **ASR/OCR:** 普通话 ASR 字错率 ≤ 10%,字幕 OCR 字准确率 ≥ 95%(含复杂背景)。 -* **性能:** 100MB 以内的视频上传后,AI 预审报告产出时间不超过 5 分钟。 +* **性能:** ≤ 100MB 视频上传后,AI 预审报告产出时间不超过 5 分钟(含排队 ≤ 2 分钟)。 * **审计链路:** 每条结论包含规则版本、模型版本、证据截图/片段与时间戳。 +* **F-45 时长与频次统计:** 时长统计误差 ≤ 1秒;频次统计准确率 ≥ 95%。 --- diff --git a/UIDesign.md b/UIDesign.md index 197b1c2..c11c9de 100644 --- a/UIDesign.md +++ b/UIDesign.md @@ -3,8 +3,8 @@ | 文档类型 | **UI Design System (设计系统规范)** | | --- | --- | | **项目名称** | SmartAudit (AI 营销内容合规审核平台) | -| **版本号** | V1.0 | -| **发布日期** | 2026-02-02 | +| **版本号** | V1.1 | +| **发布日期** | 2026-02-03 | | **设计风格** | Apple Human Interface Guidelines 浅色系 | | **关联文档** | PRD.md, FeatureSummary.md, User_Role_Interfaces.md, DevelopmentPlan.md | @@ -806,10 +806,10 @@ font-family: -apple-system, BlinkMacSystemFont, "SF Pro Display", "SF Pro Text", │ │ │ │ │ ┌──────────────────────────────────────────────────────────┐ │ │ │ │ │ │ -│ │ │ ┌──────────┐ ┌──────────┐ ┌──────────┐ ┌──────────┐ │ │ -│ │ │ │ 驳回 │ │ 强制通过 │ │ 记录特例 │ │ 通过 │ │ │ -│ │ │ │ #FF3B30 │ │ #FF9500 │ │ #86868B │ │ #34C759 │ │ │ -│ │ │ └──────────┘ └──────────┘ └──────────┘ └──────────┘ │ │ +│ │ │ ┌──────────┐ ┌──────────┐ ┌──────────┐ │ │ +│ │ │ │ 驳回 │ │ 强制通过 │ │ 通过 │ │ │ +│ │ │ │ #FF3B30 │ │ #FF9500 │ │ #34C759 │ │ │ +│ │ │ └──────────┘ └──────────┘ └──────────┘ │ │ │ │ │ │ │ │ │ └──────────────────────────────────────────────────────────┘ │ │ │ │ @@ -819,7 +819,9 @@ font-family: -apple-system, BlinkMacSystemFont, "SF Pro Display", "SF Pro Text", **设计要点:** - 左侧 60%:视频播放器 + 智能进度条(红/黄/绿点) - 右侧 40%:AI 检查单,分为"硬性合规"、"Brief 完成度"、"舆情雷达"三区 -- 底部固定操作栏,四个决策按钮 +- 底部固定操作栏,三个决策按钮 +- 品牌方**按代理商**关闭授权时,“强制通过”按钮改为“申请强制通过”,点击弹出原因并提交审批 +- 强制通过弹窗包含“保存为特例”勾选项(默认不勾选),勾选后生成豁免条款并等待品牌方确认 - Brief 参考图可悬浮在视频角落对比 ### 8.6 版本比对视窗 @@ -990,7 +992,7 @@ font-family: -apple-system, BlinkMacSystemFont, "SF Pro Display", "SF Pro Text", - **所属角色:** 品牌方管理员(Brand Admin) - **入口位置:** 品牌方端侧边栏「系统设置」→「AI 服务配置」 - **核心功能:** 配置 AI 提供商、模型选择、连接参数 -- **权限控制:** 仅品牌管理员可见和操作 +- **权限控制:** 仅品牌管理员可见和操作;代理商/达人不可见 ### 10.2 界面布局 @@ -1023,7 +1025,7 @@ font-family: -apple-system, BlinkMacSystemFont, "SF Pro Display", "SF Pro Text", │ ━━━━━━ │ │ ┌──────────────────────────────────────────────────────┐ ││ │ │ │ │ doubao-seed-1.6-thinking-vision ▼ │ ││ │ │ │ └──────────────────────────────────────────────────────┘ ││ -│ │ │ 用于 Logo 检测、画面分析、竞品识别 ││ +│ │ │ 用于画面语义分析、场景/风险识别(Logo 检测由系统内置 CV 完成) ││ │ │ │ ││ │ │ │ 音频解析模型 (ASR) ││ │ │ │ ┌──────────────────────────────────────────────────────┐ ││ @@ -1184,6 +1186,7 @@ font-family: -apple-system, BlinkMacSystemFont, "SF Pro Display", "SF Pro Text", | --- | --- | --- | | **AI 提供商下拉** | 高度 44px,圆角 12px | 下拉选项:OneAPI / Anthropic / OpenAI / DeepSeek / 自定义 | | **模型选择下拉** | 高度 44px,圆角 12px | 动态从 API 获取可用模型列表 | +| **模型能力标签** | 标签 12px | 下拉项标注能力(如 `gpt-4o [文字/视觉]`) | | **Base URL 输入** | 高度 44px,圆角 12px | 默认显示 placeholder | | **API Key 输入** | 高度 44px,圆角 12px | 密码模式,带显示/隐藏切换按钮 | | **Temperature 滑块** | 高度 8px,滑块 24px | 范围 0-1,步进 0.1 | @@ -1196,7 +1199,8 @@ font-family: -apple-system, BlinkMacSystemFont, "SF Pro Display", "SF Pro Text", | 交互 | 行为 | | --- | --- | | **切换 AI 提供商** | 自动填充该提供商的默认 Base URL;清空并重新获取模型列表 | -| **获取模型列表** | 输入 Base URL 和 API Key 后,调用 `/v1/models` 接口获取可用模型 | +| **获取模型列表** | 输入 Base URL 和 API Key 后,调用 `/api/v1/ai-config/models` 获取可用模型(后端代理厂商 `/v1/models`) | +| **模型能力提示** | 模型下拉项展示能力标签,帮助识别多模态模型 | | **显示/隐藏 API Key** | 点击眼睛图标切换密码显示/隐藏状态 | | **拖动 Temperature 滑块** | 实时显示当前数值 | | **点击测试连接** | 并行测试三个模型,弹窗显示结果;按钮显示加载状态 | @@ -1229,7 +1233,7 @@ font-family: -apple-system, BlinkMacSystemFont, "SF Pro Display", "SF Pro Text", ## 11. 动效规范 (Motion Design) -### 10.1 动效原则 +### 11.1 动效原则 | 原则 | 说明 | | --- | --- | @@ -1238,7 +1242,7 @@ font-family: -apple-system, BlinkMacSystemFont, "SF Pro Display", "SF Pro Text", | **快速** | 保持流畅,不阻塞操作 | | **一致** | 相似交互使用相同动效 | -### 10.2 缓动曲线 +### 11.2 缓动曲线 ```css /* 标准缓动 - 用于大多数过渡 */ @@ -1254,7 +1258,7 @@ font-family: -apple-system, BlinkMacSystemFont, "SF Pro Display", "SF Pro Text", --ease-bounce: cubic-bezier(0.34, 1.56, 0.64, 1); ``` -### 10.3 时长规范 +### 11.3 时长规范 | 动效类型 | 时长 | 用途 | | --- | --- | --- | @@ -1263,7 +1267,7 @@ font-family: -apple-system, BlinkMacSystemFont, "SF Pro Display", "SF Pro Text", | **Medium** | 300ms | 模态框、卡片展开 | | **Long** | 500ms | 页面切换、复杂动画 | -### 10.4 特殊动效 +### 11.4 特殊动效 | 场景 | 动效描述 | | --- | --- | @@ -1277,14 +1281,14 @@ font-family: -apple-system, BlinkMacSystemFont, "SF Pro Display", "SF Pro Text", ## 12. 图标系统 (Iconography) -### 11.1 图标风格 +### 12.1 图标风格 - **线条粗细:** 1.5px (与 SF Symbols 一致) - **圆角:** 与组件圆角保持一致 - **尺寸:** 16px / 20px / 24px / 32px - **颜色:** 继承文字颜色或使用语义色 -### 11.2 核心图标清单 +### 12.2 核心图标清单 | 图标 | 名称 | 用途 | | --- | --- | --- | @@ -1308,7 +1312,7 @@ font-family: -apple-system, BlinkMacSystemFont, "SF Pro Display", "SF Pro Text", ## 13. 无障碍设计 (Accessibility) -### 12.1 色彩对比度 +### 13.1 色彩对比度 | 组合 | 对比度 | 合规等级 | | --- | --- | --- | @@ -1317,21 +1321,21 @@ font-family: -apple-system, BlinkMacSystemFont, "SF Pro Display", "SF Pro Text", | Primary (#007AFF) on White (#FFFFFF) | 4.5:1 | AA | | White (#FFFFFF) on Primary (#007AFF) | 4.5:1 | AA | -### 12.2 键盘导航 +### 13.2 键盘导航 - 所有交互元素可通过 Tab 键访问 - Enter/Space 触发主要操作 - Escape 关闭模态框 - 方向键在列表中导航 -### 12.3 屏幕阅读器 +### 13.3 屏幕阅读器 - 所有图标提供 `aria-label` - 状态变化通过 `aria-live` 通知 - 表单元素关联 `