前言¶
在 DeepSeek Harness(DSH)里做长期陪伴或角色型助手时,常见做法是把整段聊天记录塞进上下文或外部数据库,模型要么「什么都记得」显得不像人,要么靠手工摘要维护成本高。心印(dsh-heartprint)走另一条路:在本机维护一套按时间分层、会压缩与淡忘的记忆库,长期保留性格形成、情感与重要事件节点,并定期整理成一份可交付的记忆文档。下面介绍它是什么、怎么装、日常怎么用,以及安装前需要留意的边界。
这是什么¶
心印是维护者 youchen-yc 发布的 DSH 插件,社区目录分类为「趣味换装」,当前 GitHub 星标为 0。插件版本见仓库 package.json(资料中为 1.1.1),许可证 MIT,要求 Node >= 20、dsh >= 0.2.1-rc.1。
定位可以概括为:让 AI 拥有一套会自然淡忘的性格、情感与记忆——不是「数据库里存着全部聊天记录」,而是近事清晰、久远细节压缩、感受变淡,最终长期留下的是性格、情感与重要特殊事件的节点;值得保留的内容会整理成一份记忆文档,按节奏交到你指定的目录。
插件不联网、不上传;记忆落在本机数据目录(默认 <DSH_HOME>\heartprint,未设置 DSH_HOME 时为 %USERPROFILE%\.dsh\heartprint)。
安全提示(资料原文):1.1.0 之前的版本(1.0.0 / 1.0.1 / 1.0.2)未经过安全加固,存在已知加固缺失。请使用 1.1.0 及以上版本。
记忆如何分层与保留¶
遗忘由可调的「遗忘日历」驱动,8 个层的 id 固定,默认起点如下(单位:天):
| id | 默认起点 | 层含义 |
|---|---|---|
fresh |
0 | 近几天 |
recent |
7 | 清晰期尾声 |
fade |
15 | 半个月到一个月 |
quarter |
30 | 一个月到三个月 |
halfyear |
90 | 三个月到六个月 |
year |
180 | 六个月到一年 |
longterm |
365 | 一年到十年 |
deep |
3650 | 十年以上 |
时间越久,正文与感受会按 README 中的表格逐步压缩、合并或删除琐碎内容;核心节点(性格形成、情感节点、灵性转折、重要特殊事件、痛苦记忆等)不参与合并与删除。记忆还按重要程度分四类:核心节点全量保留;重要(默认阈值 importantThreshold 70)、次重要(默认 secondaryThreshold 40)以压缩文本保留;琐碎才会走到合并与删除。
痛苦记忆单独处理:事实保留,当时的痛苦感受走强制淡忘轨道(7 天内完整,之后逐步变淡,1 年以上几乎只剩「发生过」),且不会回满到当时的痛。
离开对话超过 awayGraceDays(默认 7 天)再回来,这段期间不计入遗忘;不超过 7 天则照常维护。
核心能力概览¶
- 记与想:通过
heartprint的remember、recall、profile、status写入记忆、按条件回想、读性格核心与统计。 - 维护与交付:后台按插件启动、定时(约每 6 小时)、
remember后等时机自动维护(受maintainThrottleMinutes节流);满firstDeliveryAfterDays(默认 90 天)后自动交付第一份文档,之后每deliveryIntervalDays(默认 30 天)一份;也可用heartprint_admin action=deliver立即交付。 - 人设:首次安装空库时,AI 会在合适时机引导起名与人格、性格设定,写入
policy.json(每项最多 400 字);之后可用heartprint_admin action=policy或 设置 → 心印 修改。 - 管理:
heartprint_admin提供maintain、doc、deliver、policy等动作;遗忘日历、交付节奏、阈值等可通过policy的patch合并修改,reset: true恢复默认。
交付文件命名示例:小印·陪伴3个月·2027-01-25.md,默认目录为工作区下的 心印交付(可配置 deliveryDir)。交付后会持续更新同一份;你移动或删除该路径后,插件不会在原路径重建,到期会在交付目录生成新文件。每份文档是全量而非增量。
数据目录结构(资料原文):
heartprint/
├─ memories.json 记忆库(唯一真相)
├─ policy.json 遗忘日历、交付节奏与人设
└─ docs/ 内部工作区(自动维护)
安装与启用¶
本插件是标准 DSH bundle。资料给出的分发安装方式为(需替换为插件文件夹的绝对路径):
plugin_manager install_bundle <插件文件夹绝对路径>
说明要点:
- 只分发
package.json的files清单内文件(如index.js、client.js、lib/*.js、cordis.patch.yml等),不要把<DSH_HOME>\heartprint下的memories.json、policy.json、docs/打包给别人。 - 每个新安装默认空库;名字与人设不预置,由安装者自行设定。
- 安装后工具出现在该 profile 的所有会话;可在 profile patch 或
cordis.patch.yml中配置dataDir、deliveryDir、personaName等,也可在 设置 → 心印 修改。
安装前请自行阅读仓库源码与 LICENSE,并确认使用 1.1.0+ 版本。插件以当前 DSH 进程权限读写本机目录;记忆 JSON 在磁盘上可读,换机或清数据前请自行备份。
典型用法¶
首次引导(由 AI 发起时)¶
起名、人格、性格依次保存到 policy,例如:
heartprint_admin action=policy patch={"personaName":"名字"}
heartprint_admin action=policy patch={"personaProfile":"…"}
heartprint_admin action=policy patch={"characterProfile":"…"}
查看人设状态:
heartprint action=status
记下一段记忆¶
heartprint action=remember 可带 title、content、feeling、type、valence、importance、special、happenedAt、people、tags 等字段。type 可选包括 personality、emotion、turning_point、shared_beauty、pain、event、insight、daily;valence 可选 warm、tender、excited、calm、painful、mixed、neutral。
调整遗忘日历(示例)¶
只写要改的层,afterDays 表示从哪一天起进入该层;插件会排序并保证严格递增:
{
"action": "policy",
"patch": {
"layers": [{ "id": "halfyear", "afterDays": 120 }],
"syncIntervalDays": 45
}
}
工具速查¶
| 工具 | action | 作用 |
|---|---|---|
heartprint |
remember / recall / profile / status |
日常记、想、读档、看统计与交付节奏 |
heartprint_admin |
maintain / doc / deliver / policy |
立即维护、读文档、交付、策略与人设 |
heartprint_admin action=doc 可读 which=master / user / status;full=true 返回全文。
适用场景与注意¶
适合:希望在 DSH 里做长期陪伴、角色一致性、情感节点可沉淀,又不想让上下文无限膨胀的开发者;需要本机可控、可导出 Markdown 记忆档案的场景。
注意:
- 社区目录 SkillHub 插件页 与 GitHub 仓库为社区分发与源码来源,与 DeepSeek / 幻方无官方从属关系;DSH 生态理念是「一切皆插件」。
- 务必使用 1.1.0 及以上版本;安全细节见仓库
docs/security/、SECURITY.md,发布含 CycloneDX SBOM(sbom.cdx.json)。 disclosure配置项:confidential(默认)或disclosed(已交付),按你的披露需求选择。
结尾¶
心印把「像人一样会忘」做成可配置的引擎:分层压缩、核心节点长期保留、痛苦感受强制淡去,并把结果同步到一份可交付的记忆文档。若要在本机 DSH 环境试用,可从目录页了解分类与简介,从 GitHub 获取 bundle 并按 plugin_manager install_bundle 安装。
- 目录页:https://www.skillhub.cn/plugins/youchen-yc/dsh-heartprint
- GitHub:https://github.com/youchen-yc/dsh-heartprint