前言¶
在 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。