前言¶
DeepSeek Harness (DSH) 強調“一切皆插件”,但在原生環境中,智能體往往缺乏跨會話的持久記憶能力,導致上下文碎片化。開發者需要在多輪對話中重複輸入背景信息,或面臨記憶注入過於寬泛的問題。dsh-cc-haha-memory 插件旨在復刻 CC-HAHA 的記憶管理體驗,爲 DSH 提供一套顯式、可審計的持久記憶方案。它不依賴外部服務,通過原生事件和工具調用實現記憶的寫入與檢索。
基本信息¶
- 插件名稱:yihefeikong-rgb/dsh-cc-haha-memory
- 核心價值:面向 DeepSeek Harness (DSH) 的 CC-HAHA 風格持久記憶插件
- 維護者:yihefeikong-rgb
- 分類:記憶
- 許可證:MIT
核心功能¶
插件實現了以下核心能力:
* 真實記住:顯式工具調用。只有當 LLM 返回 saved: true 時,系統才確認已記住信息。
* 獨立文件存儲:每條記憶保存爲獨立的 Markdown 文件,由 MEMORY.md 維護索引。
* 項目隔離:記憶按“通用”和“當前項目”隔離,避免全局上下文污染。
* 逐輪召回與會話預算:每輪最多注入 5 條相關記憶正文,同一會話內已注入記憶不重複,累計超過 sessionMaxBytes 後僅保留索引。
* 自動記錄與回合評審:支持後臺自動評審值得長期保存的信息,失敗時保留緩衝。
* 安全更新機制:通過記憶 ID 更新,禁止模糊標題猜測覆蓋,更新和刪除前自動保存歷史版本。
* Web UI 管理界面:提供搜索、編輯、刪除記憶的標籤頁。
* Claude 記憶導入:支持非破壞性地導入現有 Claude Code 記憶。
安裝與配置¶
安裝¶
安裝命令如下:
dsh plugin --profile web add github:yihefeikong-rgb/dsh-cc-haha-memory
安裝完成後,重啓 DSH Web 進程:
dsh web
驗證¶
進入任意會話,發送以下測試指令:
請記住:這個項目使用 Rust 和 Tauri。
正常軌跡應包含以下工具調用:
Read MEMORY.md → memory_remember → saved: true
配置¶
默認配置位於 cordis.patch.yml。主要選項如下:
| 選項 | 默認值 | 說明 |
|---|---|---|
reviewEnabled |
true |
是否啓用回合後自動評審 |
reviewInterval |
1(schema)/ 5(本包 patch) |
每多少回合評審一次 |
reviewTimeoutMs |
120000 |
後臺評審總超時 |
recallOrder |
117 |
索引 context 的注入順序 |
recallMaxBytes |
25000 |
注入索引最大字節數 |
recallRelevantMaxBytes |
16000 |
單次相關正文最大字節數 |
sessionMaxBytes |
61440 |
本會話相關正文累計上限(0=不限) |
dedupeRelevant |
true |
同一會話內已注入過的正文不再重複注入 |
relevantBodiesEnabled |
true |
是否按當前查詢注入相關正文 |
freezeIndexPerSession |
true |
索引片段每會話只渲染一次 |
selectEnabled |
true |
LLM 語義相關性選擇 |
selectTimeoutMs |
12000 |
相關性選擇超時 |
guidanceEnabled |
true |
註冊引用記憶前的核驗指南 |
recentToolsEnabled |
true |
把最近使用過的工具交給選擇器 |
recentToolsWindow |
8 |
最近使用過的工具保留個數 |
skipReviewAfterAgentWrite |
true |
主 agent 自己寫過記憶時跳過後臺評審 |
記憶工具¶
插件註冊了 8 個工具供 LLM 調用:
* memory_remember:顯式“記住”的單次可見入口。
* memory_write:新建記憶。
* memory_read:讀取完整記憶。
* memory_update:按 ID 更新並保存歷史版本。
* memory_delete:刪除並保存歷史版本。
* memory_search:當前作用域全文搜索。
* memory_list:列出當前作用域索引。
* memory_suggest_tags:推薦已有標籤。
文件結構¶
記憶文件默認存儲在用戶目錄下:
~/.dsh/memory/
├── MEMORY.md
├── 通用/
└── <當前項目>/
└── <主題>.md
注意事項¶
- 數據隱私:倉庫和安裝包不包含任何用戶記憶、會話、日誌、API Key 或本機 profile。
- 權限要求:寫入前需確認當前工作區,否則會寫入失敗。
- 網絡邊界:Web API 運行在 DSH 本地同源信任邊界內,不建議將 DSH Web 端口暴露到不可信網絡。
- 併發寫入:當前實現是單 DSH 進程內串行寫入,不建議多個 DSH 實例同時共享同一個記憶目錄。
- 官方屬性:本項目爲非 CC-HAHA 官方組件,也不隸屬於 CC-HAHA 或 DeepSeek。
關係與致謝¶
本項目重點參考了 CC-HAHA 的記憶設計理念,包括獨立文件存儲、顯式寫入覈驗、項目隔離等。插件代碼使用 DSH 原生事件、工具、LLM 和 Web UI 接口獨立實現,旨在讓 DSH 用戶也能享受到類似的記憶管理體驗。