dsh-pet-lan:DSH 启动时拉起桌面宠物 Electron 小窗

前言

在 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 为准):

  1. 检查 APP_DIR 是否存在;不存在则安静跳过,不报错阻塞 DSH。
  2. 按顺序解析 Electron 路径:
    - 环境变量 DSH_PET_ELECTRON_PATH
    - D:\dsh-home\electron\electron.exe
    - <DSH_HOME>/electron/electron.exe
  3. 使用 spawn(electron, [APP_DIR]) 启动,stdio: "ignore",不阻塞 DSH 主流程。
  4. 插件卸载或 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 命令:

  1. 将本插件目录作为 DSH bundle 安装到 profile。
  2. 通过包内 cordis.patch.yml 完成注册后生效。

包内 dsh.bundle.patch 指向 ./cordis.patch.yml,入口为 lib/index.js。

典型用法

可复现的前置条件来自 README 与路径约定:

  1. 将桌宠 Electron 应用部署到 APP_DIR(默认 D:\dsh-home\pet-lan),或修改 lib/index.js 中的 APP_DIR。
  2. 确保本机存在可用的 electron.exe(环境变量、固定路径或 DSH_HOME 下其一)。
  3. 完成 bundle 安装并使 cordis.patch.yml 生效后,正常启动 DSH;若目录存在,应看到桌宠进程被拉起。
  4. 退出 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:

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

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

小夜