Complete admin chat records

This commit is contained in:
2026-07-07 12:17:23 +08:00
parent 08dd371480
commit 08c301c136
9 changed files with 608 additions and 61 deletions

View File

@@ -0,0 +1,61 @@
# 管理后台聊天记录补齐记录
日期2026-07-07
## 本次目标
把管理后台“记录审计”里的聊天记录做完整,让管理员可以按会话查询、搜索聊天内容、查看完整对话,并追溯关联的 AI 请求日志和 Prompt。
## 已完成后端能力
- 增强 `GET /api/admin/chat/list`
- 支持按关键词搜索。
- 关键词覆盖会话标题、用户手机号、用户姓名和聊天消息内容。
- 支持按用户 ID 过滤。
- 支持按消息状态过滤。
- 支持按更新时间范围过滤。
- 返回用户手机号、用户姓名、会话标题、消息数、最后消息时间等列表字段。
- 增强 `GET /api/admin/chat/{session_id}`
- 返回会话信息。
- 返回完整聊天消息。
- 返回关联 AI 请求日志。
- AI 请求日志详情包含 Prompt方便排查模型回答依据。
- 新增 `GET /api/admin/chat/export`
- 按当前筛选条件导出聊天会话 CSV。
- CSV 带 UTF-8 BOM便于 Excel 打开中文。
- 增强 `GET /api/admin/ai-log/list`
- 支持按会话 ID、用户 ID 和状态过滤。
## 已完成前端能力
- 记录审计新增聊天记录筛选区:
- 关键词
- 用户 ID
- 消息状态
- 时间范围
- 搜索、重置、导出
- 聊天记录列表展示:
- 会话 ID
- 用户手机号
- 用户姓名
- 会话标题
- 消息数
- 最后消息时间
- 新增聊天详情抽屉:
- 会话摘要
- 完整用户/AI 对话
- 消息状态、Token、耗时
- 关联 AI 请求日志
- Prompt 预览
- 错误信息展示
## 顺手修正
- 后端 CORS 增加管理后台本地地址 `5174`
- 管理员登录返回值改为明确字典,避免直接返回 ORM 对象导致前端解析不稳定。
## 当前边界
- 导出当前只导出会话列表,不导出每条消息全文;如果后续需要“完整对话导出”,建议单独增加明细 CSV 或 Excel 导出。
- 聊天详情里的 AI 请求日志展示 Prompt但不会展示模型 API Key 等敏感信息。
- 当前列表分页仍使用最多 200 条的简单限制,后续数据量上来后应改成分页参数。

View File

@@ -32,4 +32,5 @@
| `2026-07-06-phase3-user-client-completion.md` | 阶段三用户端 H5 主链路补齐记录。 |
| `2026-07-06-phase4-rag-external-services.md` | 阶段四 RAG 和外部服务接入骨架记录。 |
| `2026-07-06-phase5-admin-console.md` | 阶段五管理后台记录。 |
| `2026-07-07-admin-chat-records-completion.md` | 管理后台聊天记录补齐记录。 |
| `../test_records/2026-07-06-phase6-verification.md` | 阶段六验证记录。 |