前言¶
在 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「先試試:演示數據」)。
典型用法¶
- 零準備:只配置
mode: 'on'與bots,默認local,Bot 在對話中調用memory_search、memory_recall等查本機歷史。 - 強化記憶:運行
npx -y javmem-mcp setup生成plugin-config.json,在插件配置中指定configFile,併爲 Bot 設置backend: memv2/graphiti/full。 - 讓 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