SoloPup Memory:帶來源鏈路的 DSH 文字記憶插件

前言

在 DeepSeek Harness(DSH)裏做多輪對話或跨會話開發時,模型上下文會滾動、壓縮,用戶明確說過的偏好、項目決定和可查證線索很容易在後續輪次裏丟失。常見做法是手寫 MEMORY.md 或靠系統提示堆疊,但這類做法往往缺少「原話歸屬」、項目邊界和「舊約定被新約定取代」的可審計關係,助手也容易把猜測寫成已確認事實。

SoloPup Memory(npm 包名 solopup-memory)是 OakcoderX 維護的記憶類 DSH 插件,公開測試版、MIT 許可。它把用戶明確表達的長期偏好、項目決定、可查證線索和暫定信念保存下來,並在後續對話中按項目與適用條件檢索;當前發行版本只處理文字,尚未通過穩定版驗收。

這是什麼

插件在 DSH 生態中的定位是:帶來源綁定的分層文字記憶。簡介原文爲:Source-linked text memory for DeepSeek Harness (DSH). 保留原話來源、項目邊界與修訂歷史的文字記憶插件。Public beta · MIT。

維護者:OakcoderX。社區目錄頁:https://www.skillhub.cn/plugins/OakcoderX/solopup-memory 。源碼與文檔:https://github.com/OakcoderX/solopup-memory 。當前 package 版本爲 0.21.0-beta.4,以 npm beta 標籤與 GitHub 發行頁爲準。

核心功能

寫入與審查流程

工作過程可以概括爲四步:

  1. 從本會話已接收的用戶消息提出候選,並綁定原話引用。
  2. 獨立檢查持久價值、歸屬、措辭、認識類型、適用條件、信念歸屬和修訂關係;審查不能改寫候選。
  3. 通過檢查後才發佈到有效記憶;明確拒絕的不寫入;無法判斷的可留在不自動注入的待審區。
  4. 後續對話自動得到受預算限制的索引;檢索同時查當前項目與全局庫,結果標明歸屬。其他項目不會因此自動變成當前項目的記憶。

用戶明確要求記住持久信息時,插件指令要求本輪使用正式 memory_write,等待實際結果再確認,不等待後臺整理。默認每四輪嘗試一次後臺整理。主動 memory_write 也經過來源審查。pending-review、rejected、not-applied 都不表示已經記住。

記憶的層次

層次 內容與用途
來源 用戶原話與消息身份;工具觀察另帶當時輸出的核對證書
候選 尚待判斷的解釋;待審內容不進入常規有效記憶
有效記憶 全局個人約定或當前項目內容,帶條件、例外及可選期限
修訂歷史 解釋舊值與新值的關係;舊值不能繼續冒充當前默認值
認識狀態 偏好、決定、未覈實主張、暫定信念、價值取向、查證入口和經歷分別表示

改同一條約定的值時,supersedes 指向唯一現行舊行;改變歸屬或邊界時使用完整重述路徑 revisionMode=replace,由本輪用戶來源支持全部新內容。

檢索與隱私相關行爲

對外暴露的工具包括 memory_search、memory_write、memory_forget、memory_status 等(具體以插件在 DSH 中註冊的契約爲準)。

普通 memory_search 默認隱藏已識別的生日、性別、健康、親密關係和私人聯繫方式;用戶詢問相關資料時,需明確使用 includePrivate: true。主題文件含有未分段的敏感內容時,普通搜索會保守跳過整個主題文件。

當前檢索使用中英文詞元及精確匹配,沒有向量檢索,不保證跨語言或同義表達的召回。

存儲

Markdown 索引和主題正文便於閱讀;來源、候選、歷史與調用記錄使用有格式校驗的本地賬本;獨立 SQLite 控制庫維護受管身份、撤回和協調狀態。文檔強調:不要只備份 Markdown 就認爲已完整備份系統。

安裝與啓用

