qq-memory:DeepSeek Harness 的长期记忆与遗忘曲线插件

前言

DeepSeek Harness(DSH)支持通过插件扩展能力,但默认没有长期记忆机制。如果需要在多轮对话中保留上下文,或者让智能体记住用户的长期偏好,通常需要自己实现存储与检索逻辑,工作量不小。针对这个场景,qq-memory 插件提供了一套完整的长期记忆与遗忘曲线方案:让 AI 自主决定记什么、什么时候回忆、什么时候遗忘,并把不重要的记忆过滤掉,从而减少不必要的 token 消耗。

插件概览

qq-memory 是一个通用的 DSH 长期记忆插件,由维护者 ZSF-2026 开发,分类为「记忆」。它为 DSH 应用(聊天机器人、助手、Agent 等)提供跨会话记忆能力,并利用艾宾浩斯遗忘曲线让旧记忆自然淡出,避免在 prompt 中反复注入无用信息。

核心功能

  • 长期记忆与遗忘曲线:每条记忆有强度,按指数衰减公式 R = e^(−Δt / (strength × τ)) 估算保持率;强度越高的记忆越难被遗忘,久未提及的记忆会逐渐降低。
  • 自动注入与 token 节约:每次模型调用前,只把「尚未遗忘、按权重排序」的记忆拼进 system prompt,超过最大条数或长度的记忆会被截断,降低 token 消耗。
  • 按会话隔离:全局记忆(角色设定、长期偏好)所有会话共享;会话记忆按 session 隔离,互不串扰。
  • 工具化接口:提供 qq_memory_remember(添加记忆)、qq_memory_recall(按关键词回忆并复习)、qq_memory_forget(主动遗忘)、qq_memory_list(列出尚未遗忘的记忆)四个工具,供 AI 调用。
  • 零外部依赖:唯一依赖 @deepseek-ai/schemastery(DSH 自带),存储使用 Node.js 内置 fs,落盘为单个 JSON 文件。

安装与启用

插件发布到 npm 后,可通过以下命令安装:

dsh plugin --profile web add qq-memory

安装完成后重启 DSH(例如 dsh web)即可生效。本地开发或试用时,也可以通过 link 方式引入:

dsh plugin --profile web add -w link:/path/to/qq-memory

配置参数

可在 DSH 设置面板的 qq-memory 命名空间里修改,或通过环境变量覆盖。主要参数如下:

参数 默认 说明
tauDays 7 遗忘半衰期(天),值越大遗忘越慢
threshold 0.15 遗忘阈值:保持率低于此值即视为「已遗忘」
boost 1.5 每次回忆时的强度放大系数
maxItems 10 注入上下文的最大记忆条数
maxChars 200 单条记忆注入的最大字数

对应环境变量:QQ_MEMORY_TAU_DAYS / QQ_MEMORY_THRESHOLD / QQ_MEMORY_BOOST / QQ_MEMORY_MAX_ITEMS / QQ_MEMORY_MAX_CHARS。

存储位置

默认存储路径为 ~/.dsh/qq-memory/memories.json,可通过环境变量 QQ_MEMORY_DIR 覆盖,便于测试与迁移。

典型用法

在 DSH 的对话或工具定义中,可以通过工具调用实现记忆的增删查:

  • 记住一条长期记忆(含内容、重要性、标签):
  • 调用 qq_memory_remember,传入 content、importance(影响初始强度)和 tags。
  • 插件会自动去重相似内容并合并记忆。

  • 按关键词回忆记忆:

  • 调用 qq_memory_recall,传入关键词。
  • 命中的记忆会被「复习」,强度增加、时间戳刷新,使其忘得更慢。

  • 主动遗忘一条过时记忆:

  • 调用 qq_memory_forget,传入记忆 ID。

  • 列出当前尚未遗忘的记忆:

  • 调用 qq_memory_list,返回尚未遗忘的记忆列表,包含 id、内容和标签。

适用场景与注意事项

该插件适合需要跨会话记忆的 DSH 应用场景,例如:

  • 需要记住用户长期偏好的助手或客服机器人。
  • 需要维护角色设定与历史上下文的 Agent。
  • 需要在对话中引用过往关键信息的聊天机器人。

注意事项:

  • 插件以当前 DSH 进程的权限运行,安装前应检查源码与许可证。
  • 记忆存储为本地 JSON 文件,需确保运行目录有写入权限。
  • 插件依赖 @deepseek-ai/schemastery,DSH 已内置该依赖,无需额外安装。

结语

qq-memory 让 DSH 应用具备长期记忆与按需回顾的能力,同时通过遗忘曲线自动过滤低价值记忆,帮助节省 token。如果你正在构建需要记忆功能的智能体或助手,可以考虑引入这个插件。了解更多细节,可访问插件目录页或查看 GitHub 仓库。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