Skip to content

📋 会话管理

会话 (Session) 是 LLM Chat 中管理对话历史的基本单位。每个会话保存了一棵完整的消息树,包含所有分支路径。

创建会话

快速创建

点击右侧会话列表顶部的 ➕ 按钮,系统会立即使用当前选中的智能体 (Agent) 创建新的空会话——没有弹窗,一步到位。

TIP

创建会话时自动使用当前 Agent。如果当前没有选中任何 Agent,则使用最近使用过的默认 Agent。

默认名称

会话会以当前时间自动命名(例如 会话 2026-05-08 10:30:00)。你可以在会话上右键选择「重命名」来修改。另外,启用「话题命名」功能后,系统会在积累足够消息后自动生成更具描述性的标题。

TODO: 截图 — 会话列表面板,标注创建按钮

切换会话

右侧的「会话列表」面板展示了所有历史会话:

  • 按最后更新时间排序:最近使用的会话排在最前面
  • 显示 Agent 图标:每条会话右侧会显示该会话最近使用的 Agent 头像
  • 消息数量:显示会话中的消息总数
  • 点击切换:点击任意会话条目即可切换到该会话

切换会话时,系统采用按需加载策略——只加载当前活跃会话的完整详情,其他会话仅保留轻量级索引,从而显著提升启动速度和切换性能。

TODO: 截图 — 会话列表面板

分组管理

会话列表目前保持平铺展示。你可以通过以下方式管理多个会话:

  • 重命名:右键点击会话条目 → 重命名
  • 排序:系统按最后更新时间自动排序
  • 清理:批量删除不再需要的会话

搜索历史会话

右侧会话列表顶部提供搜索框,支持按会话名称搜索。输入关键词后列表会实时过滤匹配的会话。

此外,在对话视图下你也可以使用 ChatSearchPanel当前会话内部搜索消息内容:

  • 按关键字搜索当前会话的所有消息
  • 搜索结果高亮显示
  • 点击结果自动滚动到对应消息位置

删除会话

  1. 右键点击要删除的会话 → 选择「删除」
  2. 如果启用了删除确认弹窗,点击确认以完成删除
  3. 删除后无法恢复(文件将被移入系统回收站)

WARNING

删除会话会同时删除该会话下的所有消息和分支,请谨慎操作。

清空所有会话

在会话列表顶部的菜单中可以选择「清空所有会话」,此操作会删除全部历史会话并重置状态。

会话的数据结构

为了实现极致的性能,LLM Chat 采用了索引与详情分离的存储架构:

部分内容加载策略
索引 (Index)会话 ID、名称、消息数、最后更新时间、Agent 标识启动时全量加载,用于极速渲染列表
详情 (Detail)完整的消息节点树、当前活动分支、撤销/重做栈按需加载:仅在你点击切换到该会话时才从磁盘读取

索引自愈机制

系统在后台会定期运行自愈程序,自动检测并修复因异常关闭可能导致的索引损坏(如消息计数不准)。

这种设计确保了即使你的历史记录中积累了数千个会话,应用依然能保持毫秒级的启动和切换速度。

相关阅读

Released under the Apache-2.0 License.