dsh-markdown-memory:基於文件夾的 DeepSeek Harness 長期記憶插件

前言

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

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

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

小夜