DyberPet:5 分钟让一只桌宠住进你的桌面,PySide6 开源养成框架
DyberPet:5 分钟让一只桌宠住进你的桌面,PySide6 开源养成框架
【免费下载链接】DyberPetDesktop Cyber Pet Framework based on PySide6项目地址: https://gitcode.com/GitHub_Trending/dy/DyberPet
如果你也想过让喜欢的角色住进桌面,大概率会卡在同一处:播个 GIF 不难,难的是让它会走路、被你拖走摔到地板、饿了会讨食、好感度会升级。这一套"养"的系统,手写起来才是真正费时间的大头。DyberPet 是一个基于 PySide6 的桌宠开源框架,它把角色养成、商店任务、动画交互整套系统直接内置好了,你只管往res/role/里丢素材。
DyberPet = 基于 PySide6 的桌面宠物养成框架,解决"桌宠的养成系统从零搭"的问题,适合想做桌宠应用、或想学 PySide6 桌面开发的 Python 开发者。
核心能力速览
先说结论:这些能力不是功能堆砌,而是拼成了一个能玩起来的养成闭环。
- 养成数值:饱食度、好感度(上限 200 级)随时间衰减,喂食、互动都会改变数值,角色也会按状态切换动作和气泡。
- 背包与商店:格子背包可拖拽整理,商店支持购买和出售,掉落概率、物品星级、价格档位全在 JSON 里配。
- 每日任务与专注:内置番茄钟和专注模式,专注时桌宠会切换
focus动画,完成有物品奖励。 - 交互与物理:拖拽、拍打、随机走动、松手落地,零点还有跨天事件触发。
- MOD 生态:角色、道具、音效、迷你宠物都可以扩展,放好文件夹就自动识别,主程序不用改。
- AI 助手(可选):可接入大模型做陪伴聊天和待办管理;不接 AI,也是一只完整可玩的桌宠。
也就是说,通常最花工期的"数值—道具—任务"循环,这里已经做完了,你要补的只是角色皮肤和创意。
技术选型与架构
这一节回答的是:这套框架凭什么"改配置就能出角色"。
界面层全部交给 PySide6。它是 Qt 的官方 Python 绑定,Win/macOS/Linux 行为一致。无边框窗口、置顶、多显示器感知这些桌宠刚需,框架已经处理好,配 Fluent-Widgets 控件统一观感。对你意味着:不用自己啃窗口消息循环。
模块之间全靠信号槽缝合。打开入口脚本 run_DyberPet.py,能看到典型写法:宠物主体PetWidget、通知、挂件、控制台、仪表盘各自独立,__connectSignalToSlot里一条条连起来。好处很实际——改商店逻辑碰不到动画播放器,模块可以拆开读。
数据层用 JSON 加 PNG 帧图。角色、动作、道具、迷你宠物全是文件,加载时有校验函数兜底,配置坏了会明确报出哪一级出错。对话分支、掉落概率、动作权重,改文件就行。目录分层也是这个逻辑:DyberPet/Dashboard/放仪表盘 UI,DyberPet/DyberSettings/放系统面板,res/全是数据,谁也不越界。
最快上手路径
环境门槛不高,Python 3.9+,装依赖比读文档花时间:
git clone https://gitcode.com/GitHub_Trending/dy/DyberPet cd DyberPet pip install pyside6 PySide6-Fluent-Widgets pynput apscheduler tendo python run_DyberPet.py跑起来后,一只 Kitty 猫会出现在你的桌面上。它会自己左右散步,你拖它、拍它,它都会做出对应反应。
然后建议打开 Kitty 的动作配置,看"动作 = 帧图前缀 + 帧数 + 刷新间隔"这个结构:images指向action/目录里的帧图前缀,act_num是帧数,frame_refresh是刷新间隔,left_walk还多了need_move和direction控制位移。看懂它,你就已经跨过桌宠开发的第一道门槛。
读代码路线
想深入源码的话,按这个顺序读,依赖关系是顺的:
- run_DyberPet.py —— 入口。重点看
DyberPetApp.__connectSignalToSlot,几十个信号连接就是整个系统的接线图。 - res/role/Kitty/ —— 最完整的角色样本。
pet_conf.json定义尺寸和随机动作权重,act_conf.json定义动作,action/是帧图。 - DyberPet/DyberPet.py —— 主类
PetWidget。动画模块和交互模块都在这里,框架的心脏。 - DyberPet/Dashboard/ —— 状态、背包、商店、任务面板的实现,看 UI 怎么被数值信号驱动刷新。
- 素材开发文档 —— 官方文档,讲清了动画播放原理和每个参数文件怎么写,照着抄就能出角色。
- 角色与模组合集 —— 看现有角色长什么样,对照着读代码更具体。
适合谁,不适合谁
适合:
- 想学事件驱动桌面应用:信号槽连接和模块边界拆着读,比啃教程直观得多,是理解 PySide6 架构的好样本。
- 想快速验证桌宠创意:改 JSON、丢帧图,一个下午出一只可交互的桌宠,先验证创意再谈打磨。
- 想做养成类桌面产品:数值、任务、商店这些模块可以直接当底座,换皮换角色就能出自己的东西。
不适合:
- 期待开箱即用的完整 AI:README 里写得很清楚,LLM 模块还在持续开发,相关能力暂未完全开源,别指望它自带 AI。
- 想要完整用户手册:文档侧重模组开发侧,用户手册标注"施工中",新手得靠源码和素材文档摸索。
- 需要多开进程:入口脚本里有单例锁,二次启动直接退出,防的是存档数据错乱。
别想太多,现在 clone 下来跑一遍。五分钟后你的桌面上会有一只猫在散步,之后想加角色,照着 素材开发文档 抄一份目录结构就行。🐾
【免费下载链接】DyberPetDesktop Cyber Pet Framework based on PySide6项目地址: https://gitcode.com/GitHub_Trending/dy/DyberPet
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考