前言¶
做 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