DeepSeek Harness 記憶插件:持久化、可檢索的項目上下文

前言

在使用 DeepSeek Harness (DSH) 開發智能體時,如何讓 Agent 在長對話中記住決策、保持規則一致性,以及如何在多輪請求中維護項目上下文,是常見的技術痛點。手動維護記憶文件或依賴不穩定的對話歷史往往難以滿足生產環境的需求。

dsh-memory 插件爲 DSH 提供了持久化、可檢索的項目級記憶解決方案。它將決策、架構筆記、衝刺目標和會話摘要存儲在本地 DuckDB 數據庫文件中,並通過 Web Client 提供完整的管理界面,確保規則和上下文在每個模型請求中通過系統提示注入,始終生效。

插件簡介

該插件由 navid-kianfar 維護,採用 MIT 開源協議。它爲每個 DSH 項目創建一個獨立的 DuckDB 文件(位於 <project>/.dsh/memory.db),用於存儲各類記憶數據。Web Client 提供了專門的 Memory 標籤頁,允許開發者對記憶進行搜索、篩選、編輯和導入導出。

核心功能

1. 記憶管理與檢索

Web Client 的 Memory 標籤頁集成了記憶管理的核心功能:
* 多維度搜索:支持語義搜索(配合 Embeddings)和關鍵詞搜索(BM25F)。
* 狀態篩選:支持按 Active(活躍)、Archived(歸檔)、Expired(過期)等狀態篩選記憶。
* 操作面板:提供新建記憶、新建規則、導入指令文件、導出 JSON 以及重建向量索引等操作。
* 會話歷史:展示最近 50 條記憶會話的摘要及讀寫統計。

2. 規則強制注入

規則通過系統提示注入,而非普通消息。這意味着對規則的修改會在模型處理下一個請求時立即生效。
* 衝突優先級:當 Agent 錄入的規則與用戶規則衝突時,用戶規則優先。
* 實時編輯:在界面上直接編輯規則,無需重啓服務或修改配置文件。
* 文本預覽:提供開關查看模型實際接收到的規則塊文本,確保注入格式正確。

3. 會話上下文

插件爲頂級智能體(Top-level agents)維護獨立的會話上下文:
* 在會話開始時,模型會接收最後的會話摘要、衝刺目標和最近 7 天的決策。
* 這些內容以系統提示塊的形式發送,幫助模型快速進入項目狀態。

4. 數據導入導出與生命週期

  • 導入指令:支持從 .md、.markdown 或 .txt 文件(如 AGENTS.md 或 CLAUDE.md)導入。文件標題決定分類,列表項決定規則。
  • 數據導出:支持將項目內所有記憶導出爲 JSON 文件。
  • 保留策略:支持按分類設置過期時間(如 session 30 天,decision 365 天),並支持優先級策略(Priority 1 可延長生命週期)。

安裝與啓用

安裝該插件需要通過 Web 客戶端配置。

dsh plugin --profile web add @achasoft/dsh-memory
dsh web

安裝完成後,在 Web Client 的會話界面左側即可看到新增的 Memory 標籤頁。

典型用法

  1. 導入項目規則:在項目根目錄創建 AGENTS.md,定義分類和規則列表。通過插件界面的 Import 功能導入,規則將立即生效。
  2. 獲取會話摘要:頂級智能體在啓動時會自動收到上一次會話的摘要和衝刺目標,無需手動粘貼。
  3. 子智能體限制:子智能體(origin: 'subagent')雖然遵守規則,但不會收到會話上下文或記憶會話。

注意事項

  • 環境要求:插件需要 Node.js 版本 ^22.19 || >=24。
  • 子智能體差異:origin: 'subagent' 的會話沒有記憶會話,也不會接收會話上下文。
  • 注入文本限制:爲控制每次請求的 Token 成本,系統提示中的規則塊有長度限制:單條規則 2,000 字符,整體規則塊 24,000 字符,會話上下文 12,000 字符。超限部分會被截斷。
  • 向量搜索配置:語義搜索需要配置 Embeddings 接口(如 OpenAI 兼容端點),否則僅支持關鍵詞搜索。

結尾

dsh-memory 通過將記憶數據化、規則系統化,解決了 DSH 開發中上下文管理混亂的問題。配合 DuckDB 的查詢能力和 Web UI 的便捷操作,它能顯著提升 Agent 項目的可維護性和一致性。更多細節可參考 GitHub 倉庫 或 插件目錄。

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

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

小夜