graph-memory 是什么?把 DeepSeek Harness 对话变成知识图谱记忆

使用指南发布于 2026-08-30作者: DeepSeek Plugin 插件市场
graph-memory知识图谱记忆使用指南
graph-memory 是 DeepSeek Harness 的 DSH 知识图谱记忆插件,把对话历史变成可追溯、可搜索、跨会话复用的记忆,场景级实测上下文压缩约 75%。了解安装、召回配置与嵌入选项。

graph-memory 是 DeepSeek Harness(DSH Plugin)生态中的原生知识图谱记忆插件,把对话历史改写成可追溯、可搜索、跨会话复用的知识图谱:它把经验沉淀为 TASK、SKILL、EVENT 三类节点和类型化边,召回时只注入相关的局部子图而不是重放完整历史,从而压缩上下文、减少 token 消耗。 本文基于官方 README 介绍它是什么、核心功能、安装启用、典型用法与常见排错。

graph-memory 是什么?

graph-memory 解决「AI 代理上下文膨胀、经验随会话丢失」的问题:把对话历史变成结构化知识图谱,让「过去哪些知识现在值得召回」代替「把整段历史塞回提示词」。 以下定位与事实均来自官方 README(来源):

graph-memory 由 adoresever 用 TypeScript 开发、以 MIT 协议开源。README 用一句话区分它和上下文压缩:「Compaction 回答『这段对话还剩多少能放下』,Graph Memory 回答『现在值得召回哪些过去的知识』」。可复用的对话知识变成类型化节点——TASK(目标、执行与结果)、SKILL(验证过的可复用方法)、EVENT(错误、修复、决策、变更与事实),再用 USED_SKILL、SOLVED_BY、REQUIRES、PATCHES、CONFLICTS_WITH 等类型化边保留关系。新问题到来时,插件检索一个相关的局部子图,而不是重放完整历史。它是 DSH 的原生插件(Cordis 适配器),默认用 SQLite 存储、无需图数据库,需要 Node.js 22.13+。

graph-memory 的核心功能有哪些?

graph-memory 的核心能力是「原生宿主集成、持久跨会话记忆、上下文压缩、智能召回与本地优先」:让 AI 代理把每次对话沉淀为可复用知识,并在后续会话中按需、可追溯地召回。 这些能力全部来自官方 README(来源):

  • 原生宿主集成:经 DSH / Cordis 插件生命周期加载,而不是通过 MCP 侧信道模拟;接入 Session、Tool、Agent Loop、Prompt Assembly、LLM 与 Credentials 等接口,不 fork、不修改 DSH 核心。
  • 持久跨会话记忆:会话 A 的知识可在会话 B 自动召回;记忆在 DSH 重启后依然存在;稳定事件 ID 让恢复与热重载摄入保持幂等;来源会话和图边会解释「为什么召回这条记忆」。
  • 上下文压缩:保留最新真实用户轮次(freshTurnCount,默认 5),旧前缀经 DSH 压缩服务替换为滚动检查点,进入当前提示词的只有相关子图,受 recallTokenBudget(默认 4096)约束;在特定七轮工作流中实测减少约 75% token(场景级对比,非普遍保证)。
  • 智能召回:语义向量检索 + FTS5 词法回退,社区检测、PageRank 与有界图遍历;自动注入经高精度语义门控(autoRecallMinScore,默认 0.6),且不会回退到与查询无关的社区代表。
  • 本地优先与轻量:默认 SQLite、无需图数据库;嵌入可选,未配置时回退 FTS5;数据默认留在本地 profile;支持 DashScope、OpenAI 与本地提供方的 OpenAI 兼容嵌入。
  • 可观测可验证:gm_status 报告存储路径、图计数、向量覆盖等状态;模型或维度变化触发重新嵌入;关键知识可用 gm_record 确定性记录。

怎么安装与启用 graph-memory?

安装 graph-memory 只需要一条命令:当前 beta(1.6.0-beta.9)尚未发布到 npm,但仓库自带预构建运行时,可通过 GitHub 源无脚本安装。 安装命令与验证步骤来自官方 README(来源),前置条件是 Node.js 22.13+:

1. 安装 graph-memory:在 DeepSeek Harness 终端执行安装命令,把插件装进当前 profile:

