javmem-dsh-plugin:为 Tobs Bot 挂上只读记忆工具

前言

在 DeepSeek Harness(DSH)里用 Tobs 养多个 Bot 时,常见问题是:每个 Bot 只活在当前会话里,上一轮聊过什么要靠你反复交代。社区里也有记忆类插件,但不少要单独搭服务、配令牌,或者给每个 Bot 接一张私有 MCP 卡片。javmem-dsh-plugin 面向「列出名字的 Bot」:装上并在配置里打开后,从下一次会话起挂上只读记忆工具;默认走本机零准备模式,不另起服务;若你已在跑 memv2 与 Javis(Graphiti),可用同一套工具名切换后端,无需 per-Bot 私有 MCP 卡片。

这是什么

javmem-dsh-plugin(npm 包名 javmem-dsh-plugin,当前版本 0.4.0,MIT 许可证)由维护者 xuxiaoxiang0721-tech 发布,分类为「记忆」。插件把指定 Bot 自己的历史会话建成可检索的记忆:模型只能查、不能写;新对话由 Bot 程序原生打包投递,或由你导入外部历史,不经模型改库。

它不面向「普通 DSH 会话」:只给 Tobs 的 Bot 挂工具。不用 Tobs 的用户可参考 Hindsight、DSH-Mem0、MemOS 等插件。

核心功能

按 Bot 隔离的本地记忆(零准备模式)

在 backend 为 local(默认)时,插件只读 DSH 的 ctx.sessionQuery,把这个 Bot 前台会话里的私信([Human DM])、网页里你输入的字、以及 bot_send_message 的回复写入本机 SQLite 全文索引;系统上下文、工具结果、记忆工具自己的输出不记入,避免「记忆记记忆」。

数据路径默认为 <DSH 主目录>/javmem/local/<Bot 编号>.sqlite,可用 localDir 修改。中文按相邻两字建索引,支持关键词与按人、按时间检索。插件启动后后台建索引;查记忆前若距上次超过一分钟会补录,另有每 10 分钟定时补录。

可选后端:事实库与图谱

需要更强记忆时,可把单个 Bot 的后端换成 memv2(事实)、graphiti(图谱)或 full(两套对照)。B、C、A 仍保留该 Bot 的本地库,新对话补录后会按段送入所选库,并有日 token 上限(图谱侧为 backends.graphiti.dailyTokens)。工具名在本地与全套之间保持一致(如 memory_recall、memory_search 等),换后端时 Bot 规则可不必改。

memv2 与 Graphiti 需自行安装对应服务;README 写明全套目前无公开发布时的前提,并可用 npx -y javmem-mcp setup 交互配置并先报价再写文件。

只读工具与状态

每个列入配置的 Bot 获得一组 MCP 风格记忆工具(名称因 local / memory / memv2 / javis 配置而异,详见仓库 README 表格)。另有 memory_status 汇报库连接、会话条数、排队与耗时等(可通过 statusTool: false 关闭)。

可选 autoRecall:在真人消息进入某一步之前自动做一次 recall,以带 javmem-recall 标记的用户消息插入上下文,默认关闭。

继承与导入

通过 javmem-mcp 的导出提示词或放置 ChatGPT、Claude 等导出的原始会话到 <DSH 主目录>/javmem/inherit/<Bot 名字或编号>/(inheritDir 可改),插件补录时可导入原话。演示模式可将 MEMV2_URL、JAVIS_URL 设为 demo,用包内虚构数据体验双库对照,无需令牌。

插件还向 Cordis 提供 ctx.javmem 服务,供其他插件按 Bot 编号只读查询该 Bot 记忆范围(未列出或插件关闭时拒绝)。

安装与启用

环境:README 要求 DeepSeek Harness 0.2.1-rc.3 以上、1.0 以下(带 Tobs),Node 22.5 以上(可用 DSH 自带 Node)。package.json 中 peerDependencies 与 engines.dsh 与上述 DSH 区间一致;engines.node 为 >=24,安装若遇 Node 版本提示以你本机 DSH 与 npm 校验为准。

安装(三种方式任选其一,命令来自仓库 README):

dsh plugin --profile web add javmem-dsh-plugin
dsh plugin --profile web add https://github.com/xuxiaoxiang0721-tech/javmem-dsh-plugin/releases/latest/download/javmem-dsh-plugin.tgz
dsh plugin --profile web add git+https://github.com/xuxiaoxiang0721-tech/javmem-dsh-plugin.git

也可在 DSH 网页插件页按包名 javmem-dsh-plugin 安装。装好后插件默认关闭,不会自动给任何 Bot 挂工具。

启用:在所用 profile 的 cordis.patch.yml 中按 id javmem 覆盖配置,例如:

- id: javmem
  config:
    mode: 'on'
    bots:
      你的 Bot 名字: {}

DSH 读到变更后,该 Bot 新开会话即带记忆工具;可让 Bot 调用 memory_status 核对条数与配置。

演示双库时可在 env 中设置 MEMV2_URL: 'demo'、JAVIS_URL: 'demo',并在对应 Bot 下使用 memory: {}(完整示例见 README「先试试:演示数据」)。

典型用法

  1. 零准备:只配置 mode: 'on' 与 bots,默认 local,Bot 在对话中调用 memory_search、memory_recall 等查本机历史。
  2. 强化记忆:运行 npx -y javmem-mcp setup 生成 plugin-config.json,在插件配置中指定 configFile,并为 Bot 设置 backend: memv2 / graphiti / full。
  3. 让 Bot 会用工具:将仓库 skills/javmem-memory/ 复制到 DSH 主目录 skills/,或复制到某 Bot 记忆目录下 .dsh/skills/;前台可把 docs/front-rules.md 片段贴入规则或 SOUL.md。

同一套能力也可通过 javmem-mcp 接到 Claude Code 等 MCP 客户端。

适用场景与注意

适合:用 Tobs 维护多个 Bot且希望各 Bot 只记与自己的对话;不想另搭服务、数据留在本机;已运行 memv2 与 Javis、希望用一个插件替代每 Bot 一张 MCP 卡片;强调记忆不被模型或外部指令写入的人。

不适合:不使用 Tobs 的 DSH 用户;只求语义搜索与自动抽事实却不愿上 memv2/Javis 后端的人(零准备模式仅为按词检索原话)。

安全与权限:插件以当前 DSH 进程权限运行,会读本机会话查询服务并写入 javmem 目录下的 SQLite 与继承文件。安装前建议在 GitHub 查看源码与 MIT 许可证,确认 bots 列表只包含你信任的 Bot。社区目录 SkillHub 插件页 与 DeepSeek / 幻方无官方从属关系,仅为社区收录。

结尾

javmem-dsh-plugin 把「列出 Bot → 只读查自己的历史 → 可选接上 memv2 与 Graphiti」收成一条配置链,默认零成本本机可用。若要查看简介与分类,可打开目录页;细节与变更以仓库 README 与 CHANGELOG.md 为准。

  • 目录页:https://www.skillhub.cn/plugins/xuxiaoxiang0721-tech/javmem-dsh-plugin
  • GitHub:https://github.com/xuxiaoxiang0721-tech/javmem-dsh-plugin
羽毛球分组比赛记分
小程序二维码

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

小夜