dsh-pet-lan:局域网桌宠联机插件

前言

DSH 插件生态中,dsh-pet 提供桌面宠物功能。本地桌面宠物只能独自显示,无法与其他设备上的桌宠互动。dsh-pet-lan 在此基础上增加一层局域网联机能力,让同一 Wi-Fi 网络下的 DSH 实例可以互相发现、显示远端桌宠并进行互动。

是什么

dsh-pet-lan 是由维护者 Hamster1214 开发的 DSH 插件,分类为「趣味换装」。它为已安装 dsh-pet 0.3.7 的环境增加局域网联机层:同一房间名和端口配置的设备可以互相广播桌宠,远端桌宠以透明窗口或浏览器浮层形式显示,支持拖拽、抛掷、点击挤压和打招呼。

安装与启用

先安装并启用 dsh-pet 0.3.7,确认桌宠正常显示。

安装本插件:

dsh plugin --profile web add dsh-pet-lan

桌面应用把 web 换成 desktop。

配置

打开「设置 → 桌宠联机」:

  • 房间名 / 端口:同一局域网设备必须填相同值,默认 dsh-pet / 41234。
  • 显示方式:桌面窗口(需要 Electron)、浏览器浮层,或两者。
  • 广播气泡文字:关闭后只同步动作和位置,不广播气泡文本。
  • 接受打招呼:关闭后忽略别人发来的挥手。

功能细节

局域网发现通过 UDP 广播实现,不经过外部服务器。同一房间名和端口的设备会互相可见。

远端桌宠默认以桌面透明小窗显示(需要 Electron),也可以在 DSH 浏览器窗口内以浮层显示。桌面窗口位置会按 peer 保存,浏览器浮层位置在本次会话内保留。

点击远端桌宠会触发挤压动作并播放 Web Audio 合成的小黄鸭吱吱声(无需额外音频文件)。按住拖动后松手,桌宠会按拖动速度抛出,受重力下落,碰到屏幕边缘或地面会反弹并逐渐停下。

名字标签上有 👋 按钮,点击后会向对方发送打招呼动作和短问候文本。点击宠物本体只做挤压和音效,不会误发打招呼。

插件提供可选的实时状态补丁,运行后可以同步对方的动画、折叠气泡和表情包。不运行补丁也能联机,只是远端宠物本地随机动作,没有实时气泡。

安全与隐私

联机数据走局域网 UDP 明文广播,没有加密和身份认证。广播内容包括桌宠名称、主机名、视口、桌宠位置;开启「广播气泡文字」时还包括气泡文本和表情包名。同一局域网内知道房间名的人可以伪造桌宠或发送打招呼。

建议在可信的专用局域网使用,不要在公共 Wi-Fi 上开启。插件不接受来自非回环地址的 HTTP 控制请求;UDP 侧有 peer 数量、每 IP 包速率和全局限流。插件不访问外部网络、不上传遥测,所有状态文件在 $DSH_HOME 下。

可选的 dsh-pet 补丁会修改 dsh-pet 的 4 个运行时文件(lib/client.js、runtime/electron-helper/preload.js、runtime/electron-helper/main.js、runtime/electron-helper/sprite.js),原文件会备份为 *.dsh-pet-lan.bak。补丁是幂等的,dsh-pet 升级后需要重新运行。

Windows 防火墙

首次运行可能弹出防火墙提示,需要允许「专用网络的 UDP 入站」(默认端口 41234)。如果点了取消,可以用管理员 PowerShell 补一条:

New-NetFirewallRule -DisplayName "dsh-pet-lan" -Direction Inbound -Protocol UDP -LocalPort 41234 -Action Allow -Profile Private

卸载

在插件市场或 profile 里移除 dsh-pet-lan。如果运行过实时状态补丁,把 dsh-pet 下的 *.dsh-pet-lan.bak 恢复为原文件名。配置文件在 $DSH_HOME/dsh-pet-lan.json,可删除。

兼容性

  • DSH 0.2.1-rc.2(已测试)
  • dsh-pet 0.3.7
  • Node.js 22+

生态说明

DeepSeek Harness 理念是「一切皆插件」,社区目录是独立站点,与 DeepSeek / 幻方无官方从属关系。本文介绍的插件由社区维护,安装前建议检查源码与许可证。

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

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

小夜