ARTICLE · INTELLIGENCE

战地情报 · 详情页

来自尧图项目组的一线实战观察与深度解析

60 分钟从零上手到自制 MOD:PySide6 桌面宠物框架 DyberPet 完整指南

60 分钟从零上手到自制 MOD:PySide6 桌面宠物框架 DyberPet 完整指南

60 分钟从零上手到自制 MOD:PySide6 桌面宠物框架 DyberPet 完整指南

【免费下载链接】DyberPetDesktop Cyber Pet Framework based on PySide6项目地址: https://gitcode.com/GitHub_Trending/dy/DyberPet

DyberPet(呆啵宠物)是基于 PySide6 的开源桌面宠物框架:一只可以养成的角色住进你的屏幕,番茄钟、任务、商店都能接上。这篇讲清安装、第一轮养成闭环,以及怎么用 JSON 做出自己的角色,读完就能开养。

什么人会用桌宠:三个典型场景

谁在用典型时刻在这个项目里会发生什么
专注力不稳的学生、打工人写代码写了半小时,开始走神开一局专注,倒计时挂在宠物头顶,完成掉落物品,顺手喂一口
角色爱好者、画师想让喜欢的角色住进桌面一套图片帧加两个 JSON 就是新角色,或直接从社区合集导入现成角色
想要桌面陪伴的人屏幕太空,通知又太吵拍拍、喂食、升级都有对话气泡回应,迷你宠物会跟着你走

第一个场景背后是完整的经济循环:番茄钟和专注时间完成后按已投入时长结算物品,物品喂给宠物换好感,好感又解锁新动作。后面"第一个小时"会走一遍。后两个场景也不挑门槛:仓库自带 Kitty 等演示角色和会跟着主宠物走的迷你宠物派蒙;不会画的角色不用等,docs/collection.md收录了小呆、流萤、纳西妲等现成模组合集,下载后在 App 里直接导入。

安装:3 分钟零基础上手,开发者用 conda 环境

零基础上手:Windows 用户从 Release 下载 EXE,双击运行,不装 Python、不敲命令,看到宠物在屏幕上走动大约 3 分钟。

开发者环境:建议用 conda 隔离,避免污染系统 Python。以下命令可直接复制:

conda create --name Dyber_pyside python=3.9.18 conda activate Dyber_pyside conda install -c conda-forge apscheduler pynput pip install PySide6-Fluent-Widgets==1.5.4 pip install pyside6==6.5.2 pip install tendo git clone https://gitcode.com/GitHub_Trending/dy/DyberPet cd DyberPet python run_DyberPet.py

macOS 用户只有一处不同:把 pynput 换成pip install pynput==1.7.6,项目对 Mac 已做适配。

启动后右键点宠物,"角色面板""选择动作""召唤伙伴""更换角色"就是全部管理入口。

上手后的第一个小时:从第一次摸摸到第一笔进账

第 0 分钟,拍拍它。单击一次会冒出"摸摸"气泡,心情不错时点击位置还会飘出爱心。手速快一点,1 秒内点满 7 次,宠物会直接吐槽你。这些气泡的文案和图标配在角色目录的note/下,触发逻辑在DyberPet/bubbleManager.py里,想改台词不用碰动画代码。

第 10 分钟,开一局专注。任务面板里启动番茄钟,倒计时实时挂在宠物头顶,动画自动切到"专注"状态。专注期间再拍它,会触发一套专属气泡,比平时多一种"被抓包"的趣味。

第 40 分钟,结算奖励。倒计时走完会按投入时长掉落物品,中途取消也一样结算,所以开了一半的专注不算白费。物品进背包,啵币进账户——货币图标和名字还能在角色配置里换成自己画的样子。

第 1 小时,喂食与逛街。打开背包喂一份汉堡:饱食度 +10,还附带 Buff,5 分钟内饱食度不再下降。换成薯条则是另一条思路:每 30 秒掉 5 枚啵币,持续 2 分钟。好感度上限 200 级,首级之后每级 120 点,徽章随等级从星星、月亮、太阳一路升到皇冠。锁屏时数值自动暂停,离开半天回来宠物也不会饿。

从玩家到创作者:用 JSON 做自己的角色

新增一个角色,本质是"一组图片帧 + 两个 JSON 文件",放进res/role/<角色名>/:

  • pet_conf.json:角色宽高、默认动作(default、drag、fall必填),以及随机行为的概率(random_act里的act_prob),决定它待机时最爱做什么;
  • act_conf.json:每个动作的帧文件前缀、换帧间隔(frame_refresh)、是否移动(need_move、direction),走路的猫就是在这里"走"起来的;
  • 物品则写在res/items/Default/items_config.json,效果数值、掉率drop_rate、Buff 都在一处声明,例如给汉堡配一个停止饥饿的 Buff:
{ "汉堡": { "effect_HP": 10, "effect_FV": 3, "drop_rate": 0.5, "buff": { "effect": "HP_stop", "expiration": 300 } } }

对话系统也支持配置化:对话类物品配合msg_conf.json可以搭出带选项的多分支对话树,做剧情问答甚至小测验都行。动手前翻一遍docs/art_dev.md,它写清了角色、物品、迷你宠物的素材规范和开发流程;做完的模组发布前,文档也建议先用系统里的自动检测功能查一遍错误。

开始之前:先读五条避坑

  1. 版本锁死:PySide6-Fluent-Widgets用 1.5.4、pyside6用 6.5.2,这是当前验证过的组合;macOS 必须配pynput==1.7.6。
  2. 不要多开:程序默认禁止重复启动,防止存档写冲突;想让多个角色同屏,用"召唤伙伴",迷你宠物会自己排队补位。
  3. 素材用英文命名:模组文件夹和图片文件都用英文,部分繁体中文环境解压会出现乱码并导致崩溃。
  4. 性能:图片已统一走 QPixmap 加载并加了懒加载,内存占用比较克制;感觉卡就先在设置里调低宠物缩放。
  5. 存档安全:存档按角色独立保存,支持导出、导入和快速存档;退出前程序会主动写盘一次,正常关闭即可。

收尾:开一局番茄钟,从第一只开始养

DyberPet 把养成、效率工具和模组生态做成了一个整体,不接 AI 也完整可玩;源码结构同样清楚,主控在DyberPet/DyberPet.py,动画引擎在DyberPet/Accessory.py,数值和任务分别在Dashboard/statusUI.py与Dashboard/taskUI.py,想改哪个都找得到地方。剩下的就是装一个、导入喜欢的角色、开一局番茄钟——第一只角色,今天就可以住进你的桌面。

【免费下载链接】DyberPetDesktop Cyber Pet Framework based on PySide6项目地址: https://gitcode.com/GitHub_Trending/dy/DyberPet

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

RELATED READING

延伸阅读

更多一线实战笔记与深度复盘,助您持续精进