会话持久化
概述
Gateway 中每个(平台 × 用户)组合维护独立会话历史的机制,基于 SQLite + FTS5 实现持久化存储和全文检索。
关键内容
- Session Key 设计:
session_key = f"{platform}:{user_id}",如"telegram:123456789",确保每个平台每个用户有独立会话 - 存储结构:每条会话记录包含 messages(JSON 格式的角色-内容列表)、created_at、last_active 时间戳
- SQLite + FTS5 全文检索:支持按 session_key 精确查询和跨会话全文搜索,Agent 可搜索历史消息找到相关内容
- 自动会话摘要:
auto_summarize: true配置下,LLM 自动压缩历史消息,控制上下文长度,默认保留最近 50 条消息 - 与跨会话记忆的区别:会话持久化关注单个 Gateway 会话内的消息历史维护;跨会话记忆更广泛,包括 MEMORY.md、USER.md、FTS5 按需召回等多层机制
- 生命周期:消息到达 → 加载历史 → 注入 AIAgent → 执行对话 → 保存更新后的历史,形成完整的读写循环
- 会话隔离:多用户授权下,每个用户有独立的会话隔离,互不干扰
来源
- 05_hermes_gateway.md — Hermes Agent 深度解析第五篇:Gateway 消息网关,2026 年 4 月版本
相关
- Gateway 消息网关 — part_of
- 跨会话记忆 — extends
- Hermes Agent — implements
- 分层记忆系统 — part_of