DeepSeek Harness 插件

adoresever/graph-memory

Star 数 ★ 642 分类 记忆 收录于 2026-08-26

DeepSeek Harness 的可追溯、可检索跨会话记忆:把对话知识沉淀为带类型的图节点(任务/技能/事件)与关系边。

安装

# GitHub 源码(首次需按提示配置 allowBuilds 构建授权后重试)

dsh plugin --profile web add github:adoresever/graph-memory

装任何插件都等于在你的机器上跑第三方代码,权限和你本人一样大——能读你的文件、用你的凭据、访问网络,工具审批管不到它。GitHub 来源的插件还会在安装时执行构建脚本——pnpm 默认拦截,所以安装可能停在 ERR_PNPM_GIT_DEP_PREPARE_NOT_ALLOWED 或 ERR_PNPM_IGNORED_BUILDS;dsh 会打印出需要添加的确切键名,把它加进该 profile 的 pnpm-workspace.yaml 的 allowBuilds 下,重跑一次即可装上。放行构建本身就是一次信任判断:请只安装可信来源,并尽量锁定 commit(github:owner/repo#sha)。

README

它解决什么

Graph Memory 接管的是发给模型的历史表面,不会删除 DSH 的事件记录。默认保留最近 5 个已完成用户轮次;已完成的推理和工具轨迹不再重复发送;旧轮次与跨会话记忆按当前问题自动召回。

1.6 轮次记忆导航升级

以前 现在
直接从消息抽 TASK / SKILL / EVENT 每个完成轮次先形成一句自包含摘要,再从同一句摘要派生 SPO
图节点容易变成事实正文 摘要、SPO、社区只负责导航;原始问题与最终回答才是事实源
当前会话旧历史可能被整体过滤 只排除最近窗口中仍然可见的消息;窗口外同会话与跨会话统一召回
社区扩展可能带入一整片内容 本地 LPA 缩小候选范围,查询时 PPR 排序,只回溯命中的原始问答
DSH 保留完整工具/推理轨迹 完成轮次仅保留问题与最终回答,旧前缀由固定标记替换

整个写入过程每轮只有 1 次辅助 LLM 调用;社区计算和 PPR 都在本地完成。没有节点/边数量硬编码,没有语义方向门禁,也不会用 JSON repair 把错误输出伪装成成功数据。查看完整设计、源代码映射与另一个项目的移植顺序 →

先看真实结果

GLM-5.2 真实 20 轮测试 历史原生 DSH 基线 最新 Graph Memory 变化
第 20 轮首请求 56,998 Token 11,008 Token −80.69%
第 20 轮模型可见消息 171 21 −87.72%
20 轮首请求上下文累计 532,451 Token 165,896 Token −68.84%
全部实测 Token¹ 2,487,776 2,327,728 −6.43%

¹ 最新候选包含 166 次主 Agent 请求、20 次轮次抽取和 41 次 Embedding 请求;历史基线为 77 次主请求。两次运行的 DSH 提交和非确定性工具循环不同,因此不是严格同期 A/B;首请求上下文是直接接管指标,完整账单同时公开。

20/20 轮任务通过 · 20/20 次结构化抽取成功 · 0 隔离 · 20 轮次摘要 · 92 条 SPO · 30 个社区 · 20 个摘要向量。T11、T19、T20 均自动召回窗口外记忆,并携带精确原始问题与最终回答。

查看 Markdown 实测报告、逐轮数据、方法与限制 →

上下文可以缩小,记忆不会消失

图谱只是导航层,不是拿摘要代替证据。TASK、SKILL、EVENT 节点会指回原始用户问题和最终可见回答,召回时把这些精确来源一起交给模型。

安装到 DeepSeek Harness

1.6.0-beta.17 修复 DSH 0.1.7+ / Session V4 的消息来源兼容问题(#113)和抽取模型不支持 off 导致的记忆失效(#117);SQLite 写锁等待可配置。上下文窗口和召回策略保持原样。修复内容与旧数据恢复 →

Node.js 22.13+ · 不 fork DSH · 在 npm 1.6 发布完成前,请安装已经固定的 GitHub 版本:

npx @deepseek-ai/dsh plugin --profile web add github:adoresever/graph-memory#v1.6.0-beta.17
npx @deepseek-ai/dsh --profile web --dump-config
npx @deepseek-ai/dsh web

npm registry 当前仍是旧版 1.5.8,不要用它验证 DSH。待 npm view graph-memory version 返回 1.6.0-beta.17 或更新版本后,才改用 npx @deepseek-ai/dsh plugin --profile web add graph-memory。

在 Settings → Plugins 确认 graph-memory/dsh 已启用。默认数据库位于 $DSH_HOME/graph-memory/graph-memory.db,通常是 ~/.dsh/graph-memory/graph-memory.db。

已交付能力

能力 实现方式
上下文接管 最近 N 个完成轮次可配置;旧模型表面由一个归档标记替换
轻量抽取 只处理用户问题与最终回答;严格结构化工具合同;不摄入推理/工具轨迹
查询优先召回 向量 Top-K,FTS5 降级;图谱命中携带精确来源问答
持久记忆 本地 SQLite、稳定溯源、跨轮次/跨会话/跨项目召回
失败行为 非法抽取进入隔离;前台对话继续;坏数据不修补、不入库
宿主支持 DSH/Cordis 原生适配;继续维护 OpenClaw Context Engine 适配

支持 OpenAI-compatible Embedding。没有配置向量时自动降级到 FTS5,不阻塞对话。

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
工具 用途
gm_status 存储、抽取、召回、向量与保留状态
gm_search 显式搜索图记忆
gm_record 确定性写入 TASK、SKILL 或 EVENT
gm_stats 图谱与保留策略回执
gm_maintain 执行一次有界维护
gm_retry_extraction 显式重试待处理或隔离的抽取任务

自动召回不需要工具调用。抽取可通过 GRAPH_MEMORY_LLM_PROVIDER 和 GRAPH_MEMORY_LLM_MODEL 使用独立模型;可选控制项为 GRAPH_MEMORY_LLM_REASONING_EFFORT 与 GRAPH_MEMORY_LLM_MAX_TOKENS。

未指定推理档位时,插件读取模型能力:支持 off 就关闭思考,否则使用宿主声明的第一个档位;无推理能力时不发送该字段。路由或供应商错误保留原始问答为待处理状态,并在日志和 gm_status 中显示具体原因。恢复旧版已隔离记录时,启用 assistantTools: all 后调用 gm_retry_extraction。SQLite 锁等待通过 GRAPH_MEMORY_DB_BUSY_TIMEOUT_MS 配置,默认 5000 毫秒。

openclaw plugins install graph-memory
openclaw plugins enable graph-memory
openclaw gateway restart

在 ~/.openclaw/openclaw.json 激活 Context Engine:

{
  "plugins": {
    "slots": { "contextEngine": "graph-memory" },
    "entries": { "graph-memory": { "enabled": true } }
  }
}

仓库包含实验性的 DSH Pro Lite Host + Client,只读读取 Community SQLite。2D/3D 图工作台、对话分屏与受控拖入上下文仍在规划中。详见 dsh-pro/README_CN.md。

验证与边界

当前 beta 1.6.0-beta.17 已通过 149/149 自动化测试,包含 DSH 0.2.0-rc.2 官方 V4 校验器回归和真实 SQLite 写锁争用。上方 GLM-5.2 的 20 轮结果来自 2026-09-09 的导航升级实验;此次兼容性修复未重新运行该付费实验。

  • 结构化抽取仍依赖模型遵守合同:历史实测 20/20 成功。结构合同错误保持隔离;模型路由和供应商错误保持待处理,修正配置后可显式重试。
  • 召回数量由 Top-K 限制。聚焦问题实测成功;一次包含多个主题的宽查询可能需要提高 Top-K 或拆开提问。
  • 当前发布的是工程工作流实测,不是 LoCoMo/LongMemEval 的通用分数。
  • 本次“轮次摘要 + SPO 导航 + 精确问答事实源”升级的设计、代码落点和移植步骤见 升级与移植指南。

从 benchmarks/dsh-context-takeover/ 复跑。原始对话、供应商响应、本地路径和密钥均未进入仓库。

开发

npm install
npm test
npm run build
npm run verify:package

MIT © 2026 adoresever · 素材与商标说明

内容来自项目 README(GitHub)↗

链接

同类插件

查看整个分类 →

社区评论

评论公开保存在 GitHub Discussions。加载评论会连接 GitHub 和 Giscus;发表内容需要 GitHub 账号。