# 管理后台聊天记录补齐记录

日期：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 条的简单限制，后续数据量上来后应改成分页参数。
