viya-memory:DeepSeek Harness 的本地長期記憶插件

前言

DeepSeek Harness (DSH) 的設計理念是「一切皆插件」。在開發智能體或使用 DSH 進行對話時,對話上下文有限,長期記憶是剛需。viya-memory 是一個 DSH host 插件,它不依賴外部數據庫,而是將記憶實體化爲 Markdown 文件,直接存儲在你本地的 Obsidian vault 裏。這意味着數據完全屬於你,且天然支持 Obsidian 的圖譜、雙向鏈接和搜索功能。

插件簡介

viya-memory 是一個單文件、零構建、零外部依賴的插件(僅依賴 DSH 自帶的 @deepseek-ai/schemastery)。它提供七個模型可調用的工具,將卡片以 Markdown + YAML frontmatter + 雙鏈的形式落盤。作者爲 MengXinSu,許可證爲 MIT。

安裝與啓用

在終端中執行以下命令安裝:

dsh plugin --profile <你的 profile 名> add github:MengXinSu/dsh-viya-memory

安裝完成後,必須配置 library 路徑,否則第一次調用工具時會直接報錯。host 插件改動後,需要重啓 DSH 才能生效。

配置

在 DSH 的 profile 配置文件(通常是 cordis.patch.yml)中添加如下配置:

- id: viya-memory
  name: viya-memory
  config:
    # 必填:你的 Obsidian vault 絕對路徑
    library: '/home/you/Obsidian/MyVault'      # Windows: 'D:\Obsidian\MyVault'
    # 可選:常駐 prompt 文件,默認回落到 <vault>/user.md
    userFile: ''
    # 正文軟限(字),超了只提示
    softLimit: 1000
    # 正文硬限(字),超了報錯
    hardLimit: 4000
    # 檢索結果總字符預算
    searchBudget: 2000
    # 是否開啓敏感掃描(默認 true)
    sensitiveScan: true

核心能力

插件提供七個核心工具,覆蓋記憶的增刪改查與關係管理:

  1. memory_save:新建記憶卡片。同名卡若內容高度重合則跳過,否則追加更新。正文中的本地圖片會自動搬運至 _assets/ 目錄。
  2. memory_search:全文檢索。支持空格/通配符,返回標題、路徑、標籤和摘要。
  3. memory_read:讀取卡片全文、狀態、更新時間和引用關係。
  4. memory_update:更新指定卡片的內容、標籤、狀態等,保留 created 時間。
  5. memory_link:建立兩張卡片的關係(如 causes、explains)。雙向寫入,確保兩邊都有鏈接。
  6. memory_forget:刪除記憶。兩步操作:先預覽(confirm: true 才執行),支持軟刪進 _trashed/ 或永久刪除。
  7. memory_stats:體檢庫狀態,包括卡數分佈、超長卡、死鏈、重名卡等。

此外,插件具備以下特性:
* 原子寫入:使用臨時文件 + 重命名機制,保證數據一致性。
* 不覆蓋手改:寫入前比對文件的 mtime,防止被舊內容覆蓋。
* 自動補全:自動爲卡片補充 aliases,確保 [[卡片標題]] 在 Obsidian 中可正常解析。
* 安全防護:寫入前掃描密鑰特徵(拒絕入庫),並拒絕路徑穿越攻擊。

典型用法

在配置好 library 後,可以在 DSH 的 prompt 或腳本中調用這些工具。

1. 常駐 Prompt 配置
在 vault 根目錄編寫 user.md,插件會將其內容注入 system prompt 末尾。這裏適合放置稱呼、禁忌、偏好等低頻變化的內容。

2. 記憶存儲與搜索

- id: viya-memory
  config:
    library: '/path/to/vault'
  tools:
    # 保存一條新知識
    - memory_save(title: "DSH 插件開發規範", content: "必須配置 library 路徑...", kind: "Knowledge")

    # 搜索相關記憶
    - memory_search(query: "DSH 配置", limit: 5)

3. 管理關係

    # 建立兩張卡片的關聯
    - memory_link(source: "DSH 插件開發規範", target: "viya-memory 插件", type: "part_of")

注意事項

  • 首次調用報錯:確保 library 路徑配置正確,否則插件無法初始化。
  • 權限與重啓:插件以當前 DSH 進程的權限運行,修改配置後需重啓 DSH。
  • 限制說明:正文軟限 1000 字,硬限 4000 字;搜索預算默認 2000 字符。
  • 依賴項:插件依賴 DSH 內置的 @deepseek-ai/schemastery。

結語

viya-memory 將 AI 的短期記憶轉化爲持久的本地文件,適合需要長期沉澱知識、且注重數據隱私和本地可控性的開發者。所有代碼開源在 GitHub,歡迎查看。

GitHub 倉庫

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

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

小夜