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
羽毛球分组比赛记分
小程序二维码

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

小夜