前言¶
在 DeepSeek Harness(DSH)裏跑智能體,常見問題是上下文一關,偏好、項目約定和上一輪結論就丟了。有人靠每次手動貼 system prompt,有人把筆記散在倉庫各處,模型讀不到、也缺少「讀完該寫回哪裏」的約束。DSH 社區把能力拆成插件掛進 profile;下面介紹維護者 pzh-xsj 的 dsh-memory-with-soul(分類:記憶),用純 Markdown + git 建記憶庫,在會話開始注入、讀文件時追蹤、回合結束提醒提煉,不依賴數據庫或雲服務。
這是什麼¶
dsh-memory-with-soul 是面向 DSH 的長期記憶庫插件:會話開始時按 ~/.memory/config.json 的注入表把記憶拼成 <memory-context> 注入上下文;Agent 通過 read / ops_read_files 讀記憶庫文件時會被記下;回合結束時判斷是否有「該提煉但未寫日誌」的情況並提醒寫回文件。人格(角色卡)是一份 SOUL.md,改文件而不是改一堆配置項。當前 package 版本爲 0.7.0,許可證 MIT。倉庫:https://github.com/pzh-xsj/dsh-memory-with-soul;社區目錄頁:https://www.skillhub.cn/plugins/pzh-xsj/dsh-memory-with-soul(獨立站點,與 DeepSeek / 幻方無官方從屬關係)。
核心功能¶
三個生命週期掛點¶
| 時機 | 動作 | 實現位置(資料原文) |
|---|---|---|
| 會話開始 | 讀注入表,渲染並注入 <memory-context> |
core/render.py → agent.inject() |
| 讀文件 | 記錄被讀的記憶庫文件 | core/memory.py track |
| 回合結束 | 判斷是否需要提醒提煉 | core/memory.py digest |
插件加載時還會把包內 skills/ 複製到 ~/.dsh/skills/(非軟鏈;內容變化後下次加載會刷新)。
記憶庫目錄¶
總冊默認在 ~/.memory/:
~/.memory/
├── config.json # 注入表:文件、預算、順序
├── index.md # 總覽
├── README.md # 給 AI 的保存/提煉/遺忘協議
├── roles/<role>/SOUL.md # 角色卡
├── playbooks/ # 跨項目方法論
├── topics/ # 單文件主題
├── user/ # 用戶檔案與偏好
├── agents/ # agent 註冊表
├── archive/ # 歸檔(設置頁只讀)
└── .state/ # 運行時狀態(gitignore)
項目級記憶在各工作區的 .memory/;每日日誌形如 log/<agent>/YYYY-MM-DD.md,插件從 cwd 向上找 _meta.md 定位項目冊。
設置頁與配置¶
重啓 DSH 後側邊欄會出現「記憶庫」,共七個頁籤;內置 Web UI 路由爲 /api/memory/ui(可通過 webUi 關閉)。在 profile 的 cordis.patch.yml 裏對 memory-inject 那一行做 整行覆蓋(不深合併),常用鍵包括:
| 鍵 | 默認 | 作用 |
|---|---|---|
enabled |
true |
關閉插件設爲 false |
python |
["python","python3","py"] |
解釋器候選;含路徑分隔符則按絕對路徑檢查 |
injectSubagents |
false |
子 agent 是否也注入(默認省 token) |
trackAccess |
true |
是否記錄讀過的記憶文件 |
digest |
true |
回合結束是否做提煉提醒 |
installSkills |
true |
加載時是否複製 skills |
timeoutMs |
10000 |
渲染器超時(毫秒) |
Python 不在 PATH 時,可在 python 候選裏寫絕對路徑。
安裝與啓用¶
裝之前確認依賴:DSH >=0.1.0-rc.1 <0.3.0,Node.js >=22,Python >=3.10(核心邏輯在 core/memory.py,不是可選項)。
# 1. 安裝插件(profile 名按實際修改;示例爲 desktop)
dsh plugin --profile desktop add dsh-memory-with-soul
# 2. 首次使用:初始化記憶庫(不 init 則只有空人格,插件仍可工作)
python ~/.dsh/profiles/desktop/node_modules/dsh-memory-with-soul/core/memory.py init
裝好並 重啓 DSH 後,新會話開頭會出現 <memory-context> 塊。Windows 上第 2 步路徑爲 %USERPROFILE%\.dsh\profiles\desktop\node_modules\dsh-memory-with-soul\core\memory.py,或按設置頁裏的路徑提示操作。
典型用法¶
- 執行上面的安裝與
init,用 git 管理~/.memory/(資料推薦可單獨版本化、手動編輯、換機帶走)。 - 在
roles/<role>/SOUL.md寫角色卡;在user/、topics/、playbooks/等目錄按 README 協議維護內容。 - 在項目工作區維護
.memory/與每日日誌;回合結束時按插件提醒把結論寫回 Markdown。 - 需要自檢時,可在插件包目錄運行 README 中的 smoke / test 命令,或對真庫執行:
python core/memory.py checkup
適用場景與注意¶
適合誰: 希望 DSH 智能體跨會話記住偏好與方法論、又希望數據留在本地 Markdown、可用 git diff 審計的開發者。
邊界(資料原文): 設置頁主要讀寫總冊;項目冊有獨立頁籤,日誌落在項目 .memory/。archive/ 只讀,歸檔用於保留「當時爲何如此決定」。config.roles 決定運行中的 agent 用哪張角色卡,defaultRole 僅兜底且兜底可讀不可寫。DSH 是唯一支持的宿主;舊版 WorkBuddy 適配器已在 0.6.5 移除。
安全與權限: 插件隨當前 DSH 進程權限運行,會讀寫 ~/.memory/、工作區 .memory/ 及 profile 配置。安裝前請閱讀倉庫源碼與 MIT 許可證,確認路徑與注入內容符合你的環境策略。
結尾¶
dsh-memory-with-soul 把長期記憶落成 Markdown + git:會話注入、讀文件追蹤、回合結束提煉提醒,側邊欄「記憶庫」統一管理。若要進一步瞭解參數與自檢清單,以 GitHub README 爲準。
- 目錄頁:https://www.skillhub.cn/plugins/pzh-xsj/dsh-memory-with-soul
- 源碼:https://github.com/pzh-xsj/dsh-memory-with-soul