前言¶
在 DeepSeek Harness(DSH)裏做長期對話或跨設備協作時,上下文往往只活在當前會話裏:重啓、換前端、開新窗口,人設、約定和「上次聊到哪」都要重新交代。有人把記憶寫進本地文件或筆記,但和 DSH 的注入時機、寫回時機對不上,維護成本高。
Get記憶(dsh-get-memory)把「讀什麼、寫什麼」綁到一個你指定的 GitHub 倉庫:對話開始自動拉取倉庫裏的 Markdown 注入上下文,對話結束(在開啓自動寫回的前提下)由插件調用模型提取值得長期保留的信息,按文件寫回並提交。記憶落在 Git 裏,跨設備、跨重啓共用同一份文件。插件由社區維護者 krodon998 發佈,在 DSH 插件目錄中歸類爲「記憶」;當前 npm 包版本爲 0.5.1,許可證 MIT。
下面介紹定位、能力、安裝步驟和配置要點。安裝前請自行查看 GitHub 倉庫 源碼與許可證;插件以當前 DSH 進程權限運行。
這是什麼¶
Get記憶是 DSH 的記憶類插件:名字同時對應「Get 記憶」(取回)和「Git 記憶」(存在 GitHub 倉庫裏)。它適配 DSH 軟件端(桌面應用);網頁界面是軟件端的鏡像,能力跟隨軟件端生效,不提供獨立的 web 插件。
未選擇記憶倉庫之前,插件不注入、也不寫回——默認配置下沒有誤操作風險。
核心功能¶
對話開始:拉取並注入¶
每次新建或恢復會話(agent/created),插件通過 GitHub Contents API 並行拉取倉庫文件,更新內存與磁盤緩存(~/.dsh/cache/aire-memory/snapshot.json),並在組裝模型上下文時注入(默認排序號 injectOrder 爲 100,位於常見運行時上下文之前)。注入內容會做花括號消毒,避免倉庫裏 {{User}} 一類模板語法干擾運行。
拉取失敗時不打斷對話:回退磁盤緩存(標註過期);若無緩存則注入「暫不可用」佔位。
對話結束:提取並寫回(可選)¶
默認 關閉 自動寫回(writebackEnabled: false),以免消耗模型額度。開啓後,在回合停擺約 30 秒(writebackDebounceMs,默認 30000)或會話關閉時,插件用當前會話模型(或配置的提取模型)從近期對話轉錄中提取新信息,對標記爲「讀寫」的文件逐個生成完整內容,先 GET 最新 SHA 再 PUT 提交;409 衝突會重取重試一次。無實質變化則不提交。只對根會話寫回,子代理 / 工作流會話不寫;失敗只記日誌。
文件權限與多文件¶
設置頁可「同步文件列表」,爲每個文件勾選只讀或讀寫:注入讀全部參與列表的文件,寫回僅處理讀寫文件。主賬本默認文件名爲 長期記憶賬本.md(ledgerFile)。空倉庫可在設置頁「一鍵初始化」,由插件創建帶模板的 長期記憶賬本.md,無需在 GitHub 網頁手工建文件。
界面¶
左欄「Get記憶」快捷面板(小心心圖標):查看拉取 / 寫回 / 令牌狀態、立即拉取、自動寫回開關、最近操作記錄。DSH 原生設置頁提供令牌、倉庫單選、文件權限、觸發範圍、檢查更新等;高級項(分支、注入順序、轉錄上限、提取模型等)可在插件完整配置中調整。
安全與令牌¶
GitHub 細粒度 PAT 建議 僅勾選目標倉庫的 Contents 讀寫。令牌查找順序:DSH 憑據庫 AIRE_MEMORY_GITHUB_TOKEN(面板保存,推薦)→ 同名環境變量 → 配置項 githubToken(首次加載可遷移進憑據庫)。令牌只用於你配置的那一個倉庫,且不會寫入倉庫文件;寫回前對內容做密鑰形態脫敏。
安裝與啓用¶
- 安裝插件(插件市場搜索
dsh-get-memory,或執行下列命令):
dsh plugin --profile web add dsh-get-memory
-
在 GitHub 生成細粒度 PAT,僅目標倉庫 Contents 讀寫。
-
打開左欄「Get記憶」面板或設置頁 → 粘貼令牌並保存 → 從列表 單選 一個記憶倉庫。
-
若倉庫爲空,在設置頁點擊「一鍵初始化」。
-
正常聊天即可在對話開始自動讀記憶;需要長期自動沉澱時再打開「自動寫回」。
更換令牌:生成新 PAT → 面板或設置頁保存(或改 ~/.dsh/.credentials.yaml 中 AIRE_MEMORY_GITHUB_TOKEN,重啓 DSH)→ 在 GitHub 作廢舊令牌。
典型用法與配置摘要¶
日常流程即 README「快速開始」:裝好 → 配令牌與倉庫 → 可選開寫回。寫回頻率由 writebackEveryN 控制(默認每 5 條對話一次,設爲 1 則每條都寫);sessionPolicyMode 可選全部會話、排除列表或僅限列表。
常用配置默認值(完整表見倉庫 README):
| 字段 | 默認 | 說明 |
|---|---|---|
repo |
空 | 未配置則不注入不寫回 |
branch |
main |
分支 |
writebackEnabled |
false |
自動寫回 |
writebackEveryN |
5 |
每 N 條對話寫回一次 |
ledgerFile |
長期記憶賬本.md |
主賬本 |
設置頁與面板中多數改動會保存爲運行時覆蓋,即時生效且重啓保留。
適用場景與注意¶
適合:希望記憶與人設、規則放在 GitHub Markdown 中、多設備共用同一份「外置大腦」的 DSH 桌面用戶;能接受爲寫回功能消耗模型調用。
注意:
- 插件目錄站點 skillhub.cn 插件頁 爲社區生態索引,與 DeepSeek / 幻方無官方從屬關係;DSH 本身遵循「一切皆插件」的擴展方式。
- 自動寫回會調用模型做提取,請按需開啓並設置
writebackEveryN。 - 依賴 Node
^22.19.0 || >=24.0.0(見 package.jsonengines)。
結尾¶
Get記憶把 GitHub 倉庫當作 DSH 的可版本化記憶層:開始對話自動讀,結束對話可選寫回,左欄與設置頁完成配置。進一步細節、原理與完整配置字段見 GitHub:krodon998/dsh-get-memory;插件目錄頁:https://www.skillhub.cn/plugins/krodon998/dsh-get-memory。