前言¶
在 DeepSeek Harness(DSH)里开多个会话时,常见问题是:人设写在某一侧,记忆只留在当前对话里,换窗口或换插件开的会话又像「失忆」。单靠一长串平铺的记忆列表,还会出现「不要删文件」和「今天天气不错」在召回时被同等对待的情况。
下面介绍社区插件 dsh-shared-brain(维护者 youx123,分类:记忆)。它让人设与记忆在所有 DSH 会话之间共用,并按底线、认知、情感、本能、声音、网络、自动互动七个模块分别设权重与注入策略;表情包目录支持定时自动扫描加载。插件仓库:youx123/dsh-shared-brain,目录页:SkillHub 插件页。
这是什么¶
dsh-shared-brain 是 DSH 的「共享大脑」插件:统一管理跨 profile、跨会话的人设与记忆库,在每轮对话开始按加权规则召回,在对话结束自动摘要入库。人设由插件自持(内置人设 + 自定义,可给单个会话单独指定),不再依赖独立的人设插件;提示词段落全局注册,task-board、im、ssh 等插件开的会话与子代理也会拿到同一份注入,会话上下文按 agent.session.header.id 分开,避免并发互相污染。
数据默认落在 DSH_HOME(一般为 ~/.dsh)下的 storages/dsh-shared-brain/,与具体 profile 目录分离,因而跨 profile 共用同一套记忆与人设配置。
七个模块与注入方式¶
插件把记忆按「性质」拆成七个模块,各自有权重含义和注入策略(摘自官方 README 表格):
| 模块 | 装什么 | 权重含义 | 注入策略 |
|---|---|---|---|
| 底线 bottomline | 操作限制、禁令、权限边界 | 约束强度(≥0.8 = 强约束) | 手动钉住的才永远注入 |
| 认知 cognition | 事实、结论、决定 | 置信度(≥0.8 = 已确认) | 相关时召回 |
| 情感 emotion | 关系、偏好、情绪、称呼 | 亲密度(≥0.6 = 强偏好) | 相关时召回 |
| 本能 instinct | 反复使用的行为习惯 | 使用频次(≥0.7 = 习惯) | 高频时自动触发 |
| 声音 voice | 说话方式、语气、口头禅 | 风格强度 | 常驻生效 |
| 网络 network | 允许对外获取信息 | — | 开关 |
| 自动互动 agentive | 允许主观能动性 | — | 开关 |
底线不会自动归类:分类器遇到「不要 / 必须 / 禁止」等信号时,只会记成高权重认知并提示可手动钉为底线;只有你在设置页或命令里钉住的条目才会每次强制注入。
召回分数公式(官方说明):
召回分数 = 基础相关性 × 条目权重 × 模块权重 + 模块加成
模块加成约为:底线 +3.0、本能 +1.8、情感 +1.4、认知 +1.0。权重为 0 的条目或模块不参与召回。模块权重可在设置页拖动,或用 /shared-memory weight <模块> <0..1> 调整。
入库、分类与寿命¶
入库:每轮对话结束自动摘要为「用户问 → 助手答」,分类器决定模块与条目权重;无信息量的轮次(如「继续」「ok」)跳过;含密钥的内容先脱敏再入库。
自动分类(按优先级,先命中先定):
- 情感 —— 出现「喜欢 / 讨厌 / 想念 / 叫我 / 我们」等信号词
- 本能 —— 同一主题在库里已出现 2 次以上(频次判定)
- 认知 —— 其余事实;命中「结论 / 原因 / 已修复 / 版本」等时置信度可提到 0.8
同一主题被提到 3 次以上会归入本能,权重随频次上涨。寿命由 judgeLifetime() 按整句语义判永久或临时(长期约定、稳定偏好多为永久;带「今天 / 本周」等时间窗的为临时;未命中信号时默认临时 14 天)。临时记忆到期清理,被召回时会滑动续期;新说法明显推翻旧说法时,旧条目会被标记为被取代。
条目可设作用域:全局生效,或仅在当前工作区(按 cwd)生效。
设置页与侧边栏¶
装完后 DSH 设置页会出现 「共享大脑」 一节,主要能力包括:
- 记忆模块:底线 / 认知 / 情感 / 本能四卡片——权重滑杆、启停、清空模块、条目作用域(全局 / 本工作区)
- 手动底线:写入约束并「钉住」;仅钉住项常驻注入
- 声音 / 人设 / 语音与唱歌参数:语气、口头禅、自称;人设切换与编辑(切换后全会话即时生效);语音相关字段供后续语音模块使用
- 表情包目录:指定目录(留空用默认
~/.dsh/storages/dsh-shared-brain/emoji/),支持.txt/.md/.emojilist与常见图片格式(文件名即情绪名);默认约 5 分钟自动扫描,可改间隔(30 秒~24 小时)或「立即重扫」 - 搜索记忆、能力开关(网络 / 自动互动)、自动互动 · 定时主动(见下节)、最近的记忆与清空全部记忆
输入框上方有 「大脑 · N」 小条:显示记忆总数、底线条目数、已开能力图标,点「打开面板」进入完整浮层。
本地 UI 通过回环 HTTP 与插件通信:
GET /api/dsh-shared-brain/status
POST /api/dsh-shared-brain/mutate {"action":"...", ...}
mutate 的 action 包括 setWeight、pinItem、setEmojiDir、rescanEmoji、runProactive、searchMemory 等(完整列表见仓库 README)。
自动互动¶
开启 自动互动 后,插件会按设定间隔向仍活跃的会话发送「主动检查一下」类 followup(agent.followup()),会唤醒会话并开启新一轮,而不是仅在系统提示里写一句「可以更主动」。设置页可配置:
- 主动间隔(1 分钟~24 小时),保存后立即重启定时器
- 「立刻主动一次」用于验证
- 生效范围:全部会话或指定会话(可按工作区分组勾选)
- 时间窗:例如 09:00~23:00(可跨午夜),窗外只响应用户明确交代的事
关闭自动互动时定时器停止。命令行侧可用 /shared-memory agentive on|off、agentive interval、agentive now 等(见下文)。
与 Cursor「共享大脑」协同¶
自 0.9.3+ 起,若本机安装了 Cursor 扩展 cursor-shared-brain,DSH 插件 lib/cross-sync.js 会监听 ~/.cursor/storages/cursor-shared-brain/ 下的协调文件与 ~/.cursor/rules/shared-brain/,从 Cursor 侧 inbound 拉记忆,入库时通过 writeStoreSynced 通知 Cursor 合并。修改后需重启 DSH 宿主生效。
安装与启用¶
装完后须把 dsh-shared-brain 写入 profile 的 package.json → dsh.profile.bundles,并重启 DSH 宿主。插件为纯 JS,装完无需构建;发布包需包含 assets/(含内置 assets/emoji/),否则表情功能不可用。要求 Node >= 20,DSH 引擎在 package.json 中声明为 >=0.2.0-rc.1。
方式一:设置页安装¶
- 打开 设置 → 插件 → 安装插件
- 粘贴下列任一地址并回车:
https://github.com/youx123/dsh-shared-brain
https://github.com/youx123/dsh-shared-brain/releases/download/v0.9.12/dsh-shared-brain-0.9.12.tgz
- 在插件列表确认
dsh-shared-brain已启用,重启 DSH
GitHub 地址与 tgz 直链需本机可访问 GitHub(或代理);网络不通时可先下载 tgz,再用方式二。
方式二:CLI 安装本地 tgz¶
从 Releases 下载 dsh-shared-brain-0.9.12.tgz 后执行:
dsh plugin --profile <你的 profile> add ./dsh-shared-brain-0.9.12.tgz
方式三:git 源¶
dsh plugin --profile <你的 profile> add git+https://github.com/youx123/dsh-shared-brain.git
设置页出现「共享大脑」一节即表示宿主已加载插件。
典型用法:/shared-memory¶
除设置页外,插件注册 /shared-memory 命令,便于在会话里快速查看与改配置。示例(摘自 README):
/shared-memory 总览:各模块条目数与权重、人设、能力开关、最近 5 条
/shared-memory modules 各模块明细
/shared-memory weight 认知 0.8 调整模块权重(0..1)
/shared-memory voice 说话要带点傲娇 往声音模块加一条风格
/shared-memory add 底线 不要删我的文件 手动加一条(底线会自动钉住)
/shared-memory pin 底线 <条目> 钉住 / unpin 取消钉住
/shared-memory permanent 认知 <条目> 改成永久记忆
/shared-memory temporary 认知 <条目> [小时] 改成临时记忆(默认 24 小时)
/shared-memory network on|off 开关「对外获取信息」
/shared-memory agentive on|off 开关「主观能动性」
/shared-memory agentive now 立刻对所有活跃会话主动搭话一次
/shared-memory persona 列出人设
/shared-memory persona use <id> 切换人设
先做日常对话让插件自动入库与召回,再用 weight、pin、persona 等命令微调模块与人设,是较常见的搭配。
数据位置与安全¶
主要存储路径(均在 ~/.dsh/storages/dsh-shared-brain/ 下,跨 profile 共用):
memory.json—— 共享记忆库modules.json—— 模块配置与能力开关persona.json—— 人设库(含按会话指定)emoji/—— 默认表情包目录sync-token.json—— 跨机同步令牌(权限 0600)
插件还会在 ~/.hindsight/coding-agent.json 中固定 Hindsight bank 配置。记忆库设计上不存凭据:入库前对 PAT、API key、密码等脱敏为 [已脱敏]。
适用场景与注意¶
适合:需要多会话、多插件入口统一人设与长期/短期记忆;希望硬约束(底线)与可过期事实分开;需要表情包目录自动同步、或定时让 agent 在活跃会话里真正发起 followup 的场景。
注意:
- 插件以当前 DSH 进程权限运行,安装前请自行查看 源码 与 MIT 许可证,评估是否满足你的环境策略。
- 社区目录 SkillHub 与 DeepSeek / 幻方无官方从属关系;DSH 生态遵循「一切皆插件」,本插件为社区维护(SkillHub 页星标数为 0,以目录页为准)。
- 自动互动会唤醒会话并消耗模型调用;网络开关打开后行为取决于宿主与其它插件的实际能力,请结合自己的合规要求使用。
结尾¶
dsh-shared-brain 把「一个大脑、七个模块」落到 DSH:底线钉住、认知与情感按相关召回、本能由频次养成、声音与人设常驻,再配合表情包定时加载与可选的 Cursor 侧同步。若你正在给 Harness 配长期运行的 agent,可先按上文任一官方安装方式启用,在设置页或 /shared-memory 里钉住底线、调模块权重,再观察跨会话召回是否符合预期。
- 目录页:https://www.skillhub.cn/plugins/youx123/dsh-shared-brain
- GitHub:https://github.com/youx123/dsh-shared-brain