关于 session-librarian
Session Librarian 是用于通过对话查找、总结、重命名和整理 Hermes 会话的技能。它区分内容搜索与元数据筛选,变更前要求先提出计划,并优先使用可恢复的归档而非删除。
主要功能
- 01按主题搜索会话并总结决策
- 02按元数据筛选会话
- 03重命名和归档会话
- 04删除前导出会话
- 05将工作拆分到并行会话
适用场景
- 01查找某主题的过往决策
- 02重命名或归档过时会话
- 03为不同工单创建独立会话
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ nousresearch/ hermes-agent --skill session-librarian安装后在 Claude Code 中输入/session-librarian确认已加载。
详细介绍
Session Librarian
以对话方式管理用户的会话库:查找关于某个主题的过往会话,总结其中的决策,为会话改起有意义的名称,将工作拆分到并行会话中,并建议归档或删除过时会话——只需用自然语言提出请求,例如 “找出我关于第三季度定价的会话,保留有用的,把重复的清理掉。”
灵感来自 Perplexity Computer 由提示词驱动的会话管理(2026 年 8 月): Agent 会启动、整理和清理用户自己的会话库,并且在进行任何操作之前始终先展示计划。
适用场景
- “我有哪些关于 X 的会话?”/“我们对 X 做了什么决定?”
- “把这些会话改成有意义的名称。”
- “清理我的会话库”/“归档过时的会话。”
- “把那个会话分支成一个专注于 Y 的后续会话。”
- “把这些内容拆分成每个工单一个会话”(见下文“并行工作流”)。
两种操作方式
| 任务 | 操作方式 |
|---|---|
| 按主题查找会话、阅读内容、总结决策 | session_search 工具(对消息存储进行 FTS5 全文检索) |
| 按元数据列出/筛选(时长、来源、成本、令牌、工作区) | 通过终端运行 hermes sessions list/stats |
| 重命名 | hermes sessions rename <session_id> <title...> |
| 批量软隐藏(可撤销) | hermes sessions archive <filters> |
| 删除(不可逆) | hermes sessions delete/hermes sessions prune <filters> |
| 删除重要内容前先导出 | hermes sessions export --session-id <id> --format md |
| 在新位置继续工作 | /branch(分支当前会话),或启动新会话并引用摘要 |
流程
① 查找。 使用 session_search(query=..., limit=5-10) 搜索主题关键词;尝试不同的说法(功能名称、症状、项目名称)。按元数据批量筛查(“60 天前来自 telegram 的会话”)时,请改用 hermes sessions list --source telegram --limit 50。
② 逐个会话总结。 搜索结果中的 bookend_start(目标)、匹配窗口和 bookend_end(结果)通常就足够了;只有当用户要求深入了解决策时,才完整检索会话(session_search(session_id=...))。按以下格式汇报每个会话:链接(@session: 格式)— 一句话概述目标 — 一句话概述结果。
③ 操作前先制定计划(对任何会修改内容的操作均为强制要求)。 先展示计划表,说明哪些会话将重命名为哪些名称、哪些将归档、哪些建议删除以及原因(与哪个保留会话重复、已过时或为空)。等待用户确认后再执行。例外:如果用户明确指定只重命名一个会话,可以直接执行。
④ 采用最安全的操作方式。
- 优先使用
archive(可撤销的软隐藏),而不是delete/prune。 - 先使用
--dry-run运行所有破坏性命令并展示输出,收到确认后再使用--yes重新运行。 - 删除任何包含重要内容的会话前,先提供
hermes sessions export --format md作为备份。
⑤ 汇报。 说明已应用的重命名、已归档的会话(数量及撤销方式:归档的会话仍保留在数据库中,可通过 --include-archived 列出)、已导出的内容,以及跳过的操作和原因。
并行工作流
对于“每个工单建立一个会话,分别调查并汇报”的请求,不要尝试操控其他正在运行的会话。使用 delegate_task,为每个工作流分配一个任务——每个子 Agent 都会自动在自己的会话中运行——然后综合它们的摘要。请说明,之后也可以通过 session_search 搜索每次委派任务的对话记录。
注意事项
- 未经试运行和本次对话中的明确确认,绝不删除。 长期有效的“清理一下”授权的是提出建议,而不是直接清理。
session_search查找的是内容,而非元数据。 时长、成本和来源筛选由 CLI 处理;当请求同时涉及两者时,应结合使用(例如“关于定价的旧会话”)。- 标题是
/resume <title>的标识。 重命名时,请确保标题简短、唯一且便于前缀匹配;如果新标题与现有标题冲突,请提醒用户。 - 已归档 ≠ 已删除。 归档只会将会话从默认列表中隐藏。请说明你执行的是哪种操作。
- 跨配置文件的会话链接(
@session:<profile>/<id>)在其他配置文件中为只读;管理命令会作用于当前配置文件的数据库。
验证
清理完成后,重新运行发现查询和 hermes sessions list,确认资料库符合计划(保留的会话仍在,且已使用新标题;已归档的会话不再显示在默认列表中)。