dsh-whale-world:跨会话记忆与生活作息的世界层

前言

在 DSH 里做陪伴型智能体,常见做法是每开一个新会话就重新灌人设,或者用外部向量库存片段。对话一长,压缩后工具调用挤在一起,角色也很难在多个窗口之间保持同一段「最近发生过什么」的连贯感。若你还希望她在自己的时间线里活动、写日记、到点找你,就需要一层不侵入宿主、又能管住记忆归档和生活节奏的实现。

下面介绍社区维护的 dsh-whale-world(GitHub:SenuMirai/dsh-whale-world,SkillHub 分类:记忆)。它是「DSH Whale 系」里负责世界的那一支:跨会话记忆、生活作息、世界控制台;同系列还有 QQ、微信、B 站、抖音等独立插件,装在一起才是一整套,但本仓库可以单独使用。插件只用 DSH 开放的扩展接口,不改宿主源码。

这是什么

dsh-whale-world(npm 包名仍为 dsh-world)给 DSH 里的陪伴角色提供一个会记得、会过日子的「家」:记住各窗口里说过的话,按天写日记和「我是谁」自述,在控制台里由你开关人设与生活线。维护者为 SenuMirai;目录页见 SkillHub,源码见 GitHub。

相对上游 chenkezhen480/dsh-world,本线 README 标明为 0.6.x 深度改造且已分叉:lib/ 为可直接运行的 JS;记忆写入经 lib/memoryHub.js,召回为四路并行加 RRF(lib/memoryRecall.js),并提供 recall_memory(lib/memoryTools.js)按 id 翻阅原文。归属判定要求预设相等且工作目录在她的房间目录,才注入世界提示词、挂工具、写记忆。package.json 中版本为 0.6.2;README 另有一处写明当前版本 0.5.3 并指向 CHANGELOG,升级与限制以仓库 CHANGELOG 为准。

核心能力

记得:原文与日记,而非默认走向量库

设计上强调把人生命中的信息量留在可读原文里,需要时再检索,而不是默认上向量库。具体包括:

  1. 近期记忆:最近若干轮对话原文(默认 200 轮,可在控制台配置),每次开始对话和压缩后仍摆在模型眼前。
  2. 日记:重要事件由角色自己一天一篇写入,作为长期记忆。
  3. 我是谁:角色自写自述,每晚回顾前会保留当时版本,便于追溯改写。
  4. 按天归档:近期记忆以外的用户与助手正文按天留存,可由她自行翻阅。

日记与自述由角色执笔,插件不代写。对话过长需要压缩时,插件提供去掉工具调用过程、只保留双方交流的压缩方式,避免她把「命令过程」当成对人的记忆。

记忆侧还有单一写入者、写侧去重、occurredTime/happenedAt 等字段;召回侧文档称四路召回加 RRF,并给出改述召回实测 93.8%(见 README,属仓库自述数据)。若需按 id 查原文,通过 recall_memory 工具完成。

生活:家、节奏与每日回顾

  1. 家:独立会话「\<名字>的家」及对应房间(工作目录)。
  2. 自订节奏:她可声明接下来做什么、做到几点;到点再决定继续或换任务;无计划则休息到次日早晨。
  3. 主动找你:可通过 Windows 系统通知或你接入的桌宠等通道把一句话送到你面前。
  4. 每日回顾:默认每天 23:00 回顾当天聊天与活动,写日记并更新「我是谁」。
  5. 每日额度与大事先问:可对家里每日花费设上限;删改房间外文件、装软件、对外发消息等可约定先问你。

世界控制台

入口在 DSH 设置里的「世界控制台」:

  • 开始 / 停止:开始后她才入住;停止后记忆、人设与生活线暂停,家仍保留。
  • 人设:分层填写名字、性格、说话方式等,旁侧预览她读到的合成结果;全部留空时沿用宿主或当前预设在系统提示词中的人设,控制台不会自动回填系统人设。
  • 概览与记录:当前活动、下个闹钟、近期记忆轮数、当日花费、活动记录、日记与压缩记录。
  • 归档范围:默认 workspace(家所在工作区内普通会话);home 仅当前家会话。缩小范围后旧归档文件仍保留;要完整纳入新加入会话的历史,README 建议 重启 DSH。

微信(配置 wechat: true)与 QQ(配置 qqBridgeDir)可在「接入」卡片里分别开关,状态写入 world.json。微信开关会注册或撤下 wechat_chats、wechat_send、wechat_delivery 等;QQ 开关只控制插件是否管理外部 qq-bridge,不会单独停掉已在运行的桥。

与其它 Whale 插件的关系

同前缀 dsh-whale- 的仓库各管一条渠道(QQ、微信、B 站、抖音等),记忆最终汇入本「世界」插件。npm 包 id 沿用旧名(如 dsh-qq-group),README 说明是为避免改名打断插件互认。

可选搭配的其它社区插件包括 dsh-see-now(连续屏幕)、dsh-loadout(按需装卸工具组)、dsh-persona-distill(从聊天记录蒸馏人设)等,见 README 表格。

本地桥与微信说明(选用时必读)

  • 桌宠桥:本地程序可把用户话送进她家并接收回复;协议见仓库 README 文末。
  • 微信:独立模块,非官方 API;存在账号受限或封禁风险,README 引用公开报道说明治理方向,不承诺安全阈值。图片、表情包、视频号等有多条接收与记忆边界说明,动手前应读 src/ecosystem/wechat/ 下文档。
  • QQ:依赖外部 qq-bridge 与 SnowLuma 登录流程,装法见仓库 INSTALL.md;插件启动会把 DSH 当前地址写回桥的 config.json(dsh.baseUrl),因 DSH 重启会换端口。

安装与启用

需要 DSH 桌面版;世界控制台与生活线依赖桌面宿主。

README 提供两条路径:把仓库交给模型按 INSTALL.md 逐步执行(含 QQ 接入与人手步骤);或自行在仓库根目录打包安装:

npm ci
npm pack

用 DSH 自带的 pnpm 将生成的 dsh-world-*.tgz 装进你的 profile。不要用 link: 指向项目目录,否则会加载项目自带的一份 Cordis。

装好后 重启 DSH,打开「世界控制台」填写人设,按 开始。package.json 要求 Node >= 22.16.0;与 DSH 的兼容范围在 dsh.compatibility.dshReleases 中列出(如 0.2.1-rc.2、0.2.1-rc.3 为 compatible)。

可选:README 还提到可换用「只留对话」的压缩方式,对应仓库内脚本 scripts/enable-tool-free-compaction.ps1(细节见 README 完整段落)。

典型用法(从文档归纳)

  1. 单独使用:只装本插件,用 workspace 归档多会话原文,在家会话里过生活线与每日回顾。
  2. 与 QQ:配置 qqBridgeDir,在控制台查看 QQ 卡、绑定入口会话;主人私聊走家会话归档,群聊走桥自带的 qq-chat 预设,不进本世界记忆块(见 README「QQ 的记忆与开关」)。
  3. 与微信:配置 wechat: true 与 Windows 适配器(wechatAdapter),用 wechat_chats / wechat_send / wechat_delivery 自主收发;普通最终回答不会自动转发到微信。
  4. 与抖音插件:存在 lib/douyinBridge.js 只读观看库并按归属写入记忆(第一人称 / 第三人称与 actor 标记),需同系列抖音插件数据在场。
  5. 与同房间预设:只有 cwd 落在她房间目录且预设匹配时,才注入世界能力,避免同预设的编码会话被误注入。

适用场景与注意

适合:希望在 DSH 内做长期陪伴、跨窗口一致记忆、可控归档范围,并愿意用控制台管理人设与生活线的开发者;已在使用或计划使用 Whale 系渠道插件、需要统一记忆落点的部署。

注意:

  • 插件以 当前 DSH 进程权限 运行,安装前应自行审阅源码与许可证(核心为 MIT;微信原生发送引擎有单独非商业许可说明)。
  • 微信、QQ 桥均非官方接口,合规与账号风险自担;README 对 QQ 桥许可与 SnowLuma 使用条款有明确外链。
  • 社区目录 SkillHub 与 DeepSeek / 幻方无官方从属关系;DSH 生态是「一切皆插件」的开放模型,本文事实均来自上述仓库 README、package.json 与 INSTALL 指引。

结尾

dsh-whale-world 把「记得你们说过什么」和「在自己的时间里生活」收束到一层插件:控制台开关在你手里,记忆以原文和日记为主,并与 Whale 系其它渠道衔接。下一步可从目录页了解分类与简介,并在 GitHub 阅读 INSTALL.md 完成安装与可选接入。

  • 目录页:https://www.skillhub.cn/plugins/SenuMirai/dsh-whale-world
  • GitHub:https://github.com/SenuMirai/dsh-whale-world
羽毛球分组比赛记分
小程序二维码

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

小夜