实战 · 会话管理
🎯 学习目标
- 会话存 Redis 或 PostgreSQL,刷新可恢复
- 多 session 列表、切换、删除
- 可选导出 JSON 聊天记录
引言
没有持久化就没有「产品感」。第 5 周专注会话工程,为 RAG 阶段铺路。
章节正文
第 1 步:数据模型与 API
sessions: { id, user_id, title, created_at, updated_at }
messages: { id, session_id, role, content, created_at }实践任务
- [ ] POST /sessions 创建
- [ ] GET /sessions 列表
- [ ] GET /sessions/:id/messages
- [ ] POST /sessions/:id/messages 追加
- [ ] DELETE /sessions/:id
- [ ] Redis 缓存热 session 或全量 Postgres
第 2 步:前端与验收
实践任务
- [ ] 左侧会话列表,点击切换
- [ ] 刷新页面后当前 session 消息仍在
- [ ] 新建 / 删除 session
- [ ] 首条 user 消息自动摘要为 title(可调 LLM 或截断)
验收标准
- [ ] 刷新后对话恢复
- [ ] 多 session 互不串消息
- [ ] 支持导出单 session JSON
- [ ] 说明 Redis vs DB 选型理由
关联章节
动手练习
- 压测 10 个并行 session 无串线
- 实现 30 天前 session 自动归档策略(设计即可)
本节小结
阶段三:session/message 模型 + CRUD + 多会话 UI;刷新恢复是硬验收项。