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 输入框筛选条服务端精确过滤,空则查全部
关键字输入框筛选条前端模糊匹配当前页已取回数据(Trace ID / 步骤 / 结果 / 用户 / 详情),后端无模糊搜索接口
每页条数下拉框筛选条20/50/100,默认 20
查询 / 重置按钮筛选条查询回第 1 页拉取;重置清空(含关键字)并回第 1 页
上一页 / 下一页筛选条分页切换;上一页第 1 页禁用,下一页在末页(返回行数 < limit)禁用
跳至[__]页 + 跳转筛选条页码输入跳转;越界(目标页无数据)自动回退到原页,不出现空页
刷新按钮页面头部按当前条件重新拉取决策链
展开 / 收起按钮表格每行展示该步骤 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;只支持 trace_id 精确过滤,无模糊搜索参数,响应也不含总数(故「关键字」为前端本页过滤、末页判定按返回行数 < limit 推断)。归档配置响应 {code:0, data:{enabled, retention_days, schedule}}

5.3 关键机制

6. 权限与安全

7. 常见问题与排错

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

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

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

8. 已知缺陷与边界

说明
模糊搜索为前端本页过滤后端 /ai-audit 无模糊搜索参数,关键字仅作用于当前页已取回数据;Trace ID 仍走服务端精确匹配
分页为行数推断后端不返回总数,末页按"返回行数 < limit"判定;页码跳转越界会自动回退到原页,不出现空页(已补页码跳转)
归档无手动触发只配置调度,不提供立即归档(手动归档在 Foundry 审计页)
事件类型不可见表格仅展示 ref_type/step_type,event_type 需展开详情查看