dsh-pet-mobile:把 DSH 桌宠接到安卓悬浮窗

前言

在 DSH 里用 dsh-pet 养桌宠时,宠物通常只出现在 Web 页面里:关掉标签或切到别的应用,就看不到、也摸不到。若希望同一只宠物在安卓桌面上以透明悬浮窗常驻,并与页面里的动作、气泡、显示状态和尺寸保持一致,还需要额外接一层手机端能力。下面介绍社区插件 dsh-pet-mobile(维护者 LiGoHi,GitHub:LiGoHi/dsh-pet-mobile):它在 dsh web 启动时自动维护页面补丁、托管桌面端静态资源,并配合壳 App 在手机上开窗养宠。

这是什么

dsh-pet-mobile 是 dsh-pet 的手机端补丁插件(当前 package 版本 0.6.0,MIT 许可证)。它不改变 DSH 核心,而是在已安装 dsh-pet 的前提下,把桌面端页面与动画通过本地 HTTP 供出,并启动本地助手;安卓用户再安装一次轻量壳 APK,即可用系统悬浮窗显示同一只宠物。页面端需要的几处客户端 bundle 补丁由插件在每次 dsh web 启动时自动、幂等地重打;dsh-pet 升级覆盖 bundle 后,下次启动会重新打补丁。

核心功能

页面补丁(自动、幂等)

插件给 dsh-pet 的客户端 bundle 打四处小补丁:自播动画外播、对话网络重试、页面「显示位置」兜底、尺寸上报。打不上时只告警,不会写坏文件;状态可通过工作区内的 .patch-status.json 查看(hasHook、hasEndpointFallback 应为 true)。

注入助手

随 dsh web 起停本地助手,监听 127.0.0.1:8099。桌面宠物投递的文字由页面侧写入输入框并发送;健康检查返回 {"ok":true}。

静态托管

将桌面端页面与 106 段动画通过 /pet-desktop/* 路径供出(例如 127.0.0.1:36717/pet-desktop/pet.html),壳 App 只负责加载页面并显示悬浮窗。

壳 APK 分发

插件把约 53KB 的壳 APK 落到 Download/DSHA/DSHAPetShell.apk 并发出通知,引导用户手动安装(Android 不允许静默安装)。

安装与启用

插件面向 web profile,安装后必须重启 dsh web,补丁与托管才会执行。

dsh plugin --profile web add github:LiGoHi/dsh-pet-mobile

依赖关系:peerDependencies 要求 dsh-pet >= 0.3.0(可选);运行环境 Node >= 20。package 中声明与 DSH 0.2.1-rc.2 兼容。

安卓壳(必须手动装一次)

  1. 装完插件并重启 dsh web 后,通知栏会出现「桌面宠物:还差一步」。
  2. 打开文件管理,进入 Download/DSHA/DSHAPetShell.apk,安装(首次需允许「未知来源」)。
  3. 打开「DSHA 宠物」,授予「显示在其他应用上层」权限;之后打开 App 即可自动出现悬浮窗。

验证

在 dsh web 已运行的机器上,可用下面命令做基本自检:

curl -s 127.0.0.1:8099/health

应看到 {"ok":true}。

curl -s -o /dev/null -w "%{http_code}\n" 127.0.0.1:36717/pet-desktop/pet.html

HTTP 状态码应为 200。

cat .patch-status.json

确认 hasHook、hasEndpointFallback 为 true。

适用场景与注意

适合谁:已在 DSH web 环境使用 dsh-pet、希望在安卓手机上用悬浮窗养同一只宠物,并需要桌面输入内容进入 DSH 会话的开发者。

权限与行为:

  • 悬浮窗需要 SYSTEM_ALERT_WINDOW,且会覆盖在所有应用之上,安装前应理解壳 App 与插件源码(MIT)。
  • 页面在后台时 WebView 会暂停,投递的消息会积在收件箱,切回前台再发送。
  • 位置不跨端同步(两端坐标系不同),只同步动作、气泡、显隐与尺寸。
  • 依赖 dsh-pet 的公开契约(/config、/state、/anim、/pet-display);上游大改时补丁可能跳过并告警。

DSH 生态采用「一切皆插件」思路;社区目录页 skillhub.cn 上的 dsh-pet-mobile 为独立站点条目,与 DeepSeek / 幻方无官方从属关系。插件以当前 dsh web 进程权限运行,安装前请自行审阅 GitHub 仓库 源码与许可证。

结尾

dsh-pet-mobile 把 dsh-pet 的桌面体验延伸到安卓悬浮窗:自动维护页面补丁、本地托管 /pet-desktop/*、8099 助手与壳 APK 分发,并与页面宠物在动作与气泡等方面双向同步。需要手机桌宠时,按官方命令安装 web 插件、重启 dsh web、再装一次壳即可起步。

  • 目录页:https://www.skillhub.cn/plugins/LiGoHi/dsh-pet-mobile
  • GitHub:https://github.com/LiGoHi/dsh-pet-mobile
羽毛球分组比赛记分
小程序二维码

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

小夜