feat: 增强规则资产管理与审计页面运行时调试
后端新增规则资产版本管理和规则文件 CRUD 接口,优化风险 规则生成模板执行和员工数据模型字段,知识库 RAG 增强本 地回退和文档提取能力,清理旧风险规则文件统一由生成引擎 管理,前端审计页面增加运行时调试面板和规则资产编辑交互, 补充单元测试覆盖。
This commit is contained in:
46
document/development/hermes_agent/02_database_design.md
Normal file
46
document/development/hermes_agent/02_database_design.md
Normal file
@@ -0,0 +1,46 @@
|
||||
# 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`: datetime
|
||||
- `completed_at`: datetime
|
||||
- `status`: 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`)
|
||||
Reference in New Issue
Block a user