后端新增规则资产版本管理和规则文件 CRUD 接口,优化风险 规则生成模板执行和员工数据模型字段,知识库 RAG 增强本 地回退和文档提取能力,清理旧风险规则文件统一由生成引擎 管理,前端审计页面增加运行时调试面板和规则资产编辑交互, 补充单元测试覆盖。
2.4 KiB
2.4 KiB
Hermes 数据库表结构设计
为了支持后台异步任务的执行和长期记忆(风险标记、执行结果归档),我们需要在数据库中增加(或扩充)以下表结构。
1. 任务调度与执行表
hermes_task_config (定时任务配置表)
用于管理所有的后台巡检和推送任务,支持动态调整频率与开关。
id: string (UUID)task_type: string (enum:global_risk_scan,weekly_expense_report,kb_validation...)cron_expression: string (e.g.,0 2 * * *)is_enabled: boolean (默认 True)payload_template: jsonb (预留参数,如扫描的时间窗口、特定部门过滤条件等)updated_at: datetime
hermes_task_execution_log (任务执行日志表)
记录每次任务的执行状态,便于排错与溯源。
id: string (UUID)config_id: string (外键,关联hermes_task_config)started_at: datetimecompleted_at: datetimestatus: string (enum:running,success,failed)result_summary: string (执行结果的简要说明,如“扫描了 1500 条单据,发现 12 条高危”)error_trace: text (如果失败,存储错误堆栈)
2. 深度分析结果表
hermes_risk_report (深度风险报告表)
用于存储 LLM 找出的深层逻辑风险。
id: string (UUID)claim_id: string (外键,关联存疑的主单据expense_claim)execution_log_id: string (外键,由哪次扫描任务产生的)risk_level: string (enum:low,medium,high,critical)risk_type: string (enum:split_billing拆单,collusion合谋,policy_violation违规...)risk_description: text (大模型生成的自然语言报告,如“该单据与前天提交的单据存在拆分可能...”)related_claim_ids: jsonb (存储关联的同谋/相关单据 ID 列表,提供上下文线索)status: string (enum:pending_review待人工复核,confirmed已确认为风险,dismissed已忽略)
3. 现有表的平滑改造
修改 employee 表 (员工信用分预留)
- 新增字段
compliance_score: int (默认 100,由 Hermes 动态扣减或恢复,用于风控引擎调节对该员工的抽查率和宽容度)
修改 expense_claim 表 (风控标记)
- 新增字段
hermes_scanned_at: datetime (记录该单据上次被 Hermes 扫描的时间,防止重复扫描) - 新增字段
hermes_risk_flag: boolean (快速判断该单子是否被挂载了hermes_risk_report)