1. 页面概览

AI 决策审计页是 AIP 管理后台的 AI 决策级审计轨迹查询入口,路由 /admin/ai-audit,仅管理员可访问。普通审计日志按用户/事件查询,本页则聚焦 NLQ 决策链路:后端直查 audit_log 表并过滤 ref_type='ai_decision' 的记录,把一次智能查询的 retrieve / text2sql / execute / visualize 等决策步骤按 trace_id(ref_id)串成可回放的决策链。页面支持按 Trace ID 精确过滤与 limit/offset 分页,可展开查看每一步的 action_details JSON。

页面还集成「审计定时归档」配置(Stage 3 B3-7.3):超过保留天数的审计事件每日定时归档为 JSON Lines 文件并从热区清理,开关、保留天数与 cron 调度表达式在本页直接维护。

2. 访问入口

2.1 路由与菜单

path /admin/ai-audit、name AdminAIAudit、title AI 决策审计;挂载在父路由 /admin(AdminLayout)下,侧边栏菜单项「AI 决策审计」。源码 action/web/src/views/AIAuditPage.vue

2.2 认证与权限

父路由 requiresAuth: true, requiresAdmin: true;后端 /ai-audit 挂 admin 组,非管理员直接 403(AUX-01 测试覆盖)。请求经 aipClient.js 附带 aip_token

2.3 端口与 API 前缀

AIP 后端 18080,前缀 /aip-api(baseURL /aip-api/v1,Vite 代理重写为 /api/v1)。

3. 界面布局

AI 决策审计                                [刷新]
[操作结果提示 alert(可关闭)]
审计定时归档:☑启用定时归档 保留天数[90] 调度表达式(cron)[0 3 * * *]
              [保存归档配置]
筛选条:Trace ID[____] 每页条数[20/50/100]  [查询][重置] [上一页]第N页[下一页]
AI 决策轨迹:ID | 时间 | 用户ID | 引用类型 | Trace ID(ref_id) |
             步骤(step_type) | 结果 | 决策详情(展开/收起)

4. 交互元素

控件位置含义与作用
启用定时归档归档配置卡总开关,关闭后反注册 audit:archive 调度;默认开启
保留天数归档配置卡超过该天数的事件被归档清理,number min=1,默认 90
调度表达式(cron)归档配置卡每日执行表达式,占位 0 3 * * *(每天 3 点)
保存归档配置按钮归档配置卡PUT /audit/archive-config,成功提示"审计归档配置已保存"
Trace ID 输入框筛选条决策轨迹精确过滤,空则查全部
每页条数下拉框筛选条20/50/100,默认 20
查询 / 重置按钮筛选条查询回第 1 页拉取;重置清空并回第 1 页
上一页 / 下一页筛选条分页切换;上一页第 1 页禁用,下一页按当前页条数判断
刷新按钮页面头部按当前条件重新拉取决策链
展开 / 收起按钮表格每行展示该步骤 action_details 格式化 JSON

5. 后端关联

5.1 端点表

方法路径用途
GET/ai-audit查询 AI 决策级审计轨迹,query 支持 trace_id/limit/offset
GET/audit/archive-config查询归档开关/保留天数/调度表达式
PUT/audit/archive-config更新归档配置,缺省字段保留现值;禁用时反注册调度

5.2 请求与响应

GET /ai-audit 成功返回 {"logs": [...]},每条含 iduser_idtimestampevent_typeaction_detailsresultref_typeref_id(即 trace_id)、step_type。后端 limit 默认 50、offset 负值归 0。归档配置响应 {code:0, data:{enabled, retention_days, schedule}}

5.3 关键机制

6. 权限与安全

7. 常见问题与排错

问题 1:查询某 Trace ID 返回空

问题 2:保存归档配置失败

问题 3:归档开关打开但热数据不减少

8. 已知缺陷与边界

说明
无模糊搜索Trace ID 仅精确匹配
前后翻页无页码跳转;下一页可用性由"当前页条数 == limit"推断,末页可能多翻一页
归档无手动触发只配置调度,不提供立即归档(手动归档在 Foundry 审计页)
事件类型不可见表格仅展示 ref_type/step_type,event_type 需展开详情查看