使用 DeepSeek Harness 官方插件管理器安裝。代碼爲可直接執行的 ESM,無安裝時構建腳本,也不需要 npm 賬戶。以下以 desktop profile 爲例。

dsh plugin --profile desktop add solopup-memory@beta --ignore-scripts

beta 標籤跟隨已公開並完成下載覈驗的測試版。需要固定版本時,可從發行頁選擇準確版本號,例如:

dsh plugin --profile desktop add solopup-memory@0.21.0-beta.3 --ignore-scripts

Git 安裝示例(標籤可換爲發行頁完整提交 SHA):

dsh plugin --profile desktop add github:OakcoderX/solopup-memory#v0.21.0-beta.3 --ignore-scripts

已安裝舊名 dsh-memory 時,應先完整備份、關閉使用該庫的宿主,用官方管理器移除舊包,再安裝新包;不要同時啓用兩個記憶插件。新名字繼續使用原記憶庫和控制格式。

重啓該 profile 的宿主後,用 memory_status 覈查插件版本、全局/項目狀態及捕獲診斷。

卸載命令:

dsh plugin --profile desktop remove solopup-memory

卸載保留記憶數據;重新安裝同一位置的數據仍需通過身份與格式檢查。

可在 DSH 插件頁啓用 Custom plugin markets,Discover → Add index source,導入自託管市場源(非 DSH 默認內置,不表示官方審覈或推薦):

https://raw.githubusercontent.com/OakcoderX/solopup-memory/main/market/index.json

典型用法與驗收

README 指向新用戶文檔:docs/guides/quickstart.md、虛構試用案例 docs/README.md、docs/faq.md。本地可復現的驗收步驟包括:

  1. 安裝並重啓 desktop profile 宿主。
  2. 調用 memory_status 確認版本與庫狀態。
  3. 在用戶明確授權的前提下,通過對話觸發或直接使用 memory_write 寫入;在新會話中檢索,覈對歸屬與項目範圍是否符合預期。

備份與恢復使用安裝目錄中的腳本(須先關閉使用該記憶庫的全部宿主;備份目標必須是不存在的新目錄):

node /absolute/plugin/scripts/backup.mjs create --root /absolute/memory --to /absolute/new-backup
node /absolute/plugin/scripts/backup.mjs verify --snapshot /absolute/new-backup
node /absolute/plugin/scripts/backup.mjs restore --root /absolute/memory --snapshot /absolute/new-backup

恢復默認只預覽;覈對後加 --apply --reviewed HASH 執行。

適用場景與注意

適合誰: 需要在 DSH 中長期保留「誰說的、適用於哪個項目、在什麼條件下成立、後來被什麼取代」的文字約定,並願意接受公開測試版限制與人工抽查原話來源的開發者。

權限與安全: 插件以當前 DSH 進程權限讀寫本地記憶庫;安裝前應閱讀源碼、LICENSE(MIT)及 SECURITY.md。個人資料規則是降載保護,不是完整隱私分類器;memory_forget 表示停止使用索引條目,不表示徹底刪除個人信息;撤回不承諾清除原始對話、遠端服務或外部備份。

已知邊界(資料原文):

  • 模型可能漏記、誤判或錯誤概括;重要決定應查原話與來源。
  • 無向量檢索;驗證環境文檔寫明爲 macOS、DSH 宿主 Node 24,其他平臺以發行驗收清單爲準。
  • 用戶單條消息的完整來源窗口目前上限爲 2000 字符;超長消息不從前半段建立記憶。

記憶不構成發郵件、購買、刪除或發佈的操作授權。

結尾

SoloPup Memory 把 DSH 裏的文字記憶做成帶來源、分層與修訂歷史的本地庫,並區分全局與項目範圍,適合在公開測試階段自行安裝驗證。目錄頁:https://www.skillhub.cn/plugins/OakcoderX/solopup-memory ;GitHub:https://github.com/OakcoderX/solopup-memory 。

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

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

小夜