dsh-basketball-pet:DSH Web UI 上的篮球桌宠

前言

在 DSH Web UI 里长时间写代码或调智能体时,桌面往往只有聊天和工具面板,缺少一点可随手互动的界面元素。纯 CSS 循环动画的「假物理」桌宠容易显得生硬,又会占满整块区域挡住下面的应用。下面介绍社区插件 dsh-basketball-pet(维护者 2095945715a-source):在 shell.overlay 层挂一只带真实碰撞与投掷手感的篮球,篮筐和球箱可拖、可投、可记分,且除球与控件外其余区域点击穿透,不挡工作区操作。

这是什么

dsh-basketball-pet 是面向 DSH Web UI 的客户端插件,分类上属于趣味换装类桌宠/小玩具。它在工作区上方叠加篮筐、球箱和一颗篮球:重力、空气阻力、旋转、滚动摩擦、撞墙回弹以及落地时的 squash-and-stretch 由插件自管物理循环驱动,而不是 CSS 动画循环。每日进球数按日历日统计,午夜归零;篮筐与球箱位置在刷新后仍会记住。插件不发起网络请求,除分数与两处布局外不向 localStorage 写入其它数据。

核心功能

物理与交互

  • 弹跳篮球:重力约 2400 px/s²,地面恢复系数 0.78,含空气阻力与旋转;撞击会压缩,快速下落会拉伸。
  • 可拖篮筐:玻璃篮板、支架、渐变篮圈与菱形篮网;从篮圈、篮板或支架拖动即可移动,记分牌跟随。
  • 可拖球箱:球可在箱内静置;拖动带球的球箱时球一起移动。
  • 甩投:约 110 ms 的指针采样换算为出手速度(上限约 2600 px/s),可平投、高抛或打板。
  • 得分:球从篮圈平面下方、向下运动且落在内圈间隙内时 +1,伴随篮网摆动、+1 弹出与记分牌 bump;篮圈与篮板有真实反弹。
  • 每日记分:按日历日存储,即使页面不关闭,过了午夜也会回到 0。
  • 布局记忆:篮筐与球箱位置在重载后保留(键名 dsh-basketball-pet:layout:v1)。
  • 减少动效:在 prefers-reduced-motion 下不再自行扰动,仍响应用户输入。

实现要点(便于评估)

单文件客户端插件 client.js,无构建步骤、无运行时依赖。在 shell.overlay 槽位注册一个组件,用独立的 requestAnimationFrame 循环直接写 transform,避免每帧触发 React 重渲染。物理常数包括 GRAVITY 2400、FLOOR_REST 0.78、WALL_REST 0.84、篮圈 1.72、篮板 0.62、空气阻力 0.1;碰撞含地面、两侧墙、顶、篮圈两端(小圆)与篮板边。分数存储键为 dsh-basketball-pet:score:v1。

兼容环境

需要带 shell.overlay 槽位及 @deepseek-ai/dsh-client-ui-slots 服务的 DSH Web UI;适用于基于 Chromium / Electron / WebKit 的 DSH 桌面构建,不依赖 Node 或原生代码。许可证为 MIT(资料中 package.json 版本 1.3.1)。

安装与启用

可从 DSH 插件市场安装,或在 shell 中执行(命令以仓库 README 为准):

dsh plugin add dsh-basketball-pet
# if your dsh asks for a target profile explicitly:
dsh plugin --profile desktop add dsh-basketball-pet

若使用本地发布包:

dsh plugin add ./dsh-basketball-pet-1.3.0.tgz

若从本仓库源码添加,README 给出的形式为:

dsh plugin add github:<owner>/dsh-basketball-pet

安装后刷新页面(Ctrl+R),桌宠会挂载到 Web UI 的 shell.overlay 槽位。

典型用法

操作 效果
点击球箱 球弹出
拖动球后松开 按甩投速度飞出
点击球(不拖动) 原地小跳
拖动篮圈 / 篮板 / 支架 移动篮筐,记分牌跟随
拖动球箱 移动球箱;箱内球一起移动
把球放到球箱上 收球入箱
把球投进篮圈 +1

overlay 为点击穿透:只有球、篮筐和球箱接收指针事件,其余点击会落到下层应用。

适用场景与注意

适合希望在 DSH 桌面环境里放一只不挡操作、又能随手投几球的小玩具的用户。插件以当前 dsh 进程权限在浏览器侧运行;安装前建议在 GitHub 仓库 阅读源码与 MIT 许可证,确认符合你的安全与合规要求。DSH 生态强调「一切皆插件」;社区目录站点 SkillHub 插件页 为独立收录,与 DeepSeek / 幻方无官方从属关系,不要将其等同于官方应用商店。

结尾

dsh-basketball-pet 把可拖篮筐、球箱与带物理的投篮记分叠在 shell.overlay 上,兼顾穿透点击与每日记分,适合作为 DSH Web UI 里的轻量桌宠。目录页:https://www.skillhub.cn/plugins/2095945715a-source/dsh-basketball-pet;源码与说明:https://github.com/2095945715a-source/dsh-basketball-pet。

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

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

Xiaoye