Hindsight 长期记忆接入 Hermes Desktop:3 步在 Settings 里给 Agent 装上跨会话记忆
【免费下载链接】hindsightHindsight: Agent Memory That Learns项目地址: https://gitcode.com/GitHub_Trending/hindsight2/hindsight
你的 Agent 是不是每次开新对话都像失忆?Hermes Desktop 原生集成了 Hindsight 记忆提供方,在Settings面板里选Hindsight、粘贴 API Key、点Save,Agent 就能在每次对话前自动回忆相关记忆、在对话后自动留存关键信息——跨会话、跨设备持续生效。这篇文章全程只用图形界面,不需要终端,也没接触过 Hindsight 的读者可以直接照着做。
1. 快速上手:3 步完成 Hindsight 长期记忆配置
步骤 1:打开 Settings → Memory & Context。在Memory Provider下拉框中选择Hindsight。Hermes Desktop 中只有 Hindsight 拥有完整的内置配置面板,其余记忆提供方选中后设置区域是空白的。
步骤 2:填写 Hindsight 专属配置字段。选中后表单立即展开,各字段含义见下表:
| 字段 | 作用 | 默认值 |
|---|---|---|
| Mode | 记忆后端在哪:Cloud只需 API Key;Local External连自建实例 | Cloud |
| API key | Hindsight API 认证凭据,只写存储 | — |
| API URL | Hindsight 服务地址 | https://api.hindsight.vectorize.io |
| Bank ID | 当前 profile 读写哪个记忆库(memory bank,即隔离的记忆空间) | hermes |
| Recall budget | 每轮对话回忆(recall,从记忆中检索)的力度 | mid |
步骤 3:点击 Save。到 Hindsight Cloud 控制台的 Connect 页面领取 API Key(hsk_开头的令牌),粘贴进API key输入框,保存即完成。
2. 模式怎么选:Cloud 与 Local External 对比
| 维度 | Cloud | Local External |
|---|---|---|
| 托管成本 | 零,本地不跑任何服务 | 需自己维护 Hindsight 实例(Docker、Helm 或裸机) |
| 数据归属 | 存储、retain(记忆写入)与 recall 都在 Hindsight 端完成 | 记忆数据完全不出自己的基础设施 |
| 配置量 | 只粘贴 API Key | 额外填写API URL(如http://localhost:8888) |
| 适用场景 | 个人用户、团队起步 | 数据主权、隐私合规要求严格的场景 |
选Cloud是最短路径:Hindsight Cloud 负责存储、事实抽取与检索,你只管把 Key 贴进去。选Local External意味着你已有一套自建的 Hindsight 服务,把API URL指过去即可。自建实例可以按项目 README 的方式一条命令拉起:
export OPENAI_API_KEY=sk-xxx 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,把 API 地址填进面板即可。也支持pip install hindsight-api的裸机部署和 Helm 的 Kubernetes 部署,仓库里另有 docker-compose 示例与 Helm Chart 可参考。
3. 关键参数深读
Bank ID:一间上了锁的独立房间
记忆库是"完整、隔离的存储单元":内部包含记忆(facts)、文档、实体、实体间关系(知识图谱)和指令(directives)。不同 bank 之间完全隔离——bank A 里的记忆在 bank B 中不可见。默认值hermes表示每个 Hermes 配置档案(profile)默认有自己的记忆空间。
这里有个反直觉的设计:读取一个不存在的 bank 返回 404,而不是空结果。好处是 bank ID 拼错或误删时会显式报错,不会静默给你看似正常的"零记忆"数据。
Recall Budget:回忆该花多大力气
low/mid/high对应 recall 请求的budget参数,服务端会把它换算成内部检索的thinking_budget,同时作用于语义检索、BM25、知识图谱、时序检索等每条检索通道:
fixed(默认):thinking_budget取固定值,三档默认100/300/1000,可用HINDSIGHT_API_RECALL_BUDGET_FIXED_LOW/MID/HIGH调整;adaptive:thinking_budget = round(max_tokens × 比例),比例默认0.025/0.075/0.25,并受HINDSIGHT_API_RECALL_BUDGET_MIN/MAX(默认20/2000)钳制。
直白点说:low换低延迟,适合轻量对话;high换深度回忆,适合关键任务;mid是默认折中。Hermes 侧它对应HINDSIGHT_RECALL_BUDGET环境变量与recallBudget配置项。
API Key:只写不回读
密钥保存时进入系统密钥存储区(secret store),属于只写密钥:之后不会再被回读进表单。面板上会出现 "API key set" 徽章表示已配置。这是刻意的设计——密钥不在 UI 层反复传输和展示,泄露面更小。看到输入框"空了"不要慌,那是正常的。
其余字段(Mode、API URL)没什么悬念:一个决定后端形态,一个决定请求发往哪里(即 HINDSIGHT_API_URL 语义),总表里一句话已覆盖。
4. 保存之后发生了什么
数据分流落位。API key 进 secret store;Mode、API URL、Bank ID、Recall budget写入当前 profile 的配置档案。密钥进密钥库、配置进档案,各归其位。
每轮对话自动发生两件事。Hindsight 通过 Hermes 的记忆提供方机制挂进 Agent 生命周期:
pre_llm_call钩子:每次 LLM 调用前先向 Hindsight 发起 recall,把相关记忆注入上下文——力度由Recall budget决定;post_llm_call钩子:每轮响应结束后把用户/助手的对话做 retain(留存),供以后会话使用。
模型还能显式调工具。除自动钩子外,还注册了三个工具供模型主动调用:hindsight_retain(写入记忆)、hindsight_recall(检索记忆)、hindsight_reflect(基于已有记忆综合出一个答案)。
记忆随档案漫游。每个 profile 对应一个 Bank ID,因此记忆按档案隔离、互不干扰;同一份档案换台机器登录,记忆跟着走,偏好、决策、项目上下文在每次对话中都能被正确回忆。
5. 常见坑与排查
- bank 拼错:报 404 而不是返回空,这正是隔离语义的预期行为。核对Bank ID与后端实际存在的 bank 一致即可。
- 密钥不回显:保存后表单不显示 key、只显示 "API key set" 徽章,属只写设计,不是丢失。
- 与内置文件记忆打架:Hermes 自带基于
MEMORY.md的扁平文件记忆(可选还有USER.md档案)。两个记忆源同时开着,模型可能偏向内置那份。在 CLI 中执行hermes config set memory.memory_enabled false(需要时再加hermes config set memory.user_profile_enabled false)关掉它。 - 桌面端与 CLI 互切:Desktop 面板字段与 CLI 的
config.json(~/.hermes/hindsight/config.json)一一对应——mode、api_url、api_key、bank_id、recallBudget。CLI 侧 API Key 走HINDSIGHT_API_KEY环境变量,且环境变量优先级高于配置文件。两边改的都是同一套后端,随时可切换。 - 连不上自建实例:先跑
curl http://localhost:9077/health确认本地守护进程存活,再看日志~/.hermes/logs/hindsight-embed.log定位错误。
6. 保存后自检清单
逐项打勾,全部通过即可开始使用:
- Memory Provider已选Hindsight并已点Save
- Mode与真实部署一致:Cloud 只需 Key;Local External 的API URL已指向自己的实例且可达
- API key输入框显示 "API key set" 徽章
- Bank ID拼写正确(错误会 404,不会静默变空)
- 已关闭 Hermes 内置
MEMORY.md记忆,避免双源干扰 - 开一轮新对话,Agent 能想起上一次会话里的信息
到这里,Hermes 的长期记忆就在纯图形界面里配完了:不碰config.json、不写.env、不开终端,跨会话、跨设备的记忆能力即刻生效。
【免费下载链接】hindsightHindsight: Agent Memory That Learns项目地址: https://gitcode.com/GitHub_Trending/hindsight2/hindsight
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考