前言¶
DeepSeek Harness(DSH)把智能體能力拆成可組合的插件,但默認上下文仍受單次會話限制:AGENTS.md 需要人工維護,換一場對話後,項目約定、個人偏好和踩過的坑往往要重新講一遍。社區維護者 Echo-Smith 的 hy-memory4dsh(npm 包名 dsh-hy-memory)在 DSH 進程內掛接 Hy-Memory 2.0 的 Python SDK,用 sidecar 與獨立 venv 跑記憶引擎,無需單獨起服務,在每一步前後自動召回、寫入並逐級沉澱記憶。
這是什麼¶
hy-memory4dsh 是 DSH 的長期記憶插件:三層存儲(個人、項目、項目內會話),三種場景(默認 chat;working / coding 按 workspace id 分庫),存儲目錄在 $DSH_HOME/integrations/hy-memory/。記憶引擎來自 PyPI 的 hy-memory(本倉庫不內嵌 Hy-Memory 源碼),插件側爲 MIT;上游 Hy-Memory 的代碼與許可證歸 Hy-Memory 項目。
- 目錄頁:https://www.skillhub.cn/plugins/Echo-Smith/hy-memory4dsh
- 源碼:https://github.com/Echo-Smith/hy-memory4dsh
核心機制與功能¶
Recall / Capture / Promotion¶
插件在 DSH 內運行,sidecar 自帶 venv,用戶不必再啓動額外服務。
- Recall:在
agent/pre-step檢索個人層、當前項目、當前會話,將命中項合併爲一條帶來源的 user 消息注入上下文;標註爲背景數據、可能過時,且不作爲指令。 - Capture:按窗口批量收集輪次及 tool call,交給 sidecar,路由到 chat 或 working/coding 存儲。
- Promotion:會話記憶沉澱爲項目約定,再上升爲個人偏好,形成 session → project → personal 鏈路。
面板與工具¶
- Settings > 記憶:個人 Tab、項目/會話 Tab、項目選擇、分頁、總開關、佔用估算;支持瀏覽、搜索、編輯、刪除。
- 自動 recall / capture,含 tool-call 軌跡;日常 recall 不混入其他項目,可按需跨項目搜索。
- MemHub:檢測、導出、拉取(MemHub 運行時因 holder pid 會拒絕 pull)、去重導入。
- 手動寫入:
memory_add根據內容推斷個人或項目層並回報落點。 - 面板頁腳提供更新檢查與 GitHub 鏈接。
嵌入默認本地 ONNX(384 維,約 80 MB 首次下載到 ~/.cache/chroma),模型對話複用 DSH 已有路由;也可配置遠程 embedding 端點。
安裝與啓用¶
要求:DSH 0.2 preview、Python 3.10+(首次使用在插件目錄內引導 venv)、可選 git(用於 workspace id)。首次使用需一次網絡訪問(安裝 hy-memory 及可選 embedding 模型)。可用環境變量 HY_MEMORY_SDK_PACKAGE=hy-memory==<version> 固定 SDK 版本。
本地 link 安裝(README 示例)¶
在插件倉庫根目錄執行:
dsh plugin --profile desktop add link:$(pwd)
然後打開 Settings > 記憶。首次使用會引導 Python 環境;模型路由沿用現有 DSH 設置,無需額外填 API Key。
通過 npm 裝入 profile¶
公開發布包 dsh-hy-memory(README 寫明 0.1.2)。profile 需把包列爲依賴並在 dsh.profile.bundles 中註冊名稱,可用倉庫腳本一併完成並校驗 apply() 導出:
node scripts/install-into-profile.mjs --spec dsh-hy-memory --apply
之後重啓或 reload DSH。手動方式:在 profile 內 pnpm add dsh-hy-memory,並把包名寫入 dsh.profile.bundles。
GitHub Packages 作用域包 @echo-smith/dsh-hy-memory、Release tarball 與本地 dist 包也可用同一腳本 --spec 安裝,詳見倉庫 README 的 Install 小節。
配置¶
設置文件:$DSH_HOME/integrations/hy-memory/settings.json,與面板編輯同一對象。
| 鍵 | 默認 | 含義 |
|---|---|---|
enabled |
開 | 總開關;關則暫停 recall、capture 與工具,面板只讀 |
recall.maxItems / maxChars / minScore |
5 / 1200 / 0.56 | 每步召回條數、字符預算、相關度下限 |
capture.windowTurns |
3 | 每批捕獲的輪次數 |
capture.productivity |
關 | 爲開時將批次寫入 working/coding 庫而非 chat |
promotion.everyTurns |
8 | 兩次 promotion 之間的輪次間隔 |
embedding.mode |
local | local 或 remote(remote 需 baseURL / model / apiKey / dims) |
典型用法¶
- 安裝並打開 Settings > 記憶,確認總開關開啓,等待首次 venv 與 SDK 安裝完成。
- 正常對話:每步前自動 recall;每若干輪自動 capture 與 promotion,無需手工觸發。
- 需要固定規則時調用
memory_add,由插件判斷寫入個人或項目層。 - 若曾用 MemHub,可在面板內按 README 說明做導出/導入;MemHub 運行期間 pull 會被拒絕。
- 在 DSH 插件市場設置中添加索引 URL,便於詳情頁對比已裝版本與索引版本:
https://raw.githubusercontent.com/Echo-Smith/hy-memory4dsh/main/market/index.json
適用場景與注意¶
適合需要跨會話、跨項目保留約定與偏好的 DSH 用戶,以及要與 MemHub 數據互通的場景。working / coding 場景適合把生產力類對話與純 chat 分庫。
插件與 sidecar 以當前 DSH 進程權限運行,記憶與配置落在 $DSH_HOME/integrations/hy-memory/;安裝前建議閱讀倉庫源碼與 MIT 許可證,並知悉 Hy-Memory SDK 爲獨立上游依賴。社區目錄 skillhub.cn 爲獨立站點,與 DeepSeek / 幻方無官方從屬關係。
結尾¶
hy-memory4dsh 把 DSH 從「單會話 + 靜態 AGENTS.md」擴展到可自動召回、寫入與逐級沉澱的三層記憶,面板可管可查。進一步說明見 GitHub README 與 SkillHub 目錄頁。