前言¶
在 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: