- Home
- Plugins
- Just for Fun
- desktop-pet-plugin
desktop-pet-plugin
franklin0205/desktop-pet-plugin
基于 dsh-pet 的独立桌宠插件:内置原创小狐狸(29 个透明动画),支持自由扩充更多动物形象。
Install
dsh plugin --profile web add github:franklin0205/desktop-pet-pluginREADME
dsh-pet-zoo
基于 dsh-pet(MIT)的独立桌宠插件。 内置一只原创小狐狸,并支持自由扩充更多动物形象。
特性
- 内置原创狐狸:29 个透明动画(VP9-alpha,约 2.5 MB)
- 多宠物同屏,右键「显示位置」可分别开关(仅浏览器 / 仅桌面 / 两者 / 都不显示)
- 支持 pet pack:往
pet/放配置和素材即可新增动物,无需改代码 - 待机、点击、拖拽、移动、余额、碎碎念、工作状态 全套联动
- 默认 70% 待机、偶尔小动作,安静不吵
安装
| 方式 | 命令 |
|---|---|
| 桌面应用 | 插件管理页的安装框填 dsh-pet-zoo |
dsh web | dsh plugin --profile web add dsh-pet-zoo |
| 本地 tarball | dsh plugin --profile web add .\dsh-pet-zoo-0.2.2.tgz |
桌面端 profile 由 Electron 应用独占管理,只能在应用内「插件管理」页安装。 装完 重开应用(
dsh web则重启)生效。
加一只新动物(pet pack)
在 ~/.dsh/dsh-pet-zoo/pet/ 下建两项:
<种类>-config.jsonc—— 宠物实例 + 动画映射<种类>-animation/—— 放<动画名>.webm,文件名要与配置里引用的名字逐一对应
最小示例 mycat-config.jsonc:
{
"pets": [
{ "id": "mycat", "name": "我的猫", "size": 400, "display": "web",
"position": { "corner": "bottom-right", "marginX": 24, "marginY": 0 } }
],
"animations": {
"idle": ["待机"],
"turn": ["待机"],
"drag": ["待机"],
"clicks": ["待机"],
"moves": { "default": {}, "actions": [{ "name": "待机" }] },
"categories": [{ "id": "小动作", "weight": 20, "actions": ["待机"] }],
"events": { "balance": ["待机"], "whisper": ["待机"],
"workStatus": ["待机","待机","待机","待机","待机","待机"] }
},
"animationWeights": { "idle": 80, "turn": 5, "move": 5 }
}
配套放 mycat-animation/待机.webm。
改完 刷新页面(桌面端右键宠物 →「重载配置」)即可。
素材要求
- 必须是带 alpha 通道的 VP9
.webm,否则会渲染成黑底 - 建议 640×360(16:9),透明背景,2~4 秒可循环
- 只要
<种类>-animation/目录存在,该宠物的素材就只从这里取,不会回退到内置素材; 配置里引用的每个名字都必须有对应文件,否则那个动作会 404 events.workStatus是按下标对应 6 个档位(思考/工作/结果/等待/成功/错误),必须给满 6 项
macOS
Safari / WKWebView 不认 webm 的 alpha(会黑底),需要另放 .mov(HEVC-alpha)到
pet/<种类>-animation/mov/。Chrome / Edge / Firefox 与桌面模式照常用 webm。
开发者:维护与发布
本机已做的配置(换电脑要重做)
-
SSH 密钥:
~/.ssh/id_ed25519_dshpet(公钥已加到 GitHub 账号) -
本仓库已设置:
git config core.sshCommand "ssh -i C:/Users/<你>/.ssh/id_ed25519_dshpet -o IdentitiesOnly=yes -o StrictHostKeyChecking=accept-new" git remote set-url origin ssh://git@ssh.github.com:443/franklin0205/Desktop-pet-plugin.git -
为什么走 443:本机 22 端口被代理拦截(
Connection closed by 198.18.0.19), GitHub 提供ssh.github.com:443作为替代。主机指纹应为SHA256:+DiY3wvvV6TuJJhbpZisF/zLDA0zPMSvHdkr4UvCOqU(GitHub 官方 ED25519 指纹)。
日常提交
git add -A
git commit -m "说明"
git push
发布到 npm(让别人能 dsh plugin add 包名 一键装)
npm login # 只需一次
npm publish --access public
包名若被占用,改用 scoped 包:把 package.json 的 name 改成 @franklin0205/dsh-pet-zoo,
再 npm publish --access public。
本仓库已移除
prepack构建链(lib/是预构建产物),可以直接 publish,无需装 devDependencies。
修改包名 / 作者
脚手架脚本 make_meta.py(不在本仓库内)里的 AUTHOR 与包名改好后重跑,会同步更新
package.json 与 README 里的链接。
提交前务必确认
⚠️ 不要把影视 / 动漫等他人版权角色转成的动画提交进仓库。本仓库内置的是原创形象; 个人私用的角色素材放在本机
~/.dsh/<包名>/pet/,不会进版本库。
授权
- 本包是 dsh-pet 的衍生物,原始版权归 PC2005-cloud(MIT),
LICENSE原样保留,修改与新增部分归本项目维护者。 - 内置的狐狸形象为本项目原创。
- 请勿把影视 / 动漫等他人版权角色转成的动画打包分发。
License
MIT