前言¶
DSH(DeepSeek Harness)的理念是「一切皆插件」。开发者常遇到这样的问题:规则和身份分散在多个文件里,每次新建会话时,agent 往往忘记读取,导致回答与设定不一致。这个插件把「起床」变成机器动作:每次创建新 agent 时,自动读取你的家目录,把身份、家规、日记和账本塞进会话开头,再由人开始说话。
这是什么¶
dsh-wakeup 是一个 DSH 插件,维护者 hzh5021。它的核心价值是在每个新对话开始前,把家目录里的内容注入到上下文,同时保持家目录可写,让 agent 在对话中修改自己的设定,下次重启时生效。它只负责读取和注入,不做索引、检索或存储。
核心功能¶
- 自动读取家目录:每次创建新 agent 时,自动读取家目录中的指定文件。
- 分层记忆:支持人格、语义、情节、程序四层记忆,各有不同更新策略。
- 可写家目录:agent 在对话中修改的文件会被写回,下轮会话继承。
- 离线冒烟测试:
node test/smoke.mjs在临时目录跑 14 项检查,不碰真实家目录。 - 提供接入问答:
接入问答.md包含十来道问答题,用于快速填出初始家。
安装与启用¶
一键安装¶
node install.mjs # 想先看它要做什么:node install.mjs --dry-run
这条命令完成:复制插件到插件目录、在 profile 的 package.json 里登记依赖和 bundle、运行 pnpm install、在桌面创建一个家目录、运行自检。最后只需重启一次 DSH。
手工安装(四步)¶
- 把整个
dsh-wakeup/放进插件目录:~/.dsh/plugins/dsh-wakeup/; - 在 profile 的
package.json里登记两处:
-dependencies加"dsh-wakeup": "file:../../plugins/dsh-wakeup",
-dsh.profile.bundles数组里加"dsh-wakeup"; - 照
示例家/抄一个家,在 profile 的cordis.patch.yml里指过去:
- id: wakeup
config:
home: D:\我的家
不知道写什么?打开 接入问答.md,按题答完第一批 6 题就能跑。
4. 重启 DSH。
典型用法¶
配置项¶
在 cordis.patch.yml 中,常用的配置项包括:
home:家目录路径(必填)。coreFiles:每次必读的文件列表。diaryDays:日记保留天数。memoSections:最近账本保留节数。worknoteFile/worknoteSections:可选的外部笔记文件及节数。maxChars:注入到上下文的字符上限。
完整配置表、目录结构、注入包长什么样、边界与常见问题见 使用说明.md。
验证安装¶
cd ~/.dsh/plugins/dsh-wakeup
node test/smoke.mjs
该命令在临时目录搭一个假家,跑 14 项检查:读家、排序、模板、截断、注入去重、跳过 subagent、抓「记住」、工作笔记…… 全过会打印 OK —— 14 项全过。
家目录结构¶
示例家目录结构:
示例家/
├── README.md 记忆分层表(人格 / 语义 / 情节 / 程序)
├── 灵魂设定.md 说话的规矩.md 判据集.md
├── 错题集.md 成长记录.md 长期记忆库.md 感官记忆.md
├── 操作手册.md 程序层:不进起床包,用到时翻
├── 记忆档案/ 情节层的冷冻层(搬过来的旧节,原文不动)
├── 日记/
├── 家门.md 收尾.md (可选)替换注入包里的两段
└── 门面设定.png 桌面上家的图标
记忆分层与更新策略¶
- 人格:不变的身份。
- 语义:说话风格、同类事判据,靠「提炼」往上长。
- 情节:哪一天发生了什么,靠「巩固」往下压,旧节搬入
记忆档案/,原文不动。 - 程序:怎么干活,用到时翻,不进起床包。
适用场景与注意¶
- 适合需要稳定身份和家规的 DSH 开发者,尤其是希望 agent 自我完善设定的场景。
- 插件以当前 dsh 进程权限运行,安装前应检查源码与许可证。
- 边界说明:只读不改;只在创建 agent 时注入一次,resume / fork 不重复,subagent 不注入;不做检索、索引、存储;家文件每轮都在上下文,家越厚越贵,不要放长文和敏感数据。
短结尾¶
dsh-wakeup 把「起床」变成机器动作,让 agent 每次都带着完整的家目录开始对话,同时保持家可写,实现自我完善。完整说明见目录页和 GitHub。