前言¶
DeepSeek Harness (DSH) 插件生態強調“一切皆插件”。在構建或使用智能體時,長期記憶的留存與檢索是常見痛點。向量數據庫往往需要額外部署,託管服務涉及數據所有權,而會話蒸餾插件通常侷限於單次會話或難以手動干預。
dsh-markdown-memory 試圖解決上述問題,它將長期記憶降維爲一個普通的 Markdown 文件夾,讓所有熟悉文件操作的開發者都能直接掌控記憶的存儲與讀取。
核心功能¶
該插件將記憶目錄掛載爲系統提示的一部分,每個持久化事實對應一個 Markdown 文件,通過 YAML frontmatter 存儲元數據。
- 零基礎設施:無需守護進程、數據庫、賬號或嵌入管道。直接指向一個文件夾即可運行。
- 人類擁有:記憶以純文本形式存儲。你可以直接讀取、編輯、執行
git diff或刪除,記憶的所有權完全屬於你。 - 代理無關:基於文件格式而非橋接協議。任何能讀取文件的代理都能訪問這份記憶,無需遷移數據。
- YAML frontmatter 支持:支持
name、description和自定義metadata。 - 索引文件支持:默認
MEMORY.md作爲索引文件,記錄所有記憶。 - 遞歸文件列表:支持遞歸列出目錄下的文件。
- 觸發器檢索:支持在會話步驟中根據關鍵詞(trigger)按需召回記憶。
- 會話種子記憶:支持在會話開始時注入關鍵事實。
- 去重機制:在會話日誌中自動去重,避免重複注入。
- Obsidian 掛載:可以直接掛載現有的 Obsidian vault 作爲記憶源。
- 忽略模式:支持通過
.obsidian、.git、.trash、node_modules等忽略模式過濾文件。
安裝與啓用¶
在終端中執行以下命令安裝插件:
dsh plugin --profile <name> add dsh-markdown-memory
安裝後,需要在配置文件中指定記憶目錄的絕對路徑。配置項包括 path、indexFile、maxBytes、sectionOrder 以及控制遞歸和文件數量的參數(如 maxFiles、maxDepth)。
典型用法¶
配置示例¶
在 cordis.patch.yml 中添加配置,指定記憶目錄路徑:
- id: markdown-memory
name: dsh-markdown-memory
config:
path: /absolute/path/to/your/memory
indexFile: MEMORY.md
maxBytes: 32768
sectionOrder: 120
recursive: true
ignore: ['.obsidian', '.git', '.trash', 'node_modules']
maxFiles: 500
maxDepth: 8
recall: true
maxRecallPerStep: 3
caseSensitiveTriggers: false
掛載 Obsidian Vault¶
如果你已有 Obsidian vault,可以直接將其作爲記憶源掛載:
- id: markdown-memory
name: dsh-markdown-memory
config:
path: /absolute/path/to/YourVault
indexFile: Home.md
模型將獲得 vault 的根目錄索引以及所有筆記的相對路徑,支持使用 [[wikilink]] 進行引用。
設置種子記憶¶
對於需要在會話開始時即持有的關鍵事實,可在文件 frontmatter 中添加 seed: true:
---
name: deploy-ritual
description: the release steps that must not be reordered
metadata:
seed: true
---
Never reorder the migration step ahead of the backup step.
設置觸發器¶
對於需要按需檢索的記憶,可在 frontmatter 中定義 triggers:
---
name: deploy-ritual
metadata:
triggers:
- deploy
- release checklist
---
Never reorder the migration step ahead of the backup step.
注意事項¶
- 絕對路徑:記憶目錄必須配置絕對路徑,缺失或非目錄會導致加載失敗。
- 會話刷新:對索引文件或記憶文件的編輯,在下次會話開始前不會生效,需要重啓會話才能看到變更。
- 大倉庫優化:對於包含大量文件的 vault,建議同時調高
maxFiles和maxBytes參數,以容納完整的文件列表。 - 文件類型限制:只有
.md文件會被列入索引,其他文件類型(如附件)會被忽略。 - 觸發器匹配:觸發器匹配爲字面子串匹配,默認不區分大小寫。
總結¶
dsh-markdown-memory 將記憶迴歸爲文件系統中的文件。它不引入額外的複雜組件,利用現有的文件管理習慣,讓記憶的存儲、編輯和版本控制變得透明且可控。對於追求數據自主權和輕量化部署的開發者,這是一個務實的長期記憶解決方案。
插件目錄:https://www.skillhub.cn/plugins/SYMlp/dsh-markdown-memory
源碼地址:https://github.com/SYMlp/dsh-markdown-memory