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

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

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

小夜