一个基于 PyQt6 和 Ollama 的桌面宠物应用,可以与本地 AI 模型进行对话交互。
目前只是初步代码,许多功能占位并未实现
- 🐾 可爱桌宠 - 在桌面上显示一个可拖拽的宠物形象
- 🤖 AI对话 - 集成 Ollama 本地 AI 模型,支持智能对话
- 💬 气泡聊天 - 优雅的气泡式消息显示,自动调整位置
- 🎯 智能交互 - 点击宠物显示输入框,拖拽移动位置
- 📌 置顶显示 - 始终保持在桌面最上层
- 🗂️ 系统托盘 - 最小化到系统托盘,不占用任务栏空间
- Windows / macOS / Linux
- Python 3.7+
pip install PyQt6 requests- 访问 Ollama官网 下载并安装
- 启动 Ollama 服务
- 下载所需的 AI 模型:
ollama pull qwen3:0.6b在代码开头修改配置参数:
# 你的 Ollama 模型名称
MODEL_NAME = "qwen3:0.6b"
# 宠物图片文件路径
PET_IMAGE_PATH = "icon.png"
# 宠物显示尺寸
PET_SIZE = QSize(150, 150)
# Ollama API 地址(默认无需修改)
OLLAMA_API_URL = "http://localhost:11434/api/generate"python desktop_assistant.py- 左键点击:显示输入框,与 AI 对话
- 左键拖拽:移动宠物位置
- 右键点击:显示功能菜单
- 系统托盘:双击显示/隐藏宠物,右键打开菜单
- 点击宠物显示输入框
- 输入问题后按回车发送
- AI 回复会以气泡形式显示在宠物头顶
- 气泡会自动在指定时间后消失
- 回车:发送消息
- Esc:关闭输入框
- 点击外部:自动隐藏输入框
desktop_assistant.py # 主程序文件
icon.png # 宠物图标文件(示例)
README.md # 说明文档
- 支持 PNG、GIF 格式图片
- 修改
PET_IMAGE_PATH指向你的图片文件 - 调整
PET_SIZE改变显示尺寸
- 修改
MODEL_NAME为其他 Ollama 模型 - 确保模型已通过
ollama pull下载 - 支持的模型:qwen、llama、mistral 等
- 气泡样式:修改
ChatBubble类的样式表 - 输入框样式:修改
InputBox类的样式表 - 显示时间:调整气泡的
display_time计算逻辑
-
Ollama 连接失败
- 确保 Ollama 服务正在运行
- 检查
OLLAMA_API_URL是否正确 - 在终端运行
ollama serve启动服务
-
图片无法显示
- 检查图片文件路径是否正确
- 确保图片文件存在于程序目录
- 支持格式:PNG、GIF
-
程序无响应
- 检查 AI 模型是否已正确下载
- 确认系统资源充足
- 尝试使用更小的模型
-
气泡位置异常
- 自动调整逻辑会防止气泡超出屏幕
- 可根据需要调整位置计算参数
DesktopAssistant:主宠物窗口类AIWorker:AI 请求工作线程ChatBubble:聊天气泡窗口InputBox:输入框窗口
- 添加更多宠物动画效果
- 支持多模型切换
- 增加对话历史记录
- 添加语音输入输出
本项目仅供学习和个人使用。
如有问题请检查:
- Ollama 服务状态
- 网络连接
- 模型文件完整性
- Python 依赖版本
享受与你的桌面 AI 助手互动吧! 🎉