# Audit 模块需求分析 ## 1. 模块定位 `apps.audit` 在最新版产品形态中对应: > 处理历史与审计留痕中心 它不仅保存对话历史,还要保存资料包、节点执行、风险结论和飞书通知的完整链路。 ## 2. 模块目标 1. 记录每次 Agent 审核任务。 2. 记录资料包与会话绑定关系。 3. 记录节点执行结果与最终风险状态。 4. 记录飞书通知触发、接收人和回执。 5. 支持处理历史页按批次回看任务。 ## 3. 审计对象 V1 至少需要覆盖: 1. 资料包导入任务 2. 目录汇总任务 3. 完整性检查任务 4. 字段抽取任务 5. 一致性核查任务 6. 风险预警任务 7. 飞书通知任务 ## 4. 关键字段 ### 4.1 基础字段 1. `audit_id` 2. `batch_id` 3. `conversation_id` 4. `product_name` 5. `task_type` 6. `status` 7. `created_at` ### 4.2 节点结果字段 1. `node_name` 2. `node_status` 3. `node_summary` 4. `source_report_ids` ### 4.3 飞书留痕字段 1. `trigger_source` 2. `notify_reason` 3. `owner_role` 4. `feishu_user_id` 5. `feishu_open_id` 6. `feishu_name` 7. `feishu_message_id` 8. `message_status` 9. `error_message` ## 5. 处理历史页要求 处理历史页应展示: 1. 批次号 2. 产品名称 3. 任务名称 4. 时间 5. 风险状态 6. 资料规模 7. 最终结果 8. 节点链路 ## 6. 飞书协同留痕要求 在 V1 中,飞书通知有两个固定触发时机: 1. 审核任务执行完成 2. 审核任务执行异常 两类通知都必须在审计中保留: 1. 谁被 `@` 2. 为什么被 `@` 3. 发送是否成功 4. 是否有 Web 详情页回链 ## 7. 与角色信息的关系 审计模块必须能记录责任人实体中的飞书字段,至少包括: 1. `owner_role` 2. `owner_name` 3. `department` 4. `chapter_scope` 5. `risk_scope` 6. `feishu_user_id` 7. `feishu_open_id` 8. `feishu_name` 9. `notify_enabled` ## 8. 验收标准 1. 处理历史页能回看历史审核任务。 2. 能从历史中看出资料包、产品名称和对话的对应关系。 3. 飞书通知的完成态和异常态都能留痕。 4. 审计详情足以解释“为什么通知了这个处理人”。