dsh-pet-to-family:住在 DeepSeek Harness 里的桌面宠物插件

前言

做 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 宿主也能跑。

典型用法

接一个微信机器人

  1. 右键宠物 →「桌宠设置」→「消息接入(微信 / QQ)」→「添加机器人」。
  2. 点「生成二维码」,手机扫码。
  3. 选择 pet 或 session 回复模式,设置白名单,保存。

只处理文本;微信只处理私聊。一个机器人固定一个 session,同一机器人的消息在 session 内排队。

接一个 QQ 机器人

  1. 在 QQ 开放平台创建机器人,拿到 AppID 和 AppSecret。
  2. 在「消息接入(微信 / QQ)」里添加 QQ 机器人,填入凭据。
  3. 绑定后选模式(支持私聊与被 @ 的群聊)和白名单,保存。

通过 Webhook 接入其他平台

其他平台把消息发到本机 HTTP 入口即可。入口默认开启 token 鉴权、白名单、去重与限流,不需要额外配置。

迁移宠物

在新环境装好插件后,点「我住进来喽」,选择之前用「打包搬家啦」导出的文件,配置、记忆、灵魂状态和关系事件都会恢复。

适用场景与注意

适合这几类人:想在 DSH 桌面端有一个长期陪伴式交互界面的开发者;想做自定义人格和记忆机制的插件作者;需要把桌宠作为微信 / QQ 机器人应答前端的团队。

需要注意的几点:

  1. 插件以当前 DSH 进程权限运行,安装前应检查源码与许可证。本包衍生自 MIT 许可的上游项目,代码可复用,但素材禁止商用,二创在公开渠道必须署名。
  2. 不要让 dsh-im 和 pet 同时连接同一个微信 / QQ 机器人,否则可能双回复或登录冲突。
  3. 微信 iLink 不是个人微信官方开放 API,存在平台条款与账号风险;QQ 请使用官方开放平台机器人。
  4. 运行时要求 Node.js >= 22.12.0,并需要 @deepseek-ai 系列宿主包(peerDependencies 声明为 ^0.2.0-rc.1)。包是 ESM(type: module)。
  5. 兼容性方面,npm 清单声明对 DSH 0.1.7-rc.2 不兼容,0.2.0-rc.1、0.2.0-rc.2、0.2.1-rc.2 兼容;如果你的宿主版本不在这三个里,建议先看 compatibility 声明再装。
  6. 这个仓库是镜像,功能与上游 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

羽毛球分组比赛记分
小程序二维码

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

小夜