前言¶
在 DeepSeek Harness(DSH)裏做長會話或跨會話協作時,常見做法是把歷史整段塞進上下文,或依賴宿主壓縮後丟失細節。上下文越長,成本與噪聲越高;壓縮後,項目進度和事實也容易斷檔。下面介紹社區插件 dsh-neuron-memory(維護者 shadowRjh,GitHub shadowRjh/dsh-neuron-memory):本地分層記憶、按相關性注入,並帶 3D 星雲面板,數據落在 ~/.dsh/memories/.neuron/,不聯網、無遙測。
這是什麼¶
dsh-neuron-memory 是給 DSH 的「仿神經元記憶框架 + 3D 記憶星雲面板」插件(npm 包名 dsh-neuron-memory,當前資料中版本 2.7.0,MIT 許可證)。記憶不是全量進上下文,而是:對話片段先進海馬體緩衝,定時夜巡歸檔到可審計 JSONL 記憶庫,用戶開口時按關鍵詞(可選向量)打分,只注入前 N 條;命中會強化權重並重置衰減,模擬間隔重複。
記憶怎麼流轉¶
一輪對話結束後,插件會把原文歸類進海馬體(去重、過濾 system-reminder 等噪音)。默認每天 03:10 夜巡:按關鍵詞分池寫入記憶庫,並生成 patrol/YYYY-MM-DD.md 報告;也可隨時手動觸發。各池獨立配置寬限期、半衰期、歸檔天數,有效權重按艾賓浩斯公式衰減;超出單條 2KB、每池 200 條等硬上限時會裁剪或按權重歸檔。
用戶再次說話時,中文按二元組、英文按詞切分,用 相關度 × 0.75 + 有效權重 × 0.35 排序,默認只注入 6 條 / 900 字,不注入全量。注入在宿主側每輪重新計算,上下文被壓縮後仍可重新命中;所有會話共享同一記憶庫。
交接層(handoff):handoff.md 覆蓋寫、硬上限 4KB;v2.3 起每輪只注入「項目 / 下一步 / 卡在」三行(默認 ≤600 字),全量仍存盤,每 12 輪或超過 800 字可自動壓縮並重寫,舊版留檔。
核心能力(資料已列)¶
- 海馬體緩衝:
(role + 文本)去重,可配置是否收錄 assistant、緩衝條數與單條字數上限。 - 夜巡歸檔:定時或
neuron_patrol立刻執行;patrol段可設autoArchive、maxArchivePerRun等。 - 工具面:
neuron_status、neuron_recall、neuron_remember、neuron_archive、neuron_touch、neuron_patrol、neuron_forget、neuron_handoff、neuron_search(多幀 zstd 歷史會話關鍵詞搜原文)。 - 翻舊賬:解壓歷史會話歸檔,找回被壓縮掉的對話細節(
neuron_search;Node.js ≥22.15 用於 zstd,資料寫明 DSH 0.2.1 自帶 Node 24)。 - 生態橋(可選):讀
dsh-feiyu-mood的~/.dsh/feiyu-mood/state.json注入心情;讀dsh-fish-memory的 JSON,首次啓動或neuron_import_fish導入長期事實進「核心」池。 - 情緒層:心情變化 ≥5 可落情緒記憶;與召回加權、面板時間線等相關行爲見 README。
- 向量檢索(可選):
retrieval.vector.enabled開啓後用本地 embedding(Ollama bge-m3 或 OpenAI 兼容接口),與關鍵詞混合;服務不可用則退回關鍵詞。 - 3D 星雲面板:中心 DSH → 記憶池 / 交接 / 心情 → 條目;外圈會話、思維鏈、服務、花費、插件、系統等;多套主題(星雲 / 皮層 / 矩陣 / 極簡),條目被想起時有任務信號脈衝。
- 遷移:首次啓動若存在舊
dsh-chain的~/.dsh/memories/.chain-shared/chains.jsonl,會一次性遷入記憶庫。
安裝與啓用¶
安裝命令以 README 爲準:
# 從 npm(發佈後)
dsh plugin --profile <profile> add dsh-neuron-memory
# 本地源碼
dsh plugin --profile desktop add link:/path/to/dsh-neuron-memory
重啓 DSH 後,會話界面會出現 「神經元」 標籤。
兼容性(README):DSH >=0.2.0-rc.2 <0.3.0-0;Node.js >=22。
配置要點¶
改 ~/.dsh/memories/.neuron/config.json,下一輪生效。示例結構如下(字段以倉庫 README 爲準):
{
"capture": { "enabled": true, "includeAssistant": true, "maxHippocampus": 400, "maxChars": 1200 },
"injection": { "budgetChars": 900, "maxItems": 6, "minWeight": 0.08 },
"patrol": { "hour": 3, "minute": 10, "autoArchive": true, "maxArchivePerRun": 24 },
"limits": { "maxEntryChars": 2000, "maxPerPool": 200, "handoffMaxChars": 4000 },
"handoff": { "enabled": true },
"pools": {
"core": { "label": "核心", "halfLifeDays": 60, "graceDays": 20, "archiveDays": 180 },
"fact": { "label": "事實", "halfLifeDays": 45, "graceDays": 10, "archiveDays": 120 },
"skill": { "label": "技能", "halfLifeDays": 90, "graceDays": 20, "archiveDays": 365 },
"daily": { "label": "日常", "halfLifeDays": 20, "graceDays": 5, "archiveDays": 90 },
"emotion": { "label": "情緒", "halfLifeDays": 3, "graceDays": 1, "archiveDays": 14 }
}
}
本地目錄概覽:
~/.dsh/memories/.neuron/
hippocampus.jsonl 原始片段(待歸檔)
entries.jsonl 記憶庫
handoff.md 交接層
handoff-history.jsonl 舊交接留檔
config.json
patrol/YYYY-MM-DD.md 夜巡報告
典型用法¶
- 安裝並重啓後,正常對話即可自動寫入海馬體;需要總覽時讓 Agent 調用
neuron_status。 - 要主動記下事實:
neuron_remember(默認進海馬體,可指定池)。 - 跨會話前先寫交接:
neuron_handoff覆蓋更新handoff.md,新會話會固定注入精簡三行摘要。 - 上下文裏已經找不到的原話:用
neuron_search或neuron_recall按關鍵詞回想(命中會 touch,權重 +0.15)。 - 不想等夜巡:執行
neuron_patrol立刻歸檔並生成當日報告。
適用場景與注意¶
適合需要 本地、可審計、有遺忘曲線 的長期記憶,又不想每輪全量灌上下文的 DSH 用戶。面板與可選向量檢索會讀本機文件或 localhost 服務;記憶內容是對話原文,分享數據前需自行脫敏。
插件以 當前 DSH 進程權限 讀寫 ~/.dsh/ 下文件。DSH 社區目錄(如 SkillHub 插件頁)是獨立站點,與 DeepSeek / 幻方無官方從屬關係;安裝前建議閱讀源碼與 MIT 許可證,確認符合你的安全與合規要求。
結尾¶
dsh-neuron-memory 把「捕獲 → 歸檔 → 相關性注入 → 遺忘與強化」做成可配置流水線,並用 3D 面板把池、交接與心情可視化。目錄與詳情見 SkillHub:dsh-neuron-memory,源碼與完整工具表見 GitHub:shadowRjh/dsh-neuron-memory。