前言¶
在 DeepSeek Harness(DSH)里跑智能体,会话上下文会随轮次变长,关掉进程后「上次说过什么」往往无处可查。常见做法是手写向量库或把摘要塞进 System Prompt,但要么难对照原始条目,要么和工具链脱节。下面介绍社区插件 deepseek-brain(维护者 Elias1222):在 DSH 内挂载一套可持久化、可查看、可交互的五层记忆模型,并附带 ASCII 脑图与 Web / Three.js 3D 记忆观测界面。插件归类为「记忆」,可在 SkillHub 目录页 检索;该目录为社区站点,与 DeepSeek / 幻方无官方从属关系。
这是什么¶
deepseek-brain 是标准 DSH cordis 插件包:纯 Node ESM,零运行时依赖;记忆数据落在 ~/.deepseek-brain/ 下的分层 JSON,可随时打包迁移。它模拟感觉、工作、情景、语义、程序五层结构,配合指数衰减遗忘、睡眠式巩固、语义图谱冲突修正,并通过 brain_* 工具与 System Prompt 注入让模型读写记忆。版本与能力清单见仓库 docs/RELEASE.md;package.json 标注 1.2.0,需 Node >=22,许可证 MIT。
核心功能¶
五层记忆与不变量¶
每次用户消息经 session 钩子进入流水线:感觉缓冲(7±2 槽、约 2 秒 TTL)→ 工作记忆话题栈(容量约 4–7)→ shouldRemember 闸门(重要度、实体、承诺词等)→ 情景 / 语义 / 程序层持久化。回忆时 recall() 综合关键词、时间衰减、重要度,可选向量相似度。
与人脑记忆科学对应的实现要点(参数名可在源码与 README 中核对):
| 层 | 作用概要 | 典型参数 |
|---|---|---|
感觉 sensory |
解析实体,短 TTL | sensoryCapacity、sensoryTtlMs |
工作 working |
话题栈,按会话隔离 | workingCapacity(4–7) |
情景 episodic |
时间线事件,强度随 importance × e^(-λ·days) |
lambda(默认 0.05/天)、forgetThreshold |
语义 semantic |
三元组 + 别名;冲突时旧条目标 [已修正] |
重要度 ≥ 4 常驻 |
程序 procedural |
习惯/规则,排序后前若干条进 System Prompt | 使用时强度 +0.1 |
三条设计不变量:永不物理删除(遗忘进 archive.json);重要度 ≥ 4(PINNED_IMPORTANCE)不参与衰减清理;衰减按时间连续计算,不依赖后台心跳。
自动抽取与闸门¶
observe 对用户消息跑 lib/extract.js 规则表:姓名、职业、居住地、计划、程序性「记住:…」等命中后写入语义或程序层;是否写入情景记忆由注意力闸门单独决定。代词绑定分句内与上下文两级,无法确定的关系进入 unbound 且不写库。时间短语经 parseWhen() 转为 when / whenAt(ISO),解析失败则为 null,不用「现在」顶替。
工具、可视化与 HTTP¶
插件 inject: ['tools', 'systemPrompt'] 为硬依赖;可选挂载 webServer,否则 brain_dashboard 可在回环端口自启服务。主要工具包括:
| 工具 | 作用 |
|---|---|
brain_remember |
写入指定层 |
brain_recall |
检索 top-K,带分数拆解 |
brain_visualize |
ASCII 脑图 + 健康面板 |
brain_update / brain_forget / brain_restore |
修订、软删、恢复 |
brain_sleep |
立即巩固 |
brain_conflicts |
列出已修正事实 |
brain_import / brain_snapshot |
跨设备合并、导出档案 |
brain_dashboard |
启动 Web 仪表盘(含单文件 Three.js 3D 大脑) |
不经过对话也可调用 HTTP API;契约见仓库 docs/API.md,curl 示例见 docs/EXAMPLES.md。
安装与启用¶
DSH 生态理念是「一切皆插件」:通过 profile 把 bundle 挂进当前 Harness 配置。官方 README 给出的 GitHub 安装方式为:
dsh plugin --profile web add github:Elias1222/deepseek-brain
其中 web 是 profile 名称,应换成你本机实际使用的 profile(README 示例里本地验证用过 desktop 等名称)。本地开发可用路径安装:
dsh plugin add ./deepseek-brain
安装后 cordis.patch.yml 会插入 deepseek-brain,dsh --dump-config 中应能看到 - id: deepseek-brain。启动后模型即获得工具与 System Prompt 注入;默认数据目录为 ~/.deepseek-brain/。
典型用法¶
显式记住情景¶
用户说明天会议等信息时,模型可调用:
{
"name": "brain_remember",
"arguments": {
"layer": "episodic",
"event": "和张伟在望京开会,讨论排期",
"participants": ["张伟"],
"place": "望京",
"emotion": "紧张",
"importance": 4
}
}
同一句里的「我叫林夕 / 产品设计师」等也可被规则自动抽成语义三元组;也可显式写 layer: "semantic" 的三元组字段。
回忆¶
{
"name": "brain_recall",
"arguments": {
"query": "张伟 会议 排期",
"topK": 6
}
}
返回结果按关键词、重要度、新鲜度、层级等权重排序,并附带分数拆解,便于模型组织回答。
查看 ASCII 脑图¶
{
"name": "brain_visualize",
"arguments": {}
}
输出包含工作记忆话题栈、各层近期条目、记忆健康统计(总数、本周新增、遗忘压缩、睡眠巩固次数等)。需要图形界面时调用 brain_dashboard 获取仪表盘 URL。
适用场景与注意¶
适合需要在 同一台机器、长期多轮对话 中保留结构化记忆、并希望自己或用户 肉眼检查 记忆状态、处理语义冲突与「软遗忘」的 DSH 开发者。程序记忆层适合把「回答先给结论」类习惯注入默认行为。
使用前请注意:
- 插件以 当前 dsh 进程的权限 读写
~/.deepseek-brain/并可能启动本地 Web 服务;安装前应阅读 GitHub 源码 与 MIT 许可证,确认符合你的安全与合规要求。 - 不要凭插件名自行拼接未在文档出现的安装命令;以 README 中的
dsh plugin --profile … add github:Elias1222/deepseek-brain为准。 - 社区目录星标等元数据会变动;以仓库 README 与 release 文档为准核对版本与能力清单。
结尾¶
经过上面的步骤,你可以在 DSH 里把对话变成可检索、可修正、可导出的分层记忆,而不是仅依赖单次上下文窗口。进一步细节见 SkillHub 插件页 与 GitHub:Elias1222/deepseek-brain。