bash
npx @deepseek-ai/dsh plugin --profile web add github:adoresever/graph-memory

等待命令输出安装完成。也可以从检出目录构建 tarball 后安装:git clone → npm install → npm test → npm pack → 再 add /absolute/path/to/graph-memory-1.6.0-beta.9.tgz。

2. 更新 graph-memory:重跑安装命令即可覆盖为最新版本:

bash
npx @deepseek-ai/dsh plugin --profile web update github:adoresever/graph-memory

3. 卸载 graph-memory:不再需要时执行卸载命令:

bash
npx @deepseek-ai/dsh plugin remove graph-memory

4. 启用并验证:安装后确认插件已启用,并查看当前配置:

bash
npx @deepseek-ai/dsh --profile web --dump-config
npx @deepseek-ai/dsh web

安装完成后,在「设置 → 插件 → 插件列表」确认 graph-memory/dsh 已启用。默认存储位置为 $DSH_HOME/graph-memory/graph-memory.db;未设置 DSH_HOME 时通常为 ~/.dsh/graph-memory/graph-memory.db。

graph-memory 典型用法

graph-memory 的日常使用几乎无需干预——插件在 Prompt Assembly 阶段自动召回相关记忆;需要确定性记录或主动检索时,用 gm_record 与 gm_search 两个命令。 以下命令来自官方 README(来源):

1. 记录关键知识:自动提取依赖辅助模型输出稳定性,beta 阶段的重要知识用 gm_record 确定性落库:

bash
npx @deepseek-ai/dsh gm_record

2. 主动检索长期记忆:gm_search 做显式、广泛的图谱搜索(自动召回更精准,显式搜索覆盖面更广):

bash
npx @deepseek-ai/dsh gm_search

3. 查看插件状态:gm_status 报告存储路径、图计数、向量覆盖、模式与维度:

bash
npx @deepseek-ai/dsh gm_status

注意:自动召回不需要显式调用 gm_search——Prompt Assembly 期间插件会自动注入相关记忆;工具列表里还有 gm_stats(节点、边、类型与社区统计)。

4. 可选:配置向量嵌入:想让召回走语义向量而非 FTS5 词法检索,配置 DashScope 等 OpenAI 兼容端点后启动:

bash
export GRAPH_MEMORY_EMBEDDING_API_KEY='replace-with-your-key'
export GRAPH_MEMORY_EMBEDDING_BASE_URL='https://dashscope.aliyuncs.com/compatible-mode/v1'
export GRAPH_MEMORY_EMBEDDING_MODEL='text-embedding-v4'
export GRAPH_MEMORY_EMBEDDING_DIMENSIONS='1024'
dsh web

不要在聊天里发送密钥——Cordis 只存凭据引用,DSH credentials 在每次嵌入操作时解析真实值;没有嵌入时插件继续用 FTS5,不阻塞对话。

graph-memory 常见问题与排错

graph-memory 的常见问题集中在「装了不生效」「召回不到旧知识」「嵌入配置失败」三类,下面给出症状、原因与解决步骤。 排错依据来自官方 README(来源):

1. 症状:装完对话里没有自动召回旧知识。 原因:插件未启用,或自动召回需要先在同一存储里积累知识。解决:确认「设置 → 插件 → 插件列表」里 graph-memory/dsh 处于启用状态;会话 A 的知识要先被提取进图才能被会话 B 召回;用 gm_status 查看存储路径与图计数:

bash
npx @deepseek-ai/dsh gm_status

2. 症状:关键知识没被记住、提取不稳定。 原因:自动提取依赖辅助模型输出稳定性。解决:用 gm_record 确定性记录关键知识:

bash
npx @deepseek-ai/dsh gm_record

3. 症状:想用语义向量召回但命中很差。 原因:未配置嵌入,召回回退到 FTS5 词法检索;或模型 / 维度变化后尚未重新嵌入。解决:按 README 配置 DashScope 等嵌入环境变量后重启(见「典型用法」),再用 gm_status 查看向量覆盖;模型或维度变化会自动触发重新嵌入。

