dsh-pet-bedroom:给桌宠一间可独立打开的网页卧室

前言

DSH(DeepSeek Harness)里若已装 dsh-pet,桌宠通常以桌面浮层形式出现,交互集中在主界面附近。若希望桌宠在一间「房间」里走动、与日记、笔记、手机界面等元素联动,又不改 dsh-pet 源码,就需要额外一层页面与宿主逻辑。维护者 yiy367389-del 发布的 dsh-pet-bedroom 正是为此设计:在浏览器中打开独立路由 /dsh-pet-bedroom/,用一张房间图承载交互,复用 dsh-pet 已对外开放的素材与动画池。QQ 聊天记录、刷抖音等能力默认适配 Aurabot 生态,但属于可选外部接入,需自行配置后端。

这是什么

dsh-pet-bedroom 是 DSH 社区插件,分类为趣味换装,仓库 yiy367389-del/dsh-pet-bedroom,许可证 MIT,当前 package 版本 2.3.5。一句话定位:把桌宠放进一间可用浏览器打开的卧室,房间里的部分展示会跟随你配置的真实数据(日记、读书笔记、可选 QQ/抖音)变化。它不是聊天机器人、抖音自动机或 QQ 客户端;也不修改 dsh-pet 一行代码。

核心功能

下面介绍 README 中已说明、且与实现描述一致的能力。

独立网页与桌宠行为

  • 访问 http://<你的 DSH 地址>/dsh-pet-bedroom/,页面独立于 DSH 主浮层,关掉不影响主界面。
  • 房间图为 1536×1024(assets/room.png),可点击床、电脑桌、椅子、书架、落地窗、龟背竹、地毯等,桌宠会走过去并播放对应动作。
  • 动画素材来自 dsh-pet 的动画池,不写死动画名;在 dsh-pet 里换皮或加动画后,卧室侧会自动跟上。

桌上内容与手机界面

  • 日记:从配置的聊天服务(默认 aurabot)读取按天聚合的日记,只读。
  • 笔记:从记忆库目录读取 Markdown 读书笔记;在 allowAgentWrite 为 true 时,agent 可通过注册工具写入新笔记。
  • 手机 QQ(需接入):手机 UI 内可展示真实会话与聊天记录;右上角「QQ 连接」可配置 SnowLuma 的 OneBot HTTP API,真连一次再保存。主人在 QQ 私聊中说「睡觉 / 刷抖音 / 去电脑桌 / 看窗外」等,桌宠在卧室内执行对应行为。

环境与房间状态

  • 时辰(清晨/中午/下午/晚间)与天气(晴/雨/雪)可手动切换,也可跟随真实时间自动变化。
  • 家具与壁纸可增删,状态持久化到配置的 roomFile(默认 $DSH_HOME/dsh-pet-bedroom/room.json)。
  • 刷抖音(需接入):顶部「现在刷一轮」调用你配置的抖音 HTTP 后端;失败会如实返回,不假装成功。

Agent 工具

插件向 agent 注册 6 个工具,用于读取房间状态、读文档、写笔记、调天气、摆家具、换壁纸等(具体以仓库「页面与接口清单」为准)。

前置条件

  1. Node.js ≥ 20(项目使用 fetch、AbortSignal.timeout、import.meta.dirname 等)。
  2. DSH 已正常运行,并清楚 profile 目录位置。
  3. dsh-pet 已安装且在设置中开启显示;未安装时卧室页仍可打开,但看不到桌宠。
  4. (可选)QQ:Aurabot(dsh-aurabot-qq)或自实现的聊天服务。
  5. (可选)抖音:自实现的刷抖音 HTTP 后端。

安装与启用

GitHub Releases 提供预构建包,无需本地构建。资料中的一行安装命令如下(固定 v2.3.5;跟最新版可将 URL 换为 releases/latest/download/dsh-pet-bedroom.tgz):

dsh plugin add https://github.com/yiy367389-del/dsh-pet-bedroom/releases/download/v2.3.5/dsh-pet-bedroom.tgz

