一个基于 Python/Tkinter 的桌面宠物应用,支持 Live2D 模型展示、AI 聊天、吉他弹奏等多种功能模块。
- 🎯 智能抠图 - 基于 AI 的背景移除,自动识别主体,一键生成桌宠
- 🎭 Live2D 模型 - 支持加载和展示 Live2D 模型,让桌宠更加生动
- 💬 AI 聊天 - 内置 AI 对话功能,可以和桌宠聊天互动
- 🎸 吉他弹奏 - 桌宠吉他弹奏功能模块,趣味十足
- 🖥️ 桌面交互 - 可拖拽、可交互的透明桌宠窗口
- 🌐 Web 界面 - 支持 FastAPI Web 服务,浏览器访问
- ⏰ 闹钟管理 - 内置闹钟管理功能
- 🔊 音频管理 - 支持语音和音效播放
- 📡 系统监控 - 实时监控系统状态
- 🎨 丰富交互 - 浮动动画、随机移动、鼠标跟随、点击反馈
| 类别 | 技术 |
|---|---|
| GUI 框架 | Tkinter / PySide6 |
| Live2D | PixiJS + Cubism SDK |
| Web 框架 | FastAPI |
| 图像处理 | rembg, Pillow, OpenCV |
| AI 模型 | U2-Net(背景移除)、AI 对话接口 |
| 动画系统 | 自研动画引擎(浮动、随机移动、跳跃) |
DesktopPet/
├── main.py # 主程序入口
├── run_pet.py # 桌宠启动脚本
├── run_live2d.py # Live2D 模式启动脚本
├── run_server.py # Web 服务器入口
├── run.bat # Windows 启动器
├── requirements.txt # Python 依赖
├── requirements_server.txt # 服务端依赖
│
├── desktop_pet/ # 核心模块
│ ├── core/ # 核心功能
│ │ ├── ai_client.py # AI 客户端
│ │ ├── alarm_manager.py # 闹钟管理
│ │ ├── animation.py # 动画系统
│ │ ├── audio_manager.py # 音频管理
│ │ ├── config.py # 配置管理
│ │ ├── image_processor.py # 图像处理(抠图)
│ │ └── monitor.py # 系统监控
│ │
│ ├── ui/ # 界面模块
│ │ ├── main_window.py # 主窗口
│ │ ├── pet_window.py # 桌宠窗口
│ │ ├── chat_window.py # 聊天窗口
│ │ ├── guitar_window.py # 吉他弹奏窗口
│ │ └── styles.py # 样式定义
│ │
│ ├── live2d/ # Live2D 模块
│ │ ├── live2d_pet.py # Live2D 桌宠
│ │ ├── pet_tools.py # 桌宠工具
│ │ └── lib/ # JS 运行库
│ │
│ └── utils/ # 工具模块
│
├── server/ # Web 服务
│ ├── api.py # FastAPI 接口
│ └── static/ # 静态文件
│
├── assets/ # 资源文件
│ ├── live2d_models/ # Live2D 模型资源
│ └── voices/ # 音效资源
│
└── models/ # 模型文件
git clone https://gitee.com/tong-bei/DesktopPet.git
cd DesktopPet# 创建虚拟环境
python -m venv venv
# Windows 激活
venv\Scripts\activate
# Linux/Mac 激活
source venv/bin/activate
# 安装依赖
pip install -r requirements.txt# 启动桌宠
python main.py
# 或启动 Live2D 模式
python run_live2d.py
# 或启动 Web 服务
python run_server.pyWindows 用户可双击 run.bat 选择启动模式。
- 🖱️ 左键拖拽 - 移动桌宠位置
- 🖱️ 双击 - 切换鼠标跟随模式
- 🖱️ 连续点击 3 次 - 触发跳跃动画
- 🖱️ 右键 - 打开菜单(调整大小、透明度、关闭等)
MIT License