DeepSeek Harness (DSH) Agent 默认是无状态的,这意味着每次会话都从零开始。在处理多轮对话或长任务时,Agent 无法直接引用之前的决策、偏好或事实。虽然社区已有 dsh-mnemon 等重型记忆方案,但对于已经部署了 Hindsight 的用户,这层“全家桶”显得有些累赘。
dsh-hindsight 是一个官方级插件,由 Ryu6Zero 维护。它将 DSH 直接桥接到 Hindsight REST API,为 Agent 提供跨会话记忆能力。这是一个自包含的 Cordis 插件,不包含 dsh-mnemon 的编排层,也不捆绑存储引擎,本质上是一个对接 Hindsight REST API 的独立 HTTP Client。
安装与前置要求¶
安装前请确保环境满足要求:Node.js 版本 >= 20,DeepSeek Harness 版本 >= 0.1.1-rc.2。
安装到 Web profile(完整 UI)和 Headless profile(命令行任务)——两者挂载同一套工具:
dsh plugin --profile web add dsh-hindsight
dsh plugin --profile headless add dsh-hindsight
安装完成后,启动相应的 profile 即可使用。
核心功能¶
/hindsight斜杠命令:提供状态查询、语义召回、知识图谱遍历、记忆列表、异步操作查看、记忆录入与遗忘等能力。- 6 个模型工具:Agent 可以直接调用
hindsight_status、hindsight_recall、hindsight_related、hindsight_list、hindsight_remember、hindsight_forget。 - 知识图谱遍历:通过
hindsight_related从一条记忆出发,进行 BFS 遍历 Hindsight 实体关系图谱的邻居(1-5 跳),追踪关联决策。 - 主动记忆引导:开启
autoRemember后,模型会主动识别并保存可持久复用的事实(如偏好、决策、约束),并采取“不确定先问”的策略防止脏数据。 - 记忆引导注入:开启
systemPromptSection后,模型会在首轮对话中获取一段记忆引导的系统提示,明确知道何时该召回或保存。 - 异步操作可观测:通过
/hindsight operations或工具查看记忆提取队列状态,解决“刚存完却找不到”的困惑。 - 批量去重写入:
hindsight_condense支持一次提交多条事实,自动跳过与近期记忆重复的内容。 - 召回缓存:相同查询在 60 秒内会直接返回缓存结果,提升响应速度。
- 多库只读探索:支持通过
bank参数或@库名前缀跨项目库检索(仅限读取)。 - 热配置:修改
endpoint、token、autoRemember等配置后即时生效,无需重启。 - 部署诊断:当服务不可达时,
hindsight_status会返回具体诊断信息和 Docker 启动引导。 - 独立 Client:插件外可复用
HindsightClient进行零依赖 HTTP 交互。
配置¶
默认配置指向本地 Hindsight 服务。在 DSH 设置界面的 hindsight 命名空间中覆盖默认值(不建议直接修改 bundle patch):
| 字段 | 默认值 | 含义 |
|---|---|---|
endpoint |
http://localhost:8888 |
Hindsight 服务地址 |
token |
'' |
远程服务的 Bearer Token;本地开放服务留空 |
bankId |
hermes |
记忆 bank id |
defaultRecallLimit |
10 |
每次召回上限 |
autoRemember |
true |
是否引导模型主动保存事实 |
systemPromptSection |
true |
是否向 system prompt 注入记忆引导段 |
recallCacheTtlMs |
60000 |
召回缓存 TTL(毫秒),0 表示关闭缓存 |
典型用法¶
以下是一些典型的命令示例:
/hindsight status # 查看记忆库统计、连接状态
/hindsight recall 记忆架构决策 # 语义召回相关记忆
/hindsight related <ID> [depth] # 查看知识图谱邻居
/hindsight list # 列出最近记忆
/hindsight operations [数量] # 查看异步操作队列
/hindsight remember 记住X # 主动保存一条事实
/hindsight forget <ID> # 删除某条记忆
在对话中,Agent 也可以直接通过模型工具“查一下记忆”或“记住这个”来自主完成上述操作。
适用场景与注意¶
- 适用场景:适合已经部署了 Hindsight 服务,希望为 DSH Agent 添加长期记忆、知识图谱检索能力的开发者。
- 异步特性:Hindsight 通过自己的 LLM/consolidation 队列异步提取记忆。刚执行
remember的事实,可能需要超过测试窗口才能在recall中出现,这是 Hindsight 自身的机制,并非插件故障。 - 范围外功能:不包含 WebUI 工作台、多 provider 编排、捆绑存储、client/浏览器 bundle 以及提取/蒸馏子 Agent。
总结¶
dsh-hindsight 通过提供轻量级的 HTTP 客户端和丰富的命令工具,让 DSH Agent 能够无缝对接 Hindsight 的向量记忆与知识图谱能力。如果你需要为 Agent 添加长期记忆且不想引入复杂的编排层,这是一个直接可用的选择。
项目地址:https://github.com/Ryu6Zero/dsh-hindsight