Hermes Desktop 接入 Hindsight 长期记忆完整指南:图形界面配好 5 个字段,Agent 立刻拥有跨会话记忆
【免费下载链接】hindsightHindsight: Agent Memory That Learns项目地址: https://gitcode.com/GitHub_Trending/hindsight2/hindsight
想在 Hermes Desktop 中给 Agent 配 Hindsight 长期记忆?本指南覆盖记忆提供方配置的全部要点:Settings 里五个字段的含义与默认值、Hindsight API Key 怎么设置、Cloud 还是本地部署怎么选、数据存在哪,以及保存后如何验证生效。
为什么需要它
Agent 每开一个新会话就像失忆一样重来:你上周说过的偏好、项目里踩过的坑,它一概不记得,你只能反复交代同样的背景。Hindsight 把关键信息抽取出来存成事实、实体和关系,让 Agent 在对话开始前自动找回相关上下文,结束对话后自动留存新的要点——跨会话、跨设备都有效。而 Hermes Desktop 内置了 Hindsight 专属的设置面板:选别的记忆提供方时设置区是空的,选 Hindsight 才会展开完整表单,全程不用碰配置文件或终端。
配置实操:在 Settings 里一键接入 Hindsight
打开Settings → Memory & Context,在Memory Provider下拉框里选Hindsight,专属配置表单会立即展开:
五个字段的作用与默认值:
| 字段 | 含义 | 默认值 |
|---|---|---|
| Mode | 连接模式:Cloud(只需密钥)或Local External(连到你自建的 Hindsight 实例) | Cloud |
| API key | Hindsight 接口的身份凭证,按只写密钥方式保存 | — |
| API URL | 记忆服务实际接收请求的地址 | https://api.hindsight.vectorize.io |
| Bank ID | 当前 Hermes 档案读写的记忆库名称 | hermes |
| Recall budget | 每轮对话自动回忆的检索力度:low/mid/high | mid |
填好后点击Save即完成接入。Cloud 模式只需要一个 Hindsight API Key(令牌以hsk_开头),到 Hindsight Cloud 控制台的 Connect 页面获取后粘贴进来即可,其余字段用默认值就行。
Cloud 还是本地部署:先给结论,再给理由
结论:多数人选 Cloud。粘贴密钥就完事,存储、事实抽取(retain)、检索(recall)全部由托管服务完成,本地零基础设施,起步成本为零。
Local External 留给自托管者。如果你已经用 Docker 或 Kubernetes 跑着 Hindsight,选这个模式并把 API URL 指向实例地址(比如http://localhost:8888),记忆数据就完全留在自己的基础设施里,适合数据主权和合规要求严格的场景。最短的本地部署路径就一条命令:
docker run -it --pull always --name hindsight --restart unless-stopped -p 8888:8888 -p 9999:9999 \ -e HINDSIGHT_API_LLM_API_KEY=$OPENAI_API_KEY \ -v hindsight-data:/home/hindsight/.pg0 \ ghcr.io/vectorize-io/hindsight:latest跑起来后 API 在http://localhost:8888(UI 在http://localhost:9999),把 8888 这个地址填进面板即可。更多形态(裸机pip install hindsight-api、Kubernetes 部署)可参考 docker-compose 示例 和 Helm Chart。
三个必须理解的概念
Memory Bank:记忆的隔离容器。Bank 是完整且相互隔离的存储单元,里面装着事实、文档、实体、实体关系(知识图谱)和指令;bank A 里的记忆在 bank B 中完全不可见。所以 Hermes 用"一个档案对应一个 Bank ID"来做隔离——默认值hermes让每个档案各占一个记忆空间。另外注意一个语义细节:读取不存在的 bank 会直接返回404错误,而不是给你一份看似正常的空结果。也就是说 Bank ID 拼错或库被误删时,你会立刻收到显式报错,不会被静默的"假健康"数据糊弄过去。详见 Memory Banks API 文档。
Recall Budget:每轮回忆投入多少检索资源。low/mid/high三档分别映射到服务端的thinking_budget整数,作用于语义检索、BM25、知识图谱、时序等所有检索通道。fixed模式(默认)直接取固定值:三档对应 100 / 300 / 1000,可用HINDSIGHT_API_RECALL_BUDGET_FIXED_LOW/MID/HIGH调整;adaptive模式则按max_tokens × 比例计算(比例默认 0.025 / 0.075 / 0.25),并受HINDSIGHT_API_RECALL_BUDGET_MIN/MAX(默认 20 / 2000)上下限钳制,检索广度随输出预算伸缩。白话讲:要低延迟选low,关键任务要深度回忆选high,mid居中。完整环境变量清单见 Configuration 文档。
密钥只写存储:保存后不再回读。API Key 落盘时写入系统的密钥存储区(secret store),属于 write-only 密钥——保存后不会再次出现在表单里,面板只显示一个 "API key set" 徽章。Mode、API URL、Bank ID、Recall budget 这四项则写入当前 Hermes 档案配置(profile config)。密钥与配置分流存放,避免了凭据在 UI 层反复传输展示。
配置之后会发生什么
保存后,Hindsight 通过 Hermes 原生记忆提供方机制挂进 Agent 的生命周期:
| 组件 | 作用 |
|---|---|
pre_llm_call钩子 | 每次 LLM 调用前自动检索 Hindsight,把相关记忆注入上下文(自动回忆) |
post_llm_call钩子 | 每轮响应结束后,把用户/助手的对话存入 Hindsight(自动留存) |
hindsight_retain工具 | 供模型显式写入记忆 |
hindsight_recall工具 | 供模型显式检索记忆 |
hindsight_reflect工具 | 基于已存记忆做 LLM 综合回答 |
自动回忆的力度就是你在面板里设的 Recall budget。由于每个档案指向一个 Bank ID,不同档案的记忆天然互不干扰;而同一档案在多台设备上登录时,记忆随档案走——哪台机器上打开这个档案,完整的历史记忆就在哪台机器上可用。
验证配置是否生效
保存不等于万无一失,花一分钟做四件事:
1. 健康检查。自托管(本地守护进程)场景下,确认服务存活:
curl http://localhost:9077/health2. 看日志。本地守护进程启动日志在~/.hermes/logs/hindsight-embed.log,运行期日志在~/.hindsight/profiles/<profile>.log,出问题时从这里找原因最快。
3. 警惕 Bank ID 拼错。典型表现是记忆相关请求返回 404(而非空结果),对照上一节的 bank 语义自查即可。
4. 与内置记忆的互斥。Hermes 自带一套基于MEMORY.md(外加更精简的USER.md)的扁平文件记忆,两套记忆同时开启时模型可能偏向内置那套。用 Hindsight 后建议在 CLI 中关闭前者:
hermes config set memory.memory_enabled false hermes config set memory.user_profile_enabled false # 可选两个开关设回true即可恢复,改动随时可逆。
回顾与下一步
打开 Settings → Memory & Context → 选 Hindsight,粘好 API Key 填完 Bank ID,点 Save,长期记忆即接入 Agent 生命周期。
- Hindsight Cloud(免费):控制台 Connect 页面获取 API Key,回到面板粘贴
- CLI 与网关场景(Telegram、Discord、Slack 多平台):Hermes Agent 集成文档
- 自托管方案:docker-compose 部署示例 与 Helm Chart
【免费下载链接】hindsightHindsight: Agent Memory That Learns项目地址: https://gitcode.com/GitHub_Trending/hindsight2/hindsight
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考