前言¶
在 DSH 裏做智能體或長時間掛進程時,桌面上是否有一個獨立小窗,往往取決於你是否願意再開一套啓動腳本、監聽 DSH 生命週期。手動起一個 Electron 桌寵,還要在退出時記得關掉子進程,步驟零碎,也容易和 DSH 不同步。
下面介紹社區插件 dsh-pet-lan(維護者 nanchen8888,分類:客戶端)。它只負責在 DSH 啓動時找到 Electron 並拉起桌寵應用,在 DSH 退出或插件卸載時結束子進程;桌寵本體與圖片素材不在此倉庫內。
這是什麼¶
dsh-pet-lan 是 DSH 啓動器類插件:在 DSH 加載時非阻塞啓動桌面寵物 Electron 小窗,在 DSH 退出時關閉該進程。
倉庫 README 寫明:這是一個啓動器,不包含桌寵本體和圖片素材。本體是獨立的 Electron 應用,默認目錄爲 D:\dsh-home\pet-lan;本倉庫僅負責定位 Electron 可執行文件並 spawn 啓動應用。
package.json 中版本爲 0.1.0,許可證 MIT;運行時要求 Node >=22、DSH >=0.2.2-rc.1,並聲明對 @deepseek-ai/cordis 的 peer 依賴(可選)。目錄頁:https://www.skillhub.cn/plugins/nanchen8888/dsh-pet-lan;源碼:https://github.com/nanchen8888/dsh-pet-lan。
核心功能¶
啓動與退出行爲¶
插件加載時的邏輯(以 README 爲準):
- 檢查
APP_DIR是否存在;不存在則安靜跳過,不報錯阻塞 DSH。 - 按順序解析 Electron 路徑:
- 環境變量DSH_PET_ELECTRON_PATH
-D:\dsh-home\electron\electron.exe
-<DSH_HOME>/electron/electron.exe - 使用
spawn(electron, [APP_DIR])啓動,stdio: "ignore",不阻塞 DSH 主流程。 - 插件卸載或 DSH 退出時,對子進程調用
child.kill()。
路徑約定¶
lib/index.js 頂部將 APP_DIR 寫死爲 D:\dsh-home\pet-lan。換機器時需修改該行,或將桌寵應用放到同一路徑。
Electron 路徑除默認盤符路徑外,還支持通過 DSH_PET_ELECTRON_PATH 或 <DSH_HOME>/electron/electron.exe 覆蓋,便於 Linux 等與 D:\dsh-home 不同的環境。
安裝與啓用¶
README 給出的安裝方式如下,請按 DSH 當前文檔中「bundle 安裝到 profile」的步驟操作,不要自行拼接未在資料中出現的 CLI 命令:
- 將本插件目錄作爲 DSH bundle 安裝到 profile。
- 通過包內
cordis.patch.yml完成註冊後生效。
包內 dsh.bundle.patch 指向 ./cordis.patch.yml,入口爲 lib/index.js。
典型用法¶
可復現的前置條件來自 README 與路徑約定:
- 將桌寵 Electron 應用部署到
APP_DIR(默認D:\dsh-home\pet-lan),或修改lib/index.js中的APP_DIR。 - 確保本機存在可用的
electron.exe(環境變量、固定路徑或DSH_HOME下其一)。 - 完成 bundle 安裝並使
cordis.patch.yml生效後,正常啓動 DSH;若目錄存在,應看到桌寵進程被拉起。 - 退出 DSH 或卸載插件後,桌寵子進程應被結束。
package.json 的 description 說明該桌寵場景是把柊舞緹娜的圖片放到桌面、按狀態換圖並顯示氣泡——屬於獨立應用能力,不由本啓動器插件實現。
適用場景與注意¶
適合誰: 已在本地準備好 Electron 桌寵應用與 Electron 運行時,希望 DSH 生命週期與桌寵窗口自動對齊的開發者;不需要在 DSH 內嵌 UI 時,用啓動器即可。
權限與安全: 插件隨當前 DSH 進程權限運行,會 spawn 外部可執行文件。安裝前應閱讀源碼(尤其 lib/index.js)並確認許可證(MIT);社區目錄 SkillHub 爲獨立站點,與 DeepSeek / 幻方無官方從屬關係,並非官方應用商店。
平臺: 默認路徑面向 Windows 盤符寫法;其他系統需調整 APP_DIR 並配置 DSH_PET_ELECTRON_PATH 或 <DSH_HOME>/electron/electron.exe。
結尾¶
dsh-pet-lan 把「DSH 開則桌寵開、DSH 關則桌寵關」收成一塊小啓動邏輯,本體仍由你自管的 Electron 應用承擔。需要條目信息與倉庫說明時,可查閱目錄頁與 GitHub: