前言¶
做 DSH 插件开发的人通常会遇到一种尴尬:工具装了很多,桌面上却没有一个能”待住”的东西。传统的浮动组件要么只是静态图片,要么功能单一,对话一结束就没人理你。dsh-pet-to-family 解决的就是这个问题——它把一只可交互的桌面宠物塞进 DeepSeek Harness(DSH)里,同时在上面叠了一套人格、长期记忆、关系事件和消息接入的机制,让宠物不只是看动画,而是能持续”记住”和用户的历史。
下面介绍这只蓝色大肥鱼插件。
这是什么¶
dsh-pet-to-family 是一个 DSH 插件,npm 包名同名,当前正式版 0.7.1。它由 skyzou071026-collab 维护,本质是上游项目 zi-O1/dsh-pet-to-family 的镜像,基础素材来自 PC2005-cloud/dsh-pet。SkillHub 目录页把它归入”趣味换装”分类,目前显示 0 星。
一句话定位:在 DSH 里提供一只带动画、可多开、能上桌面的宠物,并附带人格灵魂卡、动态状态、长期记忆、关系事件时间线以及微信 / QQ 消息接入。代码许可为 MIT,但素材禁止商用,二创在公开渠道需要署名。
核心功能¶
下面按模块列出已核实的能力。
桌面宠物本体¶
一百个以上的透明动画(VP9-alpha 的 webm 资源,浏览器端 Chrome/Edge/Firefox 与桌面模式共用),支持多开宠物、能显示在桌面。按平台拆分的 Electron 作为可选依赖,npm 只安装当前系统那一份;首次启动解压包内 zip,不需要运行时联网下载。
人格与状态¶
- 人格灵魂卡:定义身份、在意的东西、说话方式、渴望、害怕、边界、关系起点与灵魂色。
- 动态状态:情绪、关系阶段、最近对话,持久化在
soul-state.json。 - 长期记忆与反思:成功对话后定期整理偏好、事件、约定与自我叙事。
- 关系事件时间线:记录第一次、里程碑、约定、别扭、和好、日期、礼物等事件。
- 纪念日提醒:
kind: "date"的关系事件在每年同月同日主动提醒。
设置与迁移¶
独立设置小窗:右键宠物 →「桌宠设置」,不打开 DSH 主设置页,支持手风琴、灵魂卡 JSON、记忆/事件管理与预览。一键搬家:「打包搬家啦」导出配置/记忆/灵魂状态/关系事件,「我住进来喽」在新环境导入恢复。
消息接入¶
插件自己连接微信 iLink(扫码)与 QQ 官方机器人(AppID + AppSecret),不依赖 dsh-im。每个平台可维护多个机器人,每个机器人可选两种回复方式:
pet:由桌宠回复,使用人格/灵魂/长期记忆,独立记忆桶im:<平台>:<botId>:<发送者>;session:投递到固定 DSH 对话 session,由该 session 回复,不弹桌宠气泡。
微信路径是添加机器人 → 生成二维码 → 手机扫码 → 选模式/白名单 → 保存;QQ 路径是在开放平台创建机器人 → 填 AppID/AppSecret → 绑定 → 选模式/白名单 → 保存。凭据只保存在 $DSH_HOME/dsh-pet/im-auth.json(0600),不会回传浏览器。
其他平台可用通用 Webhook 接入本机 HTTP 入口,token 鉴权、白名单、去重与限流默认开启。
运行与更新¶
新安装与新增宠物默认 display: "desktop";即使当前只显示浏览器,也会后台预解压内置 Electron,切到桌面即时生效(已有显式配置不强制迁移)。设置页可检查 npm 最新版并用当前 profile 的 pnpm 一键升级,显式绕过 minimumReleaseAge,重启后生效。
安装与启用¶
安装源是 npm 官方源。安装命令必须来自官方仓库说明,避免拼错包名:
npm 包名:dsh-pet-to-family
当前版本:0.7.1
安装源:https://registry.npmjs.org/
安装后,插件作为 bundle patch(cordis.patch.yml)进入层栈;浏览器半侧入口通过 exports./client 暴露,平台声明为 web,需要注入 @deepseek-ai/dsh-client-connection。宿主半侧入口是 lib/index.js(Cordis 插件的 name/inject/apply)。
启用后的入口:右键宠物 →「桌宠设置」。微信 / QQ 接入入口在同一窗口的「消息接入(微信 / QQ)」页签,也可以在设置小窗里编辑灵魂卡 JSON 和管理记忆事件。
独立模式也可以用 CLI:包内提供 bin.dsh-pet-standalone,对应构建产物 lib/standalone.js,不依赖 DSH 宿主也能跑。
典型用法¶
接一个微信机器人¶
- 右键宠物 →「桌宠设置」→「消息接入(微信 / QQ)」→「添加机器人」。
- 点「生成二维码」,手机扫码。
- 选择
pet或session回复模式,设置白名单,保存。
只处理文本;微信只处理私聊。一个机器人固定一个 session,同一机器人的消息在 session 内排队。
接一个 QQ 机器人¶
- 在 QQ 开放平台创建机器人,拿到 AppID 和 AppSecret。
- 在「消息接入(微信 / QQ)」里添加 QQ 机器人,填入凭据。
- 绑定后选模式(支持私聊与被 @ 的群聊)和白名单,保存。
通过 Webhook 接入其他平台¶
其他平台把消息发到本机 HTTP 入口即可。入口默认开启 token 鉴权、白名单、去重与限流,不需要额外配置。
迁移宠物¶
在新环境装好插件后,点「我住进来喽」,选择之前用「打包搬家啦」导出的文件,配置、记忆、灵魂状态和关系事件都会恢复。
适用场景与注意¶
适合这几类人:想在 DSH 桌面端有一个长期陪伴式交互界面的开发者;想做自定义人格和记忆机制的插件作者;需要把桌宠作为微信 / QQ 机器人应答前端的团队。
需要注意的几点:
- 插件以当前 DSH 进程权限运行,安装前应检查源码与许可证。本包衍生自 MIT 许可的上游项目,代码可复用,但素材禁止商用,二创在公开渠道必须署名。
- 不要让 dsh-im 和 pet 同时连接同一个微信 / QQ 机器人,否则可能双回复或登录冲突。
- 微信 iLink 不是个人微信官方开放 API,存在平台条款与账号风险;QQ 请使用官方开放平台机器人。
- 运行时要求 Node.js >= 22.12.0,并需要
@deepseek-ai系列宿主包(peerDependencies 声明为^0.2.0-rc.1)。包是 ESM(type: module)。 - 兼容性方面,npm 清单声明对 DSH
0.1.7-rc.2不兼容,0.2.0-rc.1、0.2.0-rc.2、0.2.1-rc.2兼容;如果你的宿主版本不在这三个里,建议先看 compatibility 声明再装。 - 这个仓库是镜像,功能与上游
zi-O1/dsh-pet-to-family一致。上游包是 npm 正式版,镜像仓库本身不单独发包,想最新功能建议直接用上游地址。
结尾¶
dsh-pet-to-family 的定位很明确:它不是给 DSH 加一个动画皮肤,而是把人格卡、长期记忆、关系事件和消息接入打包成一个可迁移的桌宠。动画、记忆、搬家和多机器人接入都是可用状态,代码 MIT,适合作为自定义桌宠类插件的起点。
目录页:https://www.skillhub.cn/plugins/skyzou071026-collab/dsh-pet-to-family
上游仓库:https://github.com/zi-O1/dsh-pet-to-family
镜像仓库:https://github.com/skyzou071026-collab/dsh-pet-to-family
基础项目:https://github.com/PC2005-cloud/dsh-pet