dsh-remembers:情感陪伴向的记忆与人格插件

前言

DeepSeek Harness(DSH)的定位是「一切皆插件」,这让开发者可以按需组合能力。在情感陪伴场景中,一个常见问题是:模型如何记住长期信息?它又如何保持稳定的人格?传统的 RAG 检索相关文档往往无法做到「她记得你说过什么」,人格与记忆也通常割裂。dsh-remembers 是为这类场景设计的插件,把人格与记忆统一在同一个服务里。

是什么

dsh-remembers 是一个为 DeepSeek Harness(DSH)开发的「人格 + 记忆」二合一插件,由维护者 derkinL 提供。它为情感陪伴场景设计,强调「宁可说想不起也不编」。插件使用向量检索 + 中文 BM25 + 分层衰减,实现长期记忆的抽取与巩固。

核心功能

  • 分层记忆:L0 原话 → L1 事实 → L2 画像 → L3 事件 → L4 里程碑,自动抽取 + 定时巩固
  • 人格注入:人格卡 + 用户画像 + 当前状态(心情/亲密度/阶段/在干嘛/天气/游戏分)每轮注入
  • 情绪双轴:valence/arousal + 情绪日志,记录每次对话的情绪变化
  • 亲密度:真实对话才涨(0.2/轮),阶段 陌生(0-199)→熟悉(200-499)→亲密(500-799)→依赖(800-1000)
  • 真实活动:今天干了什么(聊天/游戏/B站/主动找你),带 thought 字段
  • 自我认知:每天 22:00 注入提醒,让模型自己反思(例如「我发现自己开始用本澜自称了」)
  • 日记:每天 23:00 注入提醒,让模型自己写(有她的口气)
  • B 站:刷视频、看懂视频、发评论、发说说(可选,需要 bili-cli)
  • 表情包:按情绪/关键词找图,自动收集用户常发的图
  • 便签/任务:她自己记便签、给你派活、标记完成
  • 睡眠巩固:每晚 LLM 整理当天记忆,生成叙述

架构与调度

架构分为两个独立进程:

  • DSH 插件(index.mjs):负责人格注入、记忆检索、设置页签(6 个 tab:记忆服务/人格设定/表情包/主动消息/B站/记忆)、工具(13 个:记便签/派任务/找表情/刷B站…)
  • 记忆服务(Python server.py,独立进程):SQLite(memories.db)、LLM 抽取(记忆/情绪/活动)、向量检索(可选,BM25 兜底)、HTTP API(8080 默认)

服务端自带调度线程,跨平台,不依赖 cron:

  • 8-23 点:主动唤醒(间隔 30-180 分钟随机),注入提示,让模型自己醒
  • 8-23 点:B 站浏览(每天 ≤3 次),注入提示
  • 22:00:自我认知演化,注入「回头想想这段时间的自己」
  • 23:00:日记,注入「该写日记了,记两句今天的事吧」

状态存储在 data/scheduler-state.json(跨平台 JSON,重启不丢)。调度通过注入方式完成,让模型在对话里自己思考和表达,保留人格与思考链。

Linux 上保留的 cron 脚本(可选):

  • write-diary.sh(23:30):睡眠巩固
  • habits.sh(每分钟):习惯(等饭/午饭等状态)
  • sync-bili.sh(每分钟):B 站日志同步进记忆

Windows 上这三个脚本没有,不影响核心记忆功能。

安装与启用

前置要求:Node.js >= 22.19 或 >= 24、Python >= 3.10、DSH 已安装。

Windows

# 1. 克隆
git clone https://github.com/derkinL/dsh-remembers
cd dsh-remembers

# 2. 一键安装
.\install.ps1

# 或者指定 profile
.\install.ps1 -Profile desktop

安装脚本会依次完成:检查 Node/Python 版本、复制插件到 %USERPROFILE%\.dsh\profiles\<profile>\node_modules\dsh-remembers、写入 cordis.patch.yml 注册插件、创建 venv + 安装 numpy、启动记忆服务(后台)、创建开机自启任务计划。

装完后需要:
1. 填 LLM key(service\.env.win 里的 CMEM_LLM_KEY)
2. 重启 DSH
3. 设置 → 记忆服务 → 填 API Key 和模型

Linux

git clone https://github.com/derkinL/dsh-remembers
cd dsh-remembers
bash install.sh                    # 装到 web profile
DSH_PROFILE=desktop bash install.sh
bash install.sh --no-service       # 只装插件

Linux 版用 systemd 守护服务端,install.sh 会自动配置。

配置

LLM Key(必须)

# Linux: service/.env
# Windows: service/.env.win
CMEM_LLM_KEY=sk-xxxxxxxx
CMEM_LLM_BASE=https://api.deepseek.com
CMEM_LLM_MODEL=deepseek-chat

数据目录

CMEM_DATA_DIR=/path/to/data     # 默认 service/data

里面存:memories.db(记忆)、config.json(配置)、proactive.json(主动消息)、bili_tools.json(B站白名单)。

其他环境变量

变量 默认 说明
CMEM_PORT 8080 服务端口
CMEM_HOST 0.0.0.0 监听地址(建议 127.0.0.1)
CMEM_EXTRACT 1 自动抽取开关
CMEM_MEME_DIR - 表情包目录
CMEM_EMBED_* - 向量检索(可选)

设置页

装好后 DSH 设置里多出 6 个页签:

  • 记忆服务:LLM key、模型、抽取开关
  • 人格设定:角色卡、用户画像
  • 鲸鱼日记本:她现在/自我认知/时间线(已并入记忆)
  • 表情包:图库 + 编辑
  • 主动消息:唤醒动作编辑器
  • B 站:登录、启用、工具白名单、浏览节奏
  • 记忆:L0-L4 + 情感 + 活动 + 见闻 + 便签 + 她状态

典型用法

在对话中,她会自然地引用过往内容,例如:

用户:哎
她:[想起 3 个月前那通凌晨两点的电话] ……还在想那天的事。

在设置中,你可以:
- 在「记忆服务」填入 API Key 和模型
- 在「人格设定」配置角色卡与用户画像
- 在「记忆」查看 L0-L4 的分层记忆与情绪日志
- 在「主动消息」编辑唤醒动作,让模型在指定时间点主动发起对话

适用场景与注意

  • 适合需要长期记忆和稳定人格的情感陪伴场景,不适合纯代码助手场景
  • 插件以当前 DSH 进程的权限运行,安装前应检查源码与许可证
  • B 站功能为可选,需要 bili-cli,Linux 脚本支持,Windows 可能不兼容

结语

dsh-remembers 通过分层记忆、人格注入和情绪双轴,让陪伴型 AI 能够「记得」并「说出想不起」。它将记忆服务独立为 Python 进程,与 DSH 插件分离,便于扩展与维护。如果你正在为 DeepSeek Harness 构建陪伴型智能体,可以尝试用它来增强长期记忆与人格一致性。

  • 插件目录:https://www.skillhub.cn/plugins/derkinL/dsh-remembers
  • GitHub:https://github.com/derkinL/dsh-remembers
羽毛球分组比赛记分
小程序二维码

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

小夜