前言¶
长时间开着 DSH 做对话、写代码或跑任务时,界面往往只有工作区本身,缺少一个轻量、不抢焦点的「日常状态」入口。把打卡、专注计时和简单记录拆到别的 App 里,又要切窗口、数据也对不上。
牛马力(dsh-pet-niumali)是维护者 chenyuan1251 发布的 DSH 插件,在 SkillHub 分类为「趣味换装」。它在 DSH 界面之上挂一个可拖动的桌宠浮球,点开是同一份页面里的开工/收工打卡、专注计时、待办、手帐、旅行与探宝;数据全部落在浏览器 localStorage,插件本身不带后端、不发起网络请求。下面介绍它怎么接入 DSH、浮球与页面如何工作,以及可选的独立 Electron 小窗用法。
这是什么¶
一句话:dsh-pet-niumali 是注册在 DSH shell.overlay 上的常驻桌宠,展开后通过 iframe 载入插件路由 /pet-niumali/ 下的完整页面(「牛马力 · 替你活」)。
- 仓库:github.com/chenyuan1251/dsh-pet-niumali
- 社区目录页:skillhub.cn/plugins/chenyuan1251/dsh-pet-niumali
- 当前包版本(
package.json):8.0.2 - 许可证:MIT
- DSH 兼容范围:
>=0.1.5-rc.1 <0.2.0-0或>=0.2.0-rc.1 <0.3.0-0;支持web、desktopprofile
SkillHub 上的英文简介概括为:浮在 DSH 界面上的桌宠,展开后可做每日打卡、专注计时与习惯手帐类记录;与 README 中的功能描述一致。
核心功能¶
浮球与 overlay¶
浮球挂在 DSH 的 shell.overlay 插槽,盖在整个界面之上,可拖动、可收起;位置与展开状态写在 localStorage。浮球徽标会读同一份存档显示当前「路费」;当天开工与收工都打卡后显示 ✓,外圈转绿。
页面与计时连续性¶
展开后用 iframe 加载 /pet-niumali/。首次展开才挂载 DOM,之后收起只是隐藏,专注计时不会因为收起浮球而中断。
设置入口¶
在 settings.section 插槽增加「牛马力桌宠」一栏,用于开关浮球或单独打开页面。
静态路由¶
服务端注册 /pet-niumali/ 静态资源路由,浏览器可直接打开该路径(也可新标签页访问),与浮球内页面相同。
数据与权限边界¶
- 存档键:
localStorage下的niumali.v9 - 不读文件、不执行命令、无网络请求
- 图片资源约 7 MB,首次打开页面会偏慢,之后走缓存
- 浮窗宽度固定 400px,高度在 420–660px 间自适应;页面按竖版布局设计
插件以当前 DSH 进程权限运行;安装前建议自行查看源码与 MIT 许可证。社区目录为独立站点,与 DeepSeek / 幻方无官方从属关系。
安装与启用¶
从 DSH 插件市场(推荐)¶
在 DSH 插件市场里搜索「牛马力」或 dsh-pet-niumali 安装,装完后重启 DSH。
手动安装¶
在所使用 profile 的 package.json 里增加依赖,并把包名写入 dsh.profile.bundles:
// ~/.dsh/profiles/desktop/package.json
{
"dependencies": {
"dsh-pet-niumali": "github:chenyuan1251/dsh-pet-niumali#main"
},
"dsh": {
"profile": {
"bundles": [
"dsh-pet-niumali"
]
}
}
}
在同一目录执行 pnpm install,然后重启 DSH。从 Git 安装时,DSH 可能提示一次构建授权,属于下载整仓源码时的常规行为。
典型用法¶
在 DSH 里日常使用¶
- 安装并重启 DSH 后,界面右下角(或可拖动位置)出现小牛浮球。
- 点击展开,在 iframe 内完成开工/收工打卡、专注计时、待办、手帐等操作。
- 需要专注时收起浮球即可;计时在后台继续。
- 在设置里找到「牛马力桌宠」,可关闭浮球或单独打开完整页面。
也可直接访问 DSH 服务上的 /pet-niumali/ 路径,不经过浮球。
独立 Electron 桌宠(可选)¶
不打开 DSH 时,仓库内提供 Electron 入口,与 DSH 浮球互不影响,且各自使用不同的 localStorage(数据不互通):
cd dsh-pet-niumali
npm install
npm start # 等价于 npx electron electron/main.mjs
会打开 420×720 的透明、无边框、置顶小窗;鼠标移到顶部可显示拖动、置顶、最小化、关闭控制条。运行需要 Node >=22(见 package.json 的 engines)。
适用场景与注意¶
适合希望在 DSH 同屏完成轻量「生活闭环」记录、又不想额外装带后端的打卡 App 的用户。趣味换装分类主要体现在桌宠形象与页面互动,核心仍是本地存档的工具页。
需要注意:
- 换浏览器、清站点数据或换 profile,会丢失
localStorage存档,重要记录请自行备份或导出(插件未在资料中提供云同步)。 - DSH 内浮球与 Electron 独立窗口是两套存储,不能混用进度。
- 首次加载因静态资源体积偏大可能较慢,属 README 已说明的限制。
结尾¶
dsh-pet-niumali 把桌宠浮球、设置入口和 /pet-niumali/ 页面收进一个无后端的 DSH bundle,适合作为 DSH「一切皆插件」生态里的趣味向生活助手。安装与细节以仓库 README 为准。
- 目录页:https://www.skillhub.cn/plugins/chenyuan1251/dsh-pet-niumali
- GitHub:https://github.com/chenyuan1251/dsh-pet-niumali