dsh-wakeup:在每次会话前把「家」注入 DSH

前言

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。

手工安装(四步)

  1. 把整个 dsh-wakeup/ 放进插件目录:~/.dsh/plugins/dsh-wakeup/;
  2. 在 profile 的 package.json 里登记两处:
    - dependencies 加 "dsh-wakeup": "file:../../plugins/dsh-wakeup",
    - dsh.profile.bundles 数组里加 "dsh-wakeup";
  3. 照 示例家/ 抄一个家,在 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。

参考资料

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