4. 症状:gm_update / gm_maintain 报不存在。 原因:这两个工具目前是 OpenClaw 入口工具,DSH 尚未暴露。解决:在 DSH 下用 gm_record 记录、gm_search 检索即可,无需这两个命令。

适用场景与注意

graph-memory 适合「需要跨会话复用经验、上下文越来越长」的 DSH 工作流;它默认本地存储,但也因此有一些限制需要知道。 事实来自官方 README(来源):

适用场景:长会话与多会话项目,让经验跨会话复用;token 敏感的工作流,场景级实测约 75% 上下文压缩;需要可追溯来源的记忆,召回时解释「为什么召回这条」。

注意与限制:

  • 当前 beta 未发布到 npm,安装走 GitHub 源或源码 tarball;
  • 自动提取依赖辅助模型输出稳定性,关键知识请用 gm_record;
  • 数据默认留在本地 SQLite,API 密钥来自宿主凭据或环境变量、不写入数据库;任何出现在聊天、日志或截图中的密钥都应轮换;
  • 召回历史被标记为不可信参考材料,不会覆盖当前用户指令;
  • 不同维度的向量从不静默比较,模型或维度变化会触发重新嵌入。

项目链接

graph-memory 是 adoresever 维护的 MIT 开源项目,DSH 侧当前为 beta 版本(1.6.0-beta.9)。

前往插件详情页查看完整信息:graph-memory。

本页是基于该插件官方 README 独立重写的导读——权威文档和最新变更请以源头为准:adoresever/graph-memory。插件是安装时就在你机器上运行的第三方代码;收录不代表背书——安装前请自行审阅源码。

常见问题

graph-memory 如何实现跨会话记忆,DSH plugin 重启后记忆还在吗?

graph-memory 用稳定事件 ID 保证幂等,把知识持久化到本地 SQLite,因此 DSH 重启后记忆依然存在;会话 A 的知识可在会话 B 自动召回,来源会话和图边会解释召回原因。

graph-memory 的上下文压缩能减少多少 token,默认保留几轮原始对话?

graph-memory 在特定七轮工作流中实测减少约 75% 的 token,但属场景级对比而非普遍保证;默认保留最新 5 轮真实用户轮次,更早前缀由 DSH 压缩服务替换为滚动检查点。

graph-memory 的自动召回阈值和 token 预算默认值是多少,如何调整?

graph-memory 的 autoRecallMinScore 默认 0.6,recallTokenBudget 默认 4096;修改配置即可控制自动注入的语义门槛与召回子图的 token 上限。

graph-memory 在 DSH 中如何手动记录和搜索知识,有哪些命令?

在 DSH 中可用 gm_record 确定性记录关键知识,gm_search 做广泛搜索,gm_status 查看存储路径、图计数与向量覆盖;日常无需干预,自动召回会注入相关历史。

graph-memory 必须配置向量嵌入吗,没有嵌入会怎样?

嵌入是可选的。graph-memory 未配置嵌入时,召回回退到 FTS5 词法检索,不阻塞对话;支持 OpenAI 兼容嵌入,可对接 DashScope 或本地提供方。

graph-memory 的召回内容会覆盖用户当前指令吗?

不会。graph-memory 自动注入的召回历史被标记为不可信参考材料,不能覆盖当前用户指令;自动注入使用高精度语义门控(默认 0.6),也不会回退到与查询无关的社区代表。

相关术语

graph-memory
graph-memory 是 DeepSeek Harness(DSH)的原生知识图谱记忆插件,把对话历史提取为 TASK、SKILL、EVENT 节点和类型化边,并在后续会话中按语义召回相关子图。— graph-memory README
知识图谱记忆
知识图谱记忆是把对话经验以「节点 + 类型化边」形式持久化、并在后续会话按需召回的记忆方案;graph-memory 用它代替重放完整历史。— graph-memory README
滚动检查点
滚动检查点是 graph-memory 借助 DSH 压缩服务把较旧的模型侧前缀压缩成的单个可检索摘要,索引后保留精确来源,用于压缩上下文。— graph-memory README
双路径召回
双路径召回是 graph-memory 的检索机制:精确路径做向量 / FTS5 搜索并做社区扩展,泛化路径做社区摘要匹配,最终经个性化 PageRank 去重排序。— graph-memory README

来源

查看全部文章