deepseek-brain:DSH 五层持久化记忆与 3D 观测

前言

在 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 开发者。程序记忆层适合把「回答先给结论」类习惯注入默认行为。

使用前请注意:

  1. 插件以 当前 dsh 进程的权限 读写 ~/.deepseek-brain/ 并可能启动本地 Web 服务;安装前应阅读 GitHub 源码 与 MIT 许可证,确认符合你的安全与合规要求。
  2. 不要凭插件名自行拼接未在文档出现的安装命令;以 README 中的 dsh plugin --profile … add github:Elias1222/deepseek-brain 为准。
  3. 社区目录星标等元数据会变动;以仓库 README 与 release 文档为准核对版本与能力清单。

结尾

经过上面的步骤,你可以在 DSH 里把对话变成可检索、可修正、可导出的分层记忆,而不是仅依赖单次上下文窗口。进一步细节见 SkillHub 插件页 与 GitHub:Elias1222/deepseek-brain。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