前言¶
在 DeepSeek Harness(DSH)里跑 QQ 仿真或长期桌面会话时,常见问题是:人格写在静态 Markdown 里,换会话、换模型实例后,说话习惯和关键记忆不会自动累积;情绪状态也很难跨会话延续。手工改角色卡成本高,还容易和桥接侧的人格卡预算打架。
下面介绍社区插件 dsh-love(维护者 LIU118117,分类:记忆)。它在本机记录聊天样本,由 AI 在桌面会话里调用蒸馏工具,把一天对话合并进可版本化的角色卡,并单独维护跨会话的感情模块;压缩后的内容通过系统提示词小节注入每次会话装配,可与 SnowLuma 等 QQ 桥接配合使用。
这是什么¶
dsh-love 是 DSH(Cordis)的 Host-only bundle:把每天的聊天过程蒸馏成可更新的角色卡与跨会话感情模块,持续训练角色卡,重点是保留说话习惯、保住关键记忆点。
- 目录页:https://www.skillhub.cn/plugins/LIU118117/dsh-love
- 源码:https://github.com/LIU118117/dsh-love
- 许可证:MIT(见仓库 README)
- package.json 版本:1.0.0
插件以当前 DSH 进程权限读写本机数据;安装前请自行查看源码与许可证。
核心功能¶
自动记录¶
装好后,AI 的 QQ 发言、读到的对话上下文会自动写入 logs/YYYY-MM-DD.jsonl。README 说明:不记录 token 等敏感字段,量有上限,只存本机;捕获时会剔除 token / password / secret 等字段,单份日志超限会剪头保尾。
每日蒸馏(训练)¶
在桌面会话里调用 love_distill,把当天聊天提炼为说话习惯(带权重)、口头禅、关键记忆点等,合并进角色卡:自动去重、限量、备份旧版、可回滚。蒸馏只做本机文件读写,不调用模型 API;具体提炼由调用 love_distill 的 AI 完成。
每个会话生效¶
压缩版角色卡与感情模块注册为全局系统提示词小节,所有会话(含 QQ 仿真会话)每次装配都会带上,下一个 AI 能继承上一个 AI 的习惯表达。
独立感情模块¶
情绪状态(正负/强度/起因)、情绪表达规则、关系热度单独存放在 emotion.json,跨会话持久,按半衰期衰减回基线;QQ 聊天里可用 love_emotion 更新。
训练结果同步共享人格卡¶
蒸馏后可自动把生成节同步进共享人格卡文件(标记替换、留 .dsh-love.bak 备份),依赖该文件的系统提示词(如 README 提到的 douyin 人格卡路径)可读到新习惯。是否同步由配置 autoSync 控制。
数据目录¶
默认 <DSH_HOME>/dsh-love/(Windows 为 C:\Users\<你>\.dsh\dsh-love\)。可通过 cordis.patch.yml 的 dataDir 覆盖。
| 文件 | 内容 |
|---|---|
card.json |
角色卡:说话习惯、口头禅、语气、黑名单表达、关键记忆、按人印象、训练版本 |
emotion.json |
感情模块:基线、当前情绪、衰减参数、表达规则、事件史、关系热度 |
logs/YYYY-MM-DD.jsonl |
每天聊天日志(自动捕获 + love_log 补记),默认保留 30 天 |
training/backups/card-v<N>.json |
每次蒸馏前的旧卡备份(love_card rollback 回滚用) |
role-card.md |
渲染出的完整角色卡(可人工查看或复制) |
工具一览¶
| 工具 | 用途 |
|---|---|
love_status |
查看训练版本、今日样本统计、当前情绪 |
love_log |
补记一段重要对话到今天的日志 |
love_distill |
每日训练:把一天聊天蒸馏进角色卡、更新感情模块、同步共享人格卡 |
love_emotion |
读/更新感情模块(情绪、事件、关系热度、表达规则、基线) |
love_card |
直接读/改角色卡节,或回滚到历史版本 |
love_export |
把整卡与感情模块导出为 Markdown / JSON |
安装与启用¶
本插件是 Host-only bundle,不需要构建、没有依赖。在 DSH 里使用官方 README 中的方式:
plugin_manager install_bundle <本仓库绝对路径>
也可把仓库目录作为 install_bundle 的 target。
DSH 社区插件目录在 SkillHub 等独立站点维护,与 DeepSeek / 幻方无官方从属关系;安装命令以仓库 README 为准,不要凭插件名拼接未文档化的 CLI。
配置¶
在 cordis.patch.yml 的 config 中可调整(以下为 README 记载的键与默认值):
| 键 | 默认 | 说明 |
|---|---|---|
dataDir |
'' |
数据目录,空则 <DSH_HOME>/dsh-love |
captureSends |
true |
自动记录 AI 的 QQ 发言 |
captureReads |
true |
自动记录读到的对话上下文 |
autoSync |
true |
蒸馏后同步共享人格卡 |
syncTargets |
[] |
同步目标文件列表;空则自动找 <DSH_HOME>/douyin-browser/memory/persona/role-card.md |
sectionOrder |
300 |
系统提示词小节顺序(0 与 500 之间为人格前缀之后) |
maxInjectedChars |
2200 |
注入每个会话的最大字符数 |
logKeepDays |
30 |
聊天日志保留天数 |
典型用法:每日训练循环¶
README 给出的工作流可按下面步骤复现。
- 白天:QQ 聊天自动落日志;AI 情绪波动时在合适会话里调用
love_emotion。 - 每天结束(桌面会话):调用
love_distill,带上当天提炼出的字段,例如:
-speechHabits(说话习惯,重要度 1~5)与过时习惯的dropHabits
-catchphrases、tone、banned
-keyMemories(关键记忆点,重要度 1~5)与dropMemories
-people(对群友/群组的印象、关系热度)、emotion(当天情绪总结) - 插件自动处理:统计当天样本(平均句长、表情频率、高频词)→ 合并去重限量 → 备份旧卡 → 版本 +1 → 重渲染
role-card.md→ 按配置同步共享人格卡。 - 下一会话:系统提示词自动带上新卡(说话习惯、关键记忆、当前情绪)。
需要快速查看状态时,先调 love_status;重要对话漏记时用 love_log 补进当日 jsonl。
与 QQ 桥接(SnowLuma)配合¶
QQ 仿真会话(如 qq-chat-v2 等预设)是普通 DSH 会话,本插件的系统提示词小节会自动进入每个 QQ 会话——角色卡与感情模块随每次装配生效,不占桥接每消息 6000 字符的人格卡预算。
要在 QQ 会话内更新感情模块,桥接守卫需放行三个只读写本插件数据的工具。在 qq-tool-restrict 的 SAFE_EXACT 里增加:
const SAFE_EXACT = new Set([
'ask_user_question',
'todo_write',
'love_status', 'love_emotion', 'love_log', // dsh-love
])
并建议在守卫里把训练类工具限制在桌面会话:
try { ctx.tools.restrict({ deny: ['love_distill', 'love_card', 'love_export'] }) } catch {}
适用场景与注意¶
适合谁:需要长期 QQ/桌面多会话、希望说话习惯与关键记忆可迭代、且情绪与关系热度要跨会话保持的 DSH 用户;已与 douyin-browser 等人格卡文件联动时,autoSync 可减少双份维护。
务必注意:
- 聊天日志仅写本机
<DSH_HOME>/dsh-love/,README 声明不上传外部;仍建议在敏感环境审查捕获逻辑与日志内容。 - 插件以当前 dsh 进程权限运行;安装前检查源码与 MIT 许可证。
love_distill等训练工具宜只在可信的桌面会话开放,避免在受限 QQ 会话中误改角色卡或导出全量数据。
结尾¶
dsh-love 把「记日志 → 桌面蒸馏 → 版本化角色卡 + 感情模块 → 全局注入」串成闭环,适合把 DSH 里的角色从静态文档改成可回滚、可限量的本机记忆层。进一步了解可打开目录页与 GitHub 仓库: