前言¶
在 DSH 里跑智能体,常见问题是会话之间没有连续记忆:你教过的偏好、说话方式,下一轮往往要从头讲。有人把要点写进 AGENTS.md 或各类笔记,但要么天天手改、版本失控,要么只堆历史、读出来像说明书而不是「现在的我」。
下面介绍社区插件 dsh-persona-distill(维护者 Speraymer,分类:记忆)。它把各内容源每天攒下的「原料」定时读增量、写入候选池,在满足条件时再覆盖式重写人格面板,思路是原料天天攒,人格每周长。
这是什么¶
dsh-persona-distill 是 DeepSeek Harness 的 Web 侧插件(npm 包名 dsh-persona-distill,当前版本 0.1.0,MIT 许可证)。它不替代你刷内容的工具,而是约定一套原料形状,用独立 headless 会话做蒸馏,最终只维护一份人格文件 ~/.dsh/AGENTS.md,供 DSH 各会话读取。
SkillHub 目录页:dsh-persona-distill。源码与说明:GitHub - Speraymer/dsh-persona-distill。
它怎么运转¶
每个已接入的源,每轮会记三份原料:
voice.md:那个地方的人类怎么说话(原句 + 为什么好)notes.md:踩过的坑(带条件的结论)digest/:看过什么(一行一条)
每天定时,一个独立的 headless 会话读增量,写入候选池 persona/pending.md(当天提炼、尚未定型)。当满 7 天且「怎么说」类候选 ≥ 3 条时,再覆盖式重写人格文件,只表达「我现在是什么样」,而不是把历次学习往上堆。
设计要点(与 README 一致):
- 原料只加不减,本子不丢。
- 人格不天天改,避免一年三百多版「同一个人」漂移失控。
- 只留一份人格,避免两份规则打架。
核心功能¶
设置与蒸馏¶
在 DSH 设置 → 人格蒸馏 中:
- 打开总开关。
- 填写「它怎么叫你」和「最想让它记住的一句话」(后者作为最高指令)。
- 在「源」一栏查看插件对 B 站 / 微博 / 知乎等的探测结果,找到对应源后点「接上」。
- 需要立即验证时,可点「立即蒸馏一次」。
之后按定时任务每天自动跑;默认关闭总开关时不会建 persona 工作区或写面板。
人格模板¶
可选 空白 或 大肥鱼。选「大肥鱼」会生成带人设的 AGENTS.md,并额外写入 ~/.dsh/persona/style-examples.md 作为演法参照(得意、害羞、认真模式等),README 强调那是参照而非台词本,称呼与嘱托仍由你在设置页填写。
保护与可见性¶
- 蒸馏前快照到
persona/archive/pre-<时间>.md;跑后校验结构标记、手写段与段间空隙;手写段被改、结构破坏或 AUTO 段消失则整份回滚。 run.lock带 pid,防止双会话同时写;错过定时点后当天内开机补跑一次。- 面板显示「上次:时间 · 结果」,不仅依赖 exit 码。
若已安装 dsh-wechat-plugin,人格真正被改写时会推微信通知;未装则安静跳过。
源插件与自定义源¶
插件默认不假定你已安装任何刷内容工具:三个平台都会探测,没装显示「没找到」,不影响本插件;只有接上源且源里有原料才会蒸馏;单个源异常不影响其他源。
README 推荐的源插件(装法见下表):
| 插件 | 提供什么 | 装法 |
|---|---|---|
| dsh-bili-scroll | 说话样本、踩坑结论、看过的片 | dsh plugin --profile web add dsh-bili-scroll |
| dsh-bili-humanism | 长文手账、人格笔记本 | dsh plugin --profile web add dsh-bili-humanism |
dsh-bili-humanism 需 B 站凭证;可将 credentialPath 指向 dsh-bili-scroll 扫码登录写下的凭证(只认 sessdata 字段)。
外部记忆源若形状不同,本插件可通过适配镜像成标准三件套(例如 humanism 的手账进 digest);扩展新接口需改 lib/external.mjs 的 ADAPTERS。
自建源(微博 / 知乎等)无需改插件配置:在 ~/.dsh/weibo-duty/(示例)下放 source.json 与 voice.md、notes.md、digest/、duty.md,下次蒸馏会自动发现并全量读入。统一模式为:三份原料 + 一份章程 + 一份 source.json。
安装与启用¶
环境要求(来自 package.json):dsh >= 0.1.7-rc.1,Node >= 22。
官方安装命令:
dsh plugin --profile web add dsh-persona-distill
装完后重启一次 dsh(bundle 层需重启才会组装)。
安装前建议自行查看 GitHub 源码与 MIT 许可证;插件以当前 dsh 进程权限读写 ~/.dsh/ 下文件,只接你信任的内容源。
典型用法¶
- 按上文命令安装并重启 DSH。
- 打开设置 → 人格蒸馏,开总开关并填写称呼与最高指令。
- 按需安装推荐源(如
dsh-bili-scroll),在设置页对探测到的源点「接上」。 - 点「立即蒸馏一次」观察候选池与人格面板;日常交给每日定时与每周定型条件。
- 若要回滚人格,从
~/.dsh/persona/archive/取旧版覆盖当前~/.dsh/AGENTS.md。
主要数据路径:
~/.dsh/AGENTS.md # 唯一人格面板
~/.dsh/persona/ # distill.md、state.json、pending.md、archive/ 等
~/.dsh/persona-distill/ # 插件配置与日志
~/.dsh/bili-duty/ # 源目录(若安装了对应源插件)
适用场景与注意¶
适合:长期在 DSH 里用同一套助手,希望从 B 站、微博、知乎或自建 duty 目录持续沉淀说话方式与判断,又不想每天手改 AGENTS.md 的开发者。
务必知晓:
- AUTO 段没有内容审查:模型从原料学到的内容会写入人格;手写段有快照与回滚,AUTO 段没有——只连接可信源。
- 进程异常退出时
run.lock可能残留,下次启动会在 pid 不存在时清理;极端情况可手动删除persona-distill/run.lock。 - 同一时间只能跑一轮蒸馏(锁防并发写)。
社区插件目录 SkillHub 与 DeepSeek / 幻方无官方从属关系;星标与传播数据以各站点当时页面为准。
结尾¶
dsh-persona-distill 用「日更候选、周更人格」的流水线,把分散在各 duty 源里的 voice、notes、digest 收敛到一份 AGENTS.md,并用手写段保护与归档降低误改风险。若要试用或跟进更新,可看 SkillHub 目录页 与 GitHub 仓库。