前言¶
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 个工具,用于读取房间状态、读文档、写笔记、调天气、摆家具、换壁纸等(具体以仓库「页面与接口清单」为准)。
前置条件¶
- Node.js ≥ 20(项目使用
fetch、AbortSignal.timeout、import.meta.dirname等)。 - DSH 已正常运行,并清楚 profile 目录位置。
- dsh-pet 已安装且在设置中开启显示;未安装时卧室页仍可打开,但看不到桌宠。
- (可选)QQ:Aurabot(
dsh-aurabot-qq)或自实现的聊天服务。 - (可选)抖音:自实现的刷抖音 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 连接窗口与主人私聊过滤 |
路径中的 ~ 不会自动展开,请使用绝对路径。
典型用法¶
- 安装
dsh-pet与本插件,按上文调整 bundle 顺序并重启。 - 打开卧室页,点击房间热点观察桌宠移动与动画。
- 若使用 Aurabot,保持
chatService: 'aurabot',确认聊天数据目录可读,即可在桌上查看日记。 - 将
vaultDir指向你的记忆库,阅读或(在允许时)通过 agent 工具维护notesDir下的笔记。 - 需要 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