前言¶
在 DeepSeek Harness(DSH)裏跑智能體時,會話上下文會隨窗口關閉而消失;不少產品的「記憶」又落在廠商側,難以導出、難以 diff,換工具往往要從頭再來。若你希望記憶留在本機純文本里、多臺設備與多個入口讀同一份數據,並在衝突時顯式報錯而不是靜默覆蓋,可以瞭解社區插件 mesh-memory(倉庫 LanceRingHong/mesh-memory)。它在 DSH 生態裏歸類爲「記憶」,維護者爲 LanceRingHong;SkillHub 目錄頁見 skillhub.cn/plugins/LanceRingHong/mesh-memory。DSH 社區目錄是獨立站點,與 DeepSeek / 幻方無官方從屬關係。
這是什麼¶
mesh-memory 的定位是:給 AI 智能體的共享記憶網——一份 Markdown,多臺設備、多個智能體共用;內容可自主生長,但每一步可審閱。簡介概括爲:File-based cross-device memory and DSH delegation for DeepSeek Harness(Markdown + Syncthing + DSH Remote)。
真源是能直接打開、能 diff 的 Markdown,不依賴向量庫黑盒,也不強制雲端賬號;記憶與行動默認不出你的設備,除非你顯式使用遠程中繼。項目原名 dsh-mesh,自 0.17.0 起對外名稱統一爲 mesh-memory;包名、部分路由與環境變量仍沿用舊標識,數據目錄當前爲 $DSH_HOME/dsh-memory(README 說明後續會一次性遷移)。許可證爲 MIT;運行要求 Node ≥18,README 標註兼容 DSH 0.2.x。
它解決什麼問題¶
主流 AI 工具的「記憶」常見問題是:存在廠商服務器、不能導出、看不見記住了什麼、換工具就重來。
mesh-memory 把記憶寫成一張張 Markdown 卡片,放在你自己的目錄裏:
- 誰來讀都行:DSH 插件、MCP、CLI(
mm)、HTTP 四種入口讀同一份文件; - 誰來寫都行:人與智能體改同一批
.md,frontmatter 的checksum做樂觀鎖,衝突返回 409 而不是靜默覆蓋; - 怎麼同步:Syncthing 只搬字節,衝突副本(如
.sync-conflict-*)留給上層在界面裁決; - 怎麼生長:會話結束或空閒約 5 分鐘可自動生成摘要草稿進本機收件箱(接受前不參與召回),
mesh-*技能負責反思、去重、體檢、整理。
它不是向量庫、不做雲服務、不同步原始會話日誌(單寫者會衝突)、不替上游做賬號與中繼。
核心功能¶
下面只列 README 中已說明的能力。
記憶與召回¶
| 能力 | 說明 |
|---|---|
| 記憶 CRUD | 新建 / 編輯 / 歸檔 / 軟刪除(.trash/)/ 恢復,帶 checksum 樂觀鎖 |
| 記憶格式 v2 | permalink、checksum、source、agent、status、validAt / invalidAt / supersededBy 等 |
| 自動召回 | 每輪 BM25 + baseline + wikilink 1 跳,注入 <mesh-memory> 上下文,帶預算與去重 |
| 無感記錄 | 會話結束或空閒 5 分鐘生成摘要草稿進收件箱,審閱接受後才參與召回 |
| 生命週期 | active / archived / superseded / draft;歸檔與過期保留原文 |
維護相關技能包括:mesh-capture、mesh-reflect、mesh-curate、mesh-defrag、mesh-doctor、mesh-onboard、mesh-continue。
跨設備與任務¶
- 記憶同步:Syncthing 同步共享目錄;
- 行動委託:通過 DSH Remote 使用
mesh_run/mesh_read/mesh_interrupt及文件傳輸;任務有 id / 狀態 / 結果 / 取消,隨共享目錄同步; - 備份:本機 git 快照(如
$DSH_HOME/dsh-mesh-backups.git),不進同步目錄。
多入口與界面¶
架構上:入口層(DSH 插件、MCP、CLI、HTTP)→ 核心(store、recall、query、tasks、maintenance、capture 等)→ 真源(memory/<collection>/*.md、sessions/、tasks/ 等)→ 投影索引(可刪、可重建)→ 同步(Syncthing、DSH Remote、本機 git)。
Web 客戶端提供共享庫、召回測試、活動、拓撲、任務、設置等視圖。開發排障可訪問 http://127.0.0.1:8767/,README 明確該地址僅開發用,不是產品入口;DSH 桌面端「記憶」等應用內嵌形態在路線圖中仍在演進(S4 等階段)。
DSH 會話內可用的工具包括 mesh_status、mesh_memory_*、mesh_run 等;MCP 位於 adapters/mcp-server.mjs;CLI 爲 bin/mm.mjs;HTTP 由 bin/mm-serve.mjs 提供 REST + SSE。寫操作要求 x-mesh-action: 1 且同源,服務只綁回環。
安裝與啓用¶
官方 README 的安裝方式是通過倉庫內的 PowerShell 腳本寫入 DSH profile(建議先備份,腳本支持 -Rollback),不是憑插件名拼接 dsh plugin add github:...。在克隆或解壓到本地的倉庫根目錄下執行:
pwsh -NoProfile -ExecutionPolicy Bypass -File .\install.ps1 -Profiles desktop
可選:啓動 Web 客戶端(插件內也會託管一份構建產物):
npm run serve
默認開發服務爲 http://127.0.0.1:8767/。客戶端源碼在倉庫外的 client/(Vite + React),構建輸出到 plugin/public,隨 install.ps1 一併安裝。
驗證可運行:
npm test
典型用法¶
記憶卡片格式¶
新建或編輯記憶時,frontmatter 需符合 v2 約定,例如:
---
title: 家裏網絡是 iKuai,網關 192.168.9.1
description: 一句話說清結論(檢索主要靠這行)
kind: facts
memoryType: reference
tags: [network, home]
device: mate-book-gt-14
agent: dsh-desktop
permalink: 家裏網絡是-ikuai-網關-192-168-9-1
checksum: 3d1f8c2a
status: active
createdAt: 2026-11-01T10:00:00+08:00
updatedAt: 2026-11-01T10:00:00+08:00
---
正文……
正文中的 [[wikilink]] 會進入關係圖;supersededBy / invalidAt 用於表達過時但不刪。
CLI 與 MCP¶
腳本與運維可走 CLI:
npm run mm -- search …
任意 MCP 客戶端可啓動:
npm run mcp
(即 node adapters/mcp-server.mjs。)
召回復現¶
Web 召回測試臺支持深鏈 #/recall?q=你的問題,便於把某次召回原樣發給他人復現。
適用場景與注意¶
適合誰:需要在 DSH 與其它 MCP/CLI 客戶端之間共享同一套可審閱記憶;有多臺設備並通過 Syncthing 同步目錄;希望跨設備派發任務並經由 DSH Remote 回收結果的用戶。
安全與邊界(來自 README):HTTP 只監聽迴環;寫操作需自定義頭與同源校驗;文件傳輸限定在配置根目錄內,拒絕密鑰/憑據類文件;遠程內容當不可信數據處理;記憶默認不出本機/局域網,出網需顯式啓用 Remote 中繼。
安裝前務必知曉:插件在 DSH 進程權限下運行,安裝前應自行閱讀 GitHub 源碼 與 MIT 許可證,確認腳本與同步範圍符合你的安全策略。Syncthing 衝突不會自動合併,需要你在界面或流程中裁決。
結尾¶
mesh-memory 把智能體記憶落在 Markdown 真源上,用 Syncthing 做字節同步、用 DSH Remote 做跨設備行動,並用 checksum 與審閱流程控制「自主生長」。若你在 DSH 生態裏做長期、可遷移、可 diff 的記憶,可從目錄頁與倉庫 README 的快速開始步驟入手。