📋 会话管理
会话 (Session) 是 LLM Chat 中管理对话历史的基本单位。每个会话保存了一棵完整的消息树,包含所有分支路径。
创建会话
快速创建
点击右侧会话列表顶部的 ➕ 按钮,系统会立即使用当前选中的智能体 (Agent) 创建新的空会话——没有弹窗,一步到位。
TIP
创建会话时自动使用当前 Agent。如果当前没有选中任何 Agent,则使用最近使用过的默认 Agent。
默认名称
会话会以当前时间自动命名(例如 会话 2026-05-08 10:30:00)。你可以在会话上右键选择「重命名」来修改。另外,启用「话题命名」功能后,系统会在积累足够消息后自动生成更具描述性的标题。
TODO: 截图 — 会话列表面板,标注创建按钮
切换会话
右侧的「会话列表」面板展示了所有历史会话:
- 按最后更新时间排序:最近使用的会话排在最前面
- 显示 Agent 图标:每条会话右侧会显示该会话最近使用的 Agent 头像
- 消息数量:显示会话中的消息总数
- 点击切换:点击任意会话条目即可切换到该会话
切换会话时,系统采用按需加载策略——只加载当前活跃会话的完整详情,其他会话仅保留轻量级索引,从而显著提升启动速度和切换性能。
TODO: 截图 — 会话列表面板
分组管理
会话列表目前保持平铺展示。你可以通过以下方式管理多个会话:
- 重命名:右键点击会话条目 → 重命名
- 排序:系统按最后更新时间自动排序
- 清理:批量删除不再需要的会话
搜索历史会话
右侧会话列表顶部提供搜索框,支持按会话名称搜索。输入关键词后列表会实时过滤匹配的会话。
此外,在对话视图下你也可以使用 ChatSearchPanel 在当前会话内部搜索消息内容:
- 按关键字搜索当前会话的所有消息
- 搜索结果高亮显示
- 点击结果自动滚动到对应消息位置
删除会话
- 右键点击要删除的会话 → 选择「删除」
- 如果启用了删除确认弹窗,点击确认以完成删除
- 删除后无法恢复(文件将被移入系统回收站)
WARNING
删除会话会同时删除该会话下的所有消息和分支,请谨慎操作。
清空所有会话
在会话列表顶部的菜单中可以选择「清空所有会话」,此操作会删除全部历史会话并重置状态。
会话的数据结构
为了实现极致的性能,LLM Chat 采用了索引与详情分离的存储架构:
| 部分 | 内容 | 加载策略 |
|---|---|---|
| 索引 (Index) | 会话 ID、名称、消息数、最后更新时间、Agent 标识 | 启动时全量加载,用于极速渲染列表 |
| 详情 (Detail) | 完整的消息节点树、当前活动分支、撤销/重做栈 | 按需加载:仅在你点击切换到该会话时才从磁盘读取 |
索引自愈机制
系统在后台会定期运行自愈程序,自动检测并修复因异常关闭可能导致的索引损坏(如消息计数不准)。
这种设计确保了即使你的历史记录中积累了数千个会话,应用依然能保持毫秒级的启动和切换速度。