前言¶
长会话的智能体在「睡着」这段时间里通常是空白的:不产生消息,也不改变任何状态。如果你想让它有更连续的人格感,常见做法是手动写几条休眠期的情绪记录,或者干脆跳过这段时间不做处理。下面介绍的插件 yanyan-shub/dsh-dream(维护者:yanyan-shub,分类:趣味换装,星标:0)换了个思路——不写故事,只调一层底色。
它面向 DSH 插件开发者,解决的问题是:如何在智能体睡眠时段自动生成安静、克制的梦境残片,并在醒来后以不突兀的方式注入,而不是生成一段完整叙述去挤占上下文。
这是什么¶
一句话定位:dsh-dream 是在智能体睡眠时段周期性「做梦」的插件,产出的是意象和感觉残片,用于影响醒来后的表达底色,不构成故事、不主动汇报。
维护方为 yanyan-shub,仓库地址见文末。README 把它归到一个相对小众的品类:梦,官方描述是「睡着的时候,把白天的事重新搅一遍,落下一两个说不清的残片」。
核心功能¶
只写 README 中核实过的能力。
1、睡眠时段触发。在 sleepStart 到 sleepEnd 之间,每隔 everyMin 分钟生成一场梦,一晚最多 maxPerNight 场。
2、素材来源限定为当天事件。候选素材包括她当天做过的事——读取 dsh-fishday 的 state——以及可选的心跳文件(记录谁找过她)。没有可用事件来源时不会做梦,README 注明这是有意设计。
3、残片按强度筛选。每场梦生成 1–2 个残片(意象 + 感觉),强度高的才会进入提示词。
4、醒来注入方式。注入内容为底色、残片(半句,不展开)、以及一条「梦不是故事」的规则。睡着期间不注入任何内容,智能体「看不见」自己的梦。
三个附带工具用于查看和清理:
| 工具 | 作用 |
|---|---|
dream_last |
最近一场的残片 |
dream_recall |
翻某天的梦 |
dream_clear |
清掉残片和底色 |
数据默认落在 ~/.dsh/dream/state.json,可选 dataDir、sourceDir、heartbeatFile 三个路径配置。README 明确说明代码中没有写死的绝对路径,全部走配置或用户目录。
安装与启用¶
README 给出的安装命令如下,其中的 <这个目录> 需替换为插件目录:
plugin_manager install_bundle <这个目录>
启用方式是写入 DSH 配置。README 的示例配置完整如下,字段名和取值照抄即可,注释掉的是可选路径类配置:
- insert:
- id: dsh-dream
name: dsh-dream
config:
sleepStart: '23:00'
sleepEnd: '08:30'
everyMin: 90
maxPerNight: 3
keep: 30
# dataDir: 'X:/somewhere/dream' # 可选,默认 ~/.dsh/dream
# sourceDir: 'X:/somewhere/fishday' # 可选,默认 ~/.dsh/fishday(读它的 state.json)
# heartbeatFile: 'X:/path/last-heard.json' # 可选,谁找过她
sourceDir 指向 dsh-fishday 的状态目录,会读取其中的 state.json。如果你还没有 dsh-fishday,这部分素材来源就是空的。
典型用法¶
按 README 的流程走一遍:
1、先确认事件来源。有 dsh-fishday 的 state,或配置 heartbeatFile,插件才可能做梦;两者都没有时不会产生梦。
2、把 sleepStart / sleepEnd 设成你希望覆盖的睡眠时段。监听时长用 everyMin 控制,一晚场次上限用 maxPerNight 控制,3 是 README 示例值。
3、keep 控制保留天数,示例值 30。
4、需要时用 dream_recall 查阅某天的梦,用 dream_clear 在需要重置状态时清理残片和底色。想做一句开场状态提示时用 dream_last。
适用场景与注意¶
适合需要在长时间空闲段维持人格连续性的角色场景,以及想验证「低信息量状态注入」这套做法的插件开发者。它刻意不生成完整故事,因此不适合需要睡眠期叙事输出的场景。
两点提醒。第一,插件以当前 dsh 进程的权限运行,sourceDir、heartbeatFile 等路径都在用户目录或配置里,安装前请先查看源码确认行为符合预期,许可证为 MIT。第二,当前星标为 0,属于低频维护的小众插件,配置前先确认 dsh-fishday 等依赖是否就位,再决定是否启用。
结尾¶
dsh-dream 的价值在于把「睡眠期该做什么」这件事压缩成一层底色和几句残片,而不是一段叙述。适合想给智能体增加安静内在状态、又不希望上下文被梦境内容挤占的开发者。
目录页:https://www.skillhub.cn/plugins/yanyan-shub/dsh-dream
GitHub:https://github.com/yanyan-shub/dsh-dream