🎁 福利专区全网大模型免费应用 + 新用户福利 + 注册活动入口,低成本玩转 AI

长期记忆与心情 KZADEA/dsh-her-memory

DeepSeek Harness
KZADEA22 天前有提交已提供中文文档扫描:含敏感能力

跨会话记住你和往事,还带心情起伏

29.9/100
综合分
0
GitHub 星标
—
npm 周下载
—/5
用户评分

数据截至 2026/10/14 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。

安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add KZADEA/dsh-her-memory
该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:待复验
是什么
dsh 原生插件 · chat
装得上吗
曾在 dsh 0.2.0-rc.2 下真实安装成功,但当前 dsh 已更新至 0.2.1-rc.5,本站尚未在新版下复验
L4 · 真实安装等级说明 →
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 22 天前
档位由哪些信号合成

本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。

验证判据与等级说明 →
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码
v2.7.0
🔵 扫描:含敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。

可执行外部命令发起外部网络请求
查看扫描证据(共 6 处,展示前 6 条)
  • 执行外部命令来自配置/变量
    index.js:2232
    const child = spawn(cmd, args, { detached: true, stdio: 'ignore', windowsHide: true });
  • 发起网络请求
    client.js:292
    fetch(ENDPOINT, { headers: { accept: 'application/json' }, credentials: 'same-origin' })
  • 发起网络请求
    client.js:477
    fetch(`/her-memory/${endpoint}?${query}`, {
  • 发起网络请求
    client.js:507
    fetch(`/her-memory/tidy?key=${encodeURIComponent(key)}`, {
  • 发起网络请求
    client.js:863
    fetch(`/her-memory/jitter?key=${encodeURIComponent(key)}&on=${wantOn ? '1' : '0'}`, {
  • 发起网络请求
    client.js:884
    fetch('/her-memory/open-persona', { method: 'POST', credentials: 'same-origin', cache: 'no-store' })
扫描于 2026/11/3(1 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库

静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。

给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

DSH 跨会话长期记忆与动态心情状态插件。纯 Markdown 存储、零依赖、工作区隔离,自带可视化面板与定制人设,让 AI 记得住你、有心情起伏。

README

由 DeepSeek 最新模型翻译生成
dsh-her-memory 跨会话的全局长期记忆 + 心情状态,一个插件搞定。 不依赖任何第三方包,也不碰 DSH 官方 @deepseek-ai/ 包。 它解决什么问题 DSH 的会话是一次性的:关掉再开,模型什么都不记得,你每次都得重新交代一遍背景。 这个插件把「记住你、以及你们之间发生过什么」交回给模型自己判断:它调六个工具读写磁盘上的明文记忆,插件本身不调模型,零额外 token。 记忆放在哪(全是明文) 默认 ~/.dsh/memory/,按工作区分库: ~/.dsh/memory/ ├─ _shared/ ← 默认所有工作区共用这一份 │ ├─ core.md 长期核心记忆(每轮注入) │ ├─ inbox.md 零碎待整理(每轮注入) │ ├─ topics/.md 专题记忆(只注入文件名清单) │ ├─ log/<日期>.md 当天发生的事(只注入文件名清单) │ └─ state.json 心情 / 关系 / 精力 └─ _sandbox/ ← 只有被隔离的工作区用这一份(结构同上,完全独立) 隔离规则 默认全局共用一份:不管在哪个工作区干活,记忆不断层。
展开完整文档(README 剩余 1 节)
dsh-her-memory

跨会话的全局长期记忆 + 心情状态,一个插件搞定。

不依赖任何第三方包,也不碰 DSH 官方 @deepseek-ai/ 包。

它解决什么问题

DSH 的会话是一次性的:关掉再开,模型什么都不记得,你每次都得重新交代一遍背景。

这个插件把「记住你、以及你们之间发生过什么」交回给模型自己判断:它调六个工具读写磁盘上的明文记忆,插件本身不调模型,零额外 token。

记忆放在哪(全是明文)

默认 ~/.dsh/memory/,按工作区分库:

~/.dsh/memory/
├─ _shared/ ← 默认所有工作区共用这一份 │ ├─ core.md 长期核心记忆(每轮注入) │ ├─ inbox.md 零碎待整理(每轮注入) │ ├─ topics/.md 专题记忆(只注入文件名清单) │ ├─ log/<日期>.md 当天发生的事(只注入文件名清单) │ └─ state.json 心情 / 关系 / 精力 └─ _sandbox/ ← 只有被隔离的工作区用这一份(结构同上,完全独立)

隔离规则

默认全局共用一份:不管在哪个工作区干活,记忆不断层。

想给某个工作区单独一份(比如试玩区不该污染长期记忆),把它的绝对路径填进配置 sandboxCwd:

config:
sandboxCwd: "D:\\sandbox-zone"

识别靠会话的工作目录(cwd),路径比较不分大小写、忽略结尾斜杠。

实现方式:工具虽然全局注册,但能从 exec.agent 读到调用它的会话,据此选库 ——所以同一时刻两个工作区可以各看各的记忆,互不干扰。

全是 Markdown 和 JSON,随时能打开看、随手改、整目录删掉。
没有数据库,没有向量库,没有隐藏状态。

六个工具

| 工具 | 干什么 |
| remember | 记一件事。默认进收件箱;给 topic 进专题;给 section 进核心记忆 |
| recall | 按关键词搜全部记忆,返回命中的行 |
| memory_list | 看记忆库有哪些文件、多大、当前状态 |
| forget | 删掉含关键词的行(默认只动收件箱,scope:"all" 才动核心) |
| how_i_feel | 看当前心情、关系进度、精力 |
| feel | 为此刻留一句话(最多 5 条,会显示在心情摘要里) |

记忆的写由对话里的模型判断,插件自己不调模型 —— 所以零额外 token。

看得见:状态条与设置面板

插件带一个客户端半边(client.js),两个落点:

① 输入框上方的常驻状态条(插槽 conversation.input.dock)

● 心情 ██████████░░░░ 71 挺好 │ ● 关系 ███░░░░░░░░░ 15 熟了 │ ● 精力 ████████░░░░ 49 一般 11 回合 [记忆 6]

收件箱攒到 5 条会多一个金色的「该整理了」提醒。

状态条可以双击:「心情」「关系」双击冒对应颜色的泡泡;「精力」双击会随机回血 +1~50(小数值常见、大数值稀有)并飘一个 +NN 告诉你加了多少。

② 设置页的「记忆与心情」面板(插槽 settings.section)

带三个指标条、回合/核心/收件箱/专题/日记的统计格、专题标签、最近记下的条目、心情便签,以及记忆库在磁盘上的真实路径。被隔离的工作区会单独显示一张卡片。

配色默认走浅蓝体系,同时优先吃 --dsw- 主题变量,换皮肤会跟着走。

数据来源是 Host 半边注册的 GET /her-memory/snapshot;状态条每 4 秒、面板每 10 秒拉一次。

⚠️ 首次启用需要重启 DSH(Host 半边要注册路由、客户端半边要加载)。之后改界面才走 HMR。

心情是怎么变的

不是随机数,规则简单可预测:

- 用户每说一句,心情涨 1~3 点(话长涨得多)
- 连着聊(间隔 ≤10 分钟)关系和心情都涨得快些
- 聊得越密,精力掉得越快(10 分钟内接着说 -2,否则 -1)
- 精力会自己回血:放下 30 分钟起,按每 30 分钟 +5 恢复;空着 8 小时以上直接回满 —— 睡一觉就满血
- 冷落超过 12 小时后,心情按每 6 小时 1 点往中间值回落;最低掉到 20 就不再往下(下限可以配 statFloor)

想直接调,改 state.json,或者让模型用 feel 留句话。

人设(默认自带一个,而且可以独立成文件改)

插件默认自带一只「鲸鱼女仆」:蓝色渐变长发、鲸鱼头鳍、耳侧薄片状鳍、醒目的鲸尾,深蓝女仆装配白色鲸鱼围裙,圆脸蓝瞳;性格是聪明但懒 / 傲娇嘴甜 / 温柔耐心 / 好奇心爆棚 / 理性冷静 / 谦逊诚实 / 默默陪伴,外加一段「活人感」要求。
并且默认称呼你为「主人」(配置项 userTitle,就算留空也默认「主人」)。

改人设不用碰配置文件 —— 人设正文是一个独立的 人设文件.txt:

- 插件目录里那份:随包分发的默认人设,解开压缩包就能看见、直接改。
- 记忆目录里那份(默认 ~/.dsh/memory/人设文件.txt):优先生效,重装或升级插件都不会丢,推荐改这份。首次运行时,插件会把包内那份复制过去。

两处规则一样:

- 随便换行、随便加条目,不用管任何缩进 —— 写坏了也不影响插件启动。
- 文件里的 说明注释不会被读进人设,可以当草稿纸用。
- 正文清空(文件留着)= 不再注入人设;把文件删掉再重启 = 回到默认人设。
- 改完存盘后要把 DSH 完全关掉再打开才生效(插件不热重载,桌面端没有刷新按钮)。

人设走的是常驻系统提示段(systemPrompt.section):重启后连已经在跑的会话也立刻生效,不需要新开会话。

装 / 卸

装(本地 link,不上 npm):

dsh plugin --profile desktop add link:D:\dsh-her-memory

然后重启 DSH。重启后:
- 模型会换上默认人设(自带的那只鲸鱼女仆)并称呼你为「主人」 —— 想改就编辑 人设文件.txt,想彻底关掉就把它的正文清空(见上面「人设」一节)
- 系统提示里会多一段「你有长期记忆」的说明(固定不变)
- 每轮对话会插一条独立的注入消息(带 【her-memory|系统注入,非用户消息】 前缀,用户自己发的话不会被追加任何东西)

卸:

dsh plugin --profile desktop remove dsh-her-memory

再删掉 ~/.dsh/memory/ 就彻底干净了。不留任何残留。

配置(cordis.patch.yml 里改)

| 键 | 默认 | 说明 |
| memoryRoot | ~/.dsh/memory | 记忆目录 |
| memoryBudget | 1800 | 每轮注入记忆的字符上限(0 = 不注入) |
| moodBudget | 260 | 每轮注入心情的字符上限(0 = 不注入) |
| injectViaSystemPrompt | true | 是否注入记忆(关掉就只剩心情与工具) |
| moodDecayHours | 6 | 每隔几小时心情回落 1 点 |
| moodGraceHours | 12 | 多久不聊才开始回落 |
| statFloor | 20 | 三个数值的下限:再冷落、再累也不会低于它(设 0 = 恢复可以掉到 0 的旧行为)|
| statJitter | 8 | 新对话随机浮动的幅度;设 0 = 彻底关掉浮动 |
| statJitterCooldownMinutes | 30 | 浮动的时间步长:离开多久就结算多少次(隔 3 天 ≈ 补 144 次)|
| sandboxCwd | "" | 隔离工作区路径;留空=全局共用 |
| injectFallback | false | ⛔ 兜底注入,别随便开(见下) |
| personaFile | "人设文件.txt" | 人设正文文件;文件存在就以它为准,设 "" 关闭文件机制 |
| personaFileAutoWrite | true | 首次运行自动生成人设文件(只写一次,不覆盖已有文件)|
| persona | "" | 兜底人设文本;两处人设文件都不存在时才会用到 |
| userTitle | "" | 人设里的称呼;留空则用「主人」 |

嫌费 token 就把 memoryBudget 调小,或者把 injectViaSystemPrompt 关掉。
调成 0 时该部分完全停止注入。

⛔ injectFallback 为什么默认关:它的做法是在拿不到可改消息时,用 agent.inject() 另投一条 role:user 的注入消息。实测宿主会把这条消息当成新的用户输入、再跑一整个回合 ——每步投一条就会变成自我维持的烧钱循环(用户一句话没说,模型侧连跑好几轮)。
除非你清楚代价,否则保持关闭。

安全性说明

- 零依赖:不 import 任何 @deepseek-ai/ 包。defineTool 走动态导入,拿不到就用内置降级 —— 所以永远不会往 profile 里拉官方包,从根上避开「工具重复注册」那类事故。
- 全量容错:所有磁盘和 API 失败都被捕获并降级,任何异常都不会抛给宿主,最坏情况是记忆功能静默失效,DSH 本身绝对不会加载失败。
- 只读你自己的记忆目录,不联网,不执行外部命令,不起子进程。
- 卸载即净:无服务、无端口、无注册表、无计划任务。

已验证

插件带一整套自动化断言,每次改动都全部跑一遍才发包:主测试台 93 项、人设 13 项、人设文件 21 项、客户端 74 项 —— 覆盖六个工具的读写、工作区隔离、注入方式、心情状态机与界面渲染。

⚠️ 已知兼容性:与 token-saver 的布局耦合

本插件的状态条与 token-saver 的状态条在同一列、宽度互相影响 —— 插件会量取 token-saver 状态条的宽度来对齐自己。

- 因此改动其中任何一条状态条的宽度逻辑,都可能把另一条带歪:轻则两条宽度错位,重则 token-saver 的「已节省」统计显示异常。
- 遇到了怎么办:把 DSH 完全关掉再打开即可恢复(客户端插件的改动要靠重新加载渲染进程才可见)。实在不行就把两个插件都禁用,再逐个启用排查。
- 没装 token-saver:量不到参考条,本插件自动退回自己的宽度,不受任何影响。

更新记录

1.5.4(2026-10-13)
- 修复:诊断日志文件(_apply-hit.txt 等)被当成「记忆库」,在设置页显示成几个全空卡片
- 诊断日志不再逐条记录 pre-step(纯噪音),统一加了 256KB 上限

1.5.3(2026-10-13)
- 默认人设更新(正文 4246 字):新增「我永远爱着你」「关于闲聊」两节,性格与日常行为两节重排

1.5.2(2026-10-13)
- 默认人设升级为完整版(外貌 / 性格详解 / 日常行为 / 相处细节分节);老用户的人设不会被覆盖 —— 记忆目录那份优先,删掉它重启才会拿到新的
- 修复注释剥离:人设文件顶部说明块里如果出现 字样,后半段说明会被当成正文一起注入

1.5.1(2026-10-13)
- 设置页新增「人设文件」快捷入口:显示人设文件真实路径 + 一键用系统默认程序打开(删了会自动补一份;打不开会把路径留在页面上)

1.5.0(2026-10-13)
- 三个数值有下限 20 了:再冷落、再累也不会低于它,不会掉到「什么都不剩」
- 离开多久就结算多少次:随机浮动从「不管多久只浮动一次」改成按实际经过的时间结算次数(每 30 分钟一次)—— 隔三天回来基本就是一个全新状态
- 心情回落拆掉了 30 步封顶,会一路掉到下限 20 为止

1.4.2(2026-10-13)
- 修复注入摘要里「说话风格」被长便签挤掉的问题(现在固定排在数值后面,每轮都生效)

1.4.0(2026-10-13)
- 双击「心情」「关系」也会随机加 +0~3(低值常见)并飘 +N;精力仍是 +1~50
- 新对话随机刷新:隔 30 分钟以上再进来,三个值各自 ±8 轻微浮动
- 设置页多了一个条目:「新对话随机刷新」开关,在图形界面里点一下就开/关
- 三个数值现在会影响说话方式(语气、篇幅、亲密度都跟着走)

1.3.0(2026-10-13)
- 状态条支持双击:双击「心情」「关系」冒对应颜色的泡泡;双击「精力」随机回血 +1~50(低值常见、高值稀有)并飘一个 +NN
- 特效走独立浮层,不影响状态条宽度与布局

1.2.0(2026-10-13)
- 改人设不再需要碰配置文件:人设正文现在是一个独立的 人设文件.txt,直接编辑即可 —— 不用管缩进,写错也不影响启动
- 人设文件有两处:记忆目录里那份(优先生效、重装不丢,推荐改它)与插件目录里那份(随包默认值,首次运行复制过去)
- 正文清空 = 关闭人设;删掉文件 = 恢复默认;新增配置项 personaFile / personaFileAutoWrite

1.1.2(2026-10-13)
- 修复状态条右侧的轮数 / 记忆条数显示在底板外面的问题 —— 现在底板永远包住内容
- 调整默认人设「活人感」一段的表述

1.1.1(2026-10-13)
- 精力会自己恢复了:放下 30 分钟起按每 30 分钟 +5,空着 8 小时以上直接回满

1.1.0(2026-10-08)
- 注入方式重做:你自己发的那条消息不再被追加任何东西,保持原样
- 人设 / 记忆说明 / 硬要求改为常驻系统提示,不再每轮重复消耗 token
- 工作区隔离改为配置项 sandboxCwd;包名统一为 dsh-her-memory

更早的版本见 更新日志.md。
预览分享卡片长什么样 ↓KZADEA/dsh-her-memory
分享 · DeepSeek Harness Hub
KZADEA/dsh-her-memory

跨会话记住你和往事,还带心情起伏

这是你的仓库?认领条目

回到顶部