DSH HUB
HomePlugin StorePlugin PacksCommunityRankingsResourcesPublish Guide
Plugin source
Back to catalog

ifenc /

ifenc/dsh-persona-memory

Verified

「DSH 人设 + 记忆 + 日记插件」

★ 1 Stars0 Forks0 IssuesN/A Community rating0 Confirmed installs
View on GitHub
READMESource: main@88427f59

人格记忆 · Persona Memory

CI

给 DeepSeek Harness (DSH) 加上「人设 + 长期记忆 + 日记 + 资料库 + 表情包」的本地插件。

English: a local-first DSH plugin that keeps a character card in the system prompt, remembers facts over time as memories fade and are reviewed, and keeps per-character diaries, a reference library, and stickers.

功能

  • 人设模式(按对话独立):每个对话单独开关;打开后,当前人物卡会和记忆一起进入这个对话的系统提示词,切换到别的对话不会跟着变。新对话默认关闭。
  • 人物卡(自由条目 + 权重):人物卡由有序条目组成,标题和内容都可自定义(人格描述、说话风格、口癖、世界观、禁忌…),支持新增、编辑、删除、上移/下移;权重条目同样自由:默认提供「拟人度、玩梗、情绪、动作描写、主动性、吐槽」,可改名、调 0–100、删除,也可以新增「毒舌」「黏人」等自定义权重。提示词按数值生成约束,内置权重有细分档位,自定义权重用通用强度描述。新建人物卡使用内置的普通模板,不会复制当前卡;旧版固定字段会自动迁移。
  • 人物卡 + 记忆/日记/资料/表情包绑定:每张人物卡有自己的一组记忆、日记、资料库和表情包;切换人物卡时提示词、记忆列表、日记本、资料库和表情包都会切到对应的那一套。可以单独清空当前人物卡的记忆、资料库和表情包,导入/导出也只针对当前卡;删除人物卡会连同它们一起删除。
  • 关闭后的语气提醒:在一个开过人设的对话里关闭人设后,会额外注入一句很短的提醒,要求用普通助手语气、不要沿用之前的角色自称和动作描写,用来对抗对话历史的惯性。
  • 会自然变淡的长期记忆:记忆的清晰度随时间自然衰减;越久不回顾掉得越快。被注入提示词或主动复习会延长保留时间;重要记忆可置顶,永不遗忘。清晰度低于阈值后自动移入「已遗忘」,可以恢复。
  • 日记:可以开启「日记功能」让模型在对话自然收束时写日记;也可以开启「自动摘要」,每轮结束后把你说过的要点在本地汇总成当天的日记(不额外消耗模型调用)。
  • 资料库:每张人物卡有自己的资料库,可以收录聊天里的梗、知识笔记、网上查到的资料(带来源链接)。模型通过 persona_library 工具搜索/查阅,学到新东西时会自动补充;用户可以在设置里手动新增、编辑、清空,或按当前卡导入导出。
  • 表情包:每张人物卡可以单独开启/关闭发表情包;用户上传 PNG / JPEG / GIF / WebP(单张 ≤2MB),填名称和标签,支持删除、清空、按卡导入导出。模型在合适的时候通过 persona_sticker 的 send 拿到 Markdown 再发图,不会每轮都发;图片只在本机保存和由本地接口提供。
  • 工具:persona、persona_memory、persona_diary、persona_library、persona_sticker,可以直接用自然语言让人设调整(含自定义条目和权重)、记忆增删、写日记、查/记资料、发表情包;这些工具都作用于当前人物卡。
  • 导入导出:人物卡、记忆、日记、资料库、表情包都可以单独导出为 JSON,也可以一键备份/恢复全部数据;导入时可以选择合并(去重)或覆盖。
  • 界面:设置 →「人格记忆」里有卡片条目与权重编辑、记忆列表(含清晰度条)、资料库、表情包、日记本和参数设置;输入框下方(新对话在新会话行)的开关只作用于当前对话,左键开关、右键呼出菜单选择关闭或切换人物卡;设置页还提供「全部关闭」。人设只注入主对话,子 Agent 不受影响。开关带「开 / 关」文字,说明性提示收进圆圈问号图标,鼠标悬停或聚焦时显示。
  • 检查更新:设置 → 参数 里有「检查更新」,读取 GitHub main 分支 package.json 的 version 和本地版本比较;只提示,不会自动安装。更新时在插件页重新安装该 GitHub 仓库,或对本地目录 git pull 后重新加载/重启 DSH。

安装

需要 DSH 0.2.1+(在 0.2.1-rc.2 桌面版上开发和测试)。

  1. 克隆或下载本仓库到本地任意目录:

    git clone https://github.com/ifenc/dsh-persona-memory.git
    
  2. 在 DSH 的插件管理里安装这个本地 bundle(选择 dsh-persona-memory 目录)。

    也可以使用 CLI(--profile 按你的实际 profile 名替换,桌面版通常是 desktop,Web 版是 web):

    dsh plugin --profile desktop add "/absolute/path/to/dsh-persona-memory"
    
  3. 安装后刷新页面;如果插件没有出现,重启 dsh web。

从本地目录安装时 DSH 会以 link 方式挂载,修改源码后重新加载插件或重启即可生效。

使用

  • 打开 设置 → 人格记忆:编辑人物卡、查看记忆与日记、调整参数、导入导出。
  • 每个对话输入框下方有一个人设开关:
    • 左键:开启 / 关闭当前对话;
    • 右键:关闭当前对话,或切换到某张人物卡(切换卡片会同时切换记忆和日记);
    • 新建对话时,开关出现在新会话那一行。
  • 设置页顶部显示「已开启 N 个对话」,并提供「全部关闭」。
  • 直接和模型说「记住这件事」「把这条忘掉」「写篇日记」「换成另一张人物卡」也可以,插件注册了对应的工具。

数据与隐私

  • 数据默认保存在 DSH_HOME/persona-memory/store.json,可以用环境变量 DSH_PERSONA_MEMORY_DIR 覆盖目录。
  • 所有数据都在本机。除「检查更新」会向 GitHub 读取 package.json(只带 User-Agent,不上传任何本地数据)外,插件不发起网络请求。
  • 人设、记忆、日记、资料库和表情包的名称/标签会进入发给模型的提示词;请不要把不希望发送给模型的内容写进人物卡或资料库。
  • 表情包图片以 data URL 保存在本机的 store.json 里,只由本地接口提供,不上传;单张限制 2MB,会占用数据文件体积。

兼容性

插件依赖 DSH 的 tools、systemPrompt、webServer、agents、sessions 服务。DSH 仍处于快速迭代阶段,后续版本如果调整这些接口,插件可能需要同步适配。

开发

项目是纯 ESM JavaScript,没有构建步骤:

npm run check   # node --check:语法检查
npm test        # node --test:存储、记忆衰减、卡片绑定、导入导出测试

目录结构:

路径 作用
index.js Host 半区:提示词注入、工具、HTTP 接口、自动摘要
lib/store.js 存储层与记忆衰减引擎(纯 Node,可独立测试)
client.js Web 设置页、输入框开关、右键菜单
locale/ 插件管理页的标题与描述
cordis.patch.yml bundle 挂载
test/ 单元测试

欢迎 Issue 和 PR。提交前请跑一遍 npm run check && npm test。

许可证

MIT

免责声明

这是一个非官方插件,与 DeepSeek 没有隶属关系。人物卡、记忆和日记的内容由使用者自行负责。

—/ 5

No ratings yet

Verified DSH bundle

Commit 88427f597a97

Community comments

No comments yet. Be the first to write one.

DSH HUB

A community index for DSH plugins. Not an official GitHub or DeepSeek AI product.

CommunityResourcesAPIAbout