dsh-pet-bedroom:給桌寵一間可獨立打開的網頁臥室

前言

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 個工具,用於讀取房間狀態、讀文檔、寫筆記、調天氣、擺傢俱、換壁紙等(具體以倉庫「頁面與接口清單」爲準)。

前置條件

  1. Node.js ≥ 20(項目使用 fetch、AbortSignal.timeout、import.meta.dirname 等)。
  2. DSH 已正常運行,並清楚 profile 目錄位置。
  3. dsh-pet 已安裝且在設置中開啓顯示;未安裝時臥室頁仍可打開,但看不到桌寵。
  4. (可選)QQ:Aurabot(dsh-aurabot-qq)或自實現的聊天服務。
  5. (可選)抖音:自實現的刷抖音 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 連接窗口與主人私聊過濾

路徑中的 ~ 不會自動展開,請使用絕對路徑。

典型用法

  1. 安裝 dsh-pet 與本插件,按上文調整 bundle 順序並重啓。
  2. 打開臥室頁,點擊房間熱點觀察桌寵移動與動畫。
  3. 若使用 Aurabot,保持 chatService: 'aurabot',確認聊天數據目錄可讀,即可在桌上查看日記。
  4. 將 vaultDir 指向你的記憶庫,閱讀或(在允許時)通過 agent 工具維護 notesDir 下的筆記。
  5. 需要 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
羽毛球分组比赛记分
小程序二维码

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

小夜