若采用 link 方式开发或自管目录,在 profile 的 package.json 中增加依赖,并在 dsh.profile.bundles 里把 dsh-pet-bedroom 排在 dsh-pet 之后:

{
  "dependencies": {
    "dsh-pet-bedroom": "link:D:/plugins/dsh-pet-bedroom"
  },
  "dsh": {
    "profile": {
      "bundles": [
        "@deepseek-ai/dsh-base",
        "@deepseek-ai/dsh-web-app",
        "dsh-pet",
        "dsh-pet-bedroom"
      ]
    }
  }
}

cordis.patch.yml 通常已含插入项;确认 bundle 与 node_modules/dsh-pet-bedroom 无误后,重启 DSH。侧边栏底部会出现「卧室」按钮,或直接打开 /dsh-pet-bedroom/。修改 index.js 或 cordis.patch.yml 需重启;改 web/index.html 刷新即可。

配置项(节选)

全部可选;在 cordis.patch.yml 的插件 config 下填写。显式配置优先于环境变量,再才是默认值。

- insert:
    - id: dsh-pet-bedroom
      name: 'dsh-pet-bedroom'
      config:
        petRoute: '/dsh-pet-7340'
        petId: ''
        vaultDir: '/绝对路径/memory-vault'
        notesDir: 'notes'
        chatService: 'aurabot'
        douyinApiBase: 'http://127.0.0.1:8080/api'
        douyinEnabled: true
        allowAgentWrite: true

常用字段含义(完整表见 README):

配置项 默认值 含义
petRoute /dsh-pet-7340 dsh-pet 的 HTTP 路由前缀
petId 空(第一只) 指定进入卧室的宠物 id
vaultDir $DSH_HOME/memory-vault 记忆库根目录
chatService aurabot Cordis 聊天服务名
douyinEnabled true 是否允许触发真实刷抖音
qqApiBase / qqToken / qqSelfId 见 README QQ 连接窗口与主人私聊过滤

路径中的 ~ 不会自动展开,请使用绝对路径。

典型用法

  1. 安装 dsh-pet 与本插件,按上文调整 bundle 顺序并重启。
  2. 打开卧室页,点击房间热点观察桌宠移动与动画。
  3. 若使用 Aurabot,保持 chatService: 'aurabot',确认聊天数据目录可读,即可在桌上查看日记。
  4. 将 vaultDir 指向你的记忆库,阅读或(在允许时)通过 agent 工具维护 notesDir 下的笔记。
  5. 需要 QQ 时,在页面「QQ 连接」填写 OneBot HTTP 地址与令牌,测试通过后保存;抖音则配置 douyinApiBase 并实现约定接口。

仓库为脱敏通用版,不含维护者私人路径或聊天内容;QQ、抖音两块需按 README「两块需要你自己接入的能力」自行对接。

适用场景与注意

适合:已在 DSH 中使用 dsh-pet,希望用浏览器单独展示「房间 + 桌宠 + 可选真实数据」的开发者或玩家;愿意自行接入 QQ/抖音后端的用户。

注意:

  • 插件以当前 DSH 进程权限运行,安装前应阅读源码与 MIT 许可证,并理解其会读取配置的记忆库、聊天数据目录及可选 QQ 配置(qq.json 权限 600)。
  • QQ 与抖音不是内置能力;未接入时相关 UI 或按钮可能仍可见,但行为以实际后端为准。
  • DSH 插件生态遵循「一切皆插件」思路;社区目录 SkillHub 条目 为独立收录站点,与 DeepSeek / 幻方无官方从属关系。

结尾

dsh-pet-bedroom 在不改 dsh-pet 的前提下,提供可独立打开的网页卧室、动画联动与可选的真实日记/笔记/QQ/抖音接入点。安装以 Releases 的 dsh-pet-bedroom.tgz 为准,并与 dsh-pet 一并启用。

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

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

小夜