前言¶
在 DeepSeek Harness(DSH)里做常驻助手,常见做法是改系统提示词或单独挂一套记忆服务。模型换一套语气往往就要多占上下文,记忆和「人设」也容易搅在一起。dsh-memory-pet 是社区维护者 hansiqian 发布的「记忆」类插件:在同一套调度与工具权限下,用两段可切换的应答外壳(孩童壳 / 主事壳)决定怎么说,并用本地长期记忆、规则抽取与跨会话快照把上下文留在盘里。下面按定位、能力、安装与用法说明,事实以仓库 README 与 SkillHub 目录为准。
这是什么¶
插件在 package.json 中版本为 1.0.1,许可证 MIT,要求 Node.js >= 22.19。README 将其描述为:给 DSH 的常驻陪伴层——一个调度内核、两段应答外壳、一套本地长期记忆。
需要先做区分:外壳不是两个模型,也不是两个人格文件。它们是同一份系统提示词里的两段风格模块,切壳只替换风格那一段;能力、权限与工具结果仍由 DSH 原生机制决定,外壳只影响措辞,没有否决权。共用基座段落 memory-pet:base 由代码生成,设置页与 /pet 指令都改不动,目的是把「是否调工具」留在宿主侧。
数据与配置主要落在用户目录 ~/.dsh/memory-pet/(如 shells.json、头像文件、access.json、记忆存储与 gen/ 生成图等)。DeepSeek Harness 生态主张「一切皆插件」;SkillHub(https://www.skillhub.cn)是社区插件目录,与 DeepSeek / 幻方无官方从属关系。
双外壳:孩童壳与主事壳¶
默认配置写在 ~/.dsh/memory-pet/shells.json:
| 外壳 | 默认名字 | 风格 | 用户可改 |
|---|---|---|---|
| 孩童壳(child) | 小鲸 | 黏人小宠物,短句、软语气 | 名字 + 人设(风格模块) |
| 主事壳(work) | 工头 | 部署原生默认风格,无角色扮演 | 仅名字 |
主事壳是兜底干活档:风格在设置页锁死,/pet style work … 与相关写接口会返回 400。改性格只能走 设置 → 记忆宠物 表单,或用户自己在终端输入的 /pet 指令;模型侧没有改外壳的工具,避免对话里被提示注入改掉人设。保存接口只认本机回环地址、application/json 与显式 POST。
切壳方式:
- 图形界面与指令服务支持的
/child、/work(及/pet系列)。 - 消息行首以
/work或/child开头(后可跟一句话),供 QQ 等只转发纯文本的桥接渠道;行中出现不算。
命令行快捷入口示例:
/pet # 查看两壳名字、字数、风格开头
/pet name child 小可乐 # 改名字(1–16 字,两壳均可)
/pet style child 像一只黏人的小宠物…… # 改风格模块(1–200 字,仅孩童壳)
/pet reset work # 恢复该壳默认(主事壳只恢复名字)
shells.json 损坏时会备份为 shells.json.corrupt-* 并回落默认;超长输入会被拒绝并提示字数,不静默截断。
长期记忆与联想¶
remember / recall 与来源标签¶
插件提供带来源标签的 remember、recall 工具对(README 与 package.json 描述一致)。模型可在对话中主动写入与检索;自动抽取(v0.2)则在用户消息进入时由 lib/extract.js 用规则抓取偏好、身份、约定、项目、环境、更正等原句入库,照抄不改写,标记 source=user,并带 auto 标签。问句、指令、代码、链接不抽;单条消息最多 2 条,库总量有上限,可通过 autoExtract / autoExtractMax 调整;相似度去重避免重复灌库。
有向关联与衰减(v0.4)¶
记忆条目可有向连边:想起 A 时 B 更容易浮现,反向不一定。建边途径包括 remember 的 related 字段,以及 link_memory { from, to, kind? }。注入时做一跳激活扩散;记忆权重与关联边按 README 给出的公式随时间衰减,弱边落盘时会裁剪。
跨会话快照(v0.5)¶
在回合结束(agent/turn-stopping)与会话销毁(agent/disposed)时写入快照,内容为本场话数、最近原话摘录、话题标签等,拼成「上次我们在聊:…」;新会话注入块首行带 【快照摘要】。store.json 仅保留一个 snapshot 字段(上一场顶掉上一场)。可通过 cordis.patch.yml 的 config.snapshot: false 或 settings.snapshot === false 关闭,记忆注入本身不受影响。
界面:气泡、头像与状态¶
v0.3.6 起在对话输入框下方展示头像 + 名字 + 状态(running / idle / sleeping),由宿主事件驱动,不额外调用模型。客户端通过只读接口轮询,例如 GET /dsh-memory-pet/status?session=<id> 与 GET /dsh-memory-pet/avatar(带 etag),同样只认本机回环 GET。
换头像可先放文件到 ~/.dsh/memory-pet/avatar.png(亦支持 .jpg / .jpeg / .webp,v0.8 起含 .gif,不超过 512 KiB),或在 设置 → 记忆宠物 使用「换张脸」POST 到 /dsh-memory-pet/avatar。v0.7 起孩童壳与主事壳可各用 avatar-child.<ext> / avatar-work.<ext>;查找顺序为「该壳专用 → 共用 avatar.<ext> → 包内默认猫脸」。不收 SVG(防同源 XSS);按文件魔数校验格式。
主人与外人(v0.9)¶
默认「键盘前即主人」。接 QQ、B站等外部渠道时,用 ~/.dsh/memory-pet/access.json 定义主人名单,身份为 渠道 + userId:
{
"version": 1,
"owners": [
{ "channel": "local", "userId": "*" },
{ "channel": "qq", "userId": "10001" }
]
}
文件缺失或损坏时仅认本机 local/*,外来均为外人。名单在插件装载时读一次,修改后需重启 DSH 或重装插件。外人侧:remember / recall / link_memory 不出现在工具表;/child /work /pet 静默空返回;不落库、不写快照、注入为空,界面永远是孩童壳语气,不解释权限。
桥接器可为会话标注身份,例如:
Invoke-RestMethod -Method Post -Uri http://127.0.0.1:53403/dsh-memory-pet/identity `
-ContentType application/json `
-Body ([Text.Encoding]::UTF8.GetBytes('{"session":"s-abc","channel":"qq","userId":"10001"}'))
(端口以当前 DSH 宿主为准;接口只认回环与 JSON,请求体上限 4 KiB。)
draw 工具(v1.0)¶
主人可用 draw 调用本机已登录的 arkcli(火山方舟)生图;凭据在 ~/.arkcli/.env,不进提示词与插件配置。示例:
draw(prompt="淡紫 Q 版小鲸鱼,白底,扁平插画", avatar="child")
产物默认落在 ~/.dsh/memory-pet/gen/;若超过 maxBytes(默认 512 KiB)则不会偷偷换头像。仅主人可见该工具;提示词要求仅在用户明确要图时才调用。
安装与启用¶
SkillHub 目录页(https://www.skillhub.cn/plugins/hansiqian/dsh-memory-pet)标注插件为 hansiqian/dsh-memory-pet,当前展示版本 v1.0.1,并提供「发送给 DeepSeek Harness 安装」的文案。页面可见原文为:
请安装 DSH 插件 hansiqian/dsh-memory-pet。先读取..
(后续句式在抓取结果中不完整,完整说明请以目录页与仓库 docs/使用说明.md 为准;README 亦指向该文档说明改名、切壳、记忆存储路径、关闭与卸载区别。)
安装前建议通读 GitHub 仓库 源码与 MIT 许可证。插件以当前 DSH 进程权限运行,记忆与身份接口均假定本机可信环境;对接外网渠道时务必配置 access.json 并理解外人面的能力收缩。
启用后可在 DSH 设置中找到「记忆宠物」页,与 /pet 指令读写同一份 shells.json。
典型用法小结¶
- 日常闲聊切 孩童壳(
/child或行首/child …),需要正经执行任务时切 主事壳(/work)。 - 在设置页或
/pet name、/pet style child调整宠物名字与语气;干活档只改工头名字。 - 依赖
remember/recall与自动抽取积累偏好与事实;跨天开新会话时靠快照摘要接上「上一场聊到哪」。 - 外接 IM 时配置
access.json与identity接口,避免外人调用记忆工具或切壳。 - 需要定制头像时使用设置页上传或放置
~/.dsh/memory-pet/avatar-child.*等文件;可选draw生成并换上孩童壳脸。
适用场景与注意¶
更适合希望 一套记忆、两种语气 的 DSH 用户:陪伴感用孩童壳,写代码、跑工具用主事壳,而不拆成两个智能体。有向记忆与快照适合长周期个人助手;接公共渠道时必须用 v0.9 身份闸,否则对话内容可能触发提示注入改人设的风险虽在壳配置上已收窄,但工具与记忆仍应对外人不可见。
注意:自动抽取是规则型,不是全量理解;关联与衰减参数按 README 固定实现。draw 依赖 arkcli 与计费配额。卸载与「关闭部分功能」(如 snapshot)含义不同,见仓库使用说明。
结尾¶
dsh-memory-pet 把调度、双外壳风格、本地长期记忆、快照与可选生图收进一个 MIT 插件,由 hansiqian 维护,在 SkillHub 归类为「记忆」。若要查阅元数据或发起安装,可打开目录页 https://www.skillhub.cn/plugins/hansiqian/dsh-memory-pet ;开发与行为细节以 https://github.com/hansiqian/dsh-memory-pet 的 README 及 docs/使用说明.md 为准。