一只住在电脑桌面上的像素小猫,为孤独的程序员带来温暖陪伴。
轻量级 Electron 桌面宠物,本体仅 3MB。像素风 × 治愈陪伴,安静不打扰,偶尔冒个泡提醒你该喝水了。
- 摸摸头 — 冒爱心,心情变好
- 喂食 — 冒星星,小猫满足
- 聊天 — AI 对话,支持自定义 API
- 追鼠标 — 四条腿追着光标跑,抓到就坐下
- 散步 — 在屏幕上溜达
- 睡觉 — 蜷起来做不同的梦
- 情绪系统 — 5 级情绪(超开心/开心/普通/寂寞/难过),影响行为和聊天语气
- 时间感知 — 早安问候、午晚饭提醒、深夜催睡
- 主动行为 — 寂寞时戳你,开心时撒娇
- 做梦 — 睡觉时梦见小鱼干、追蝴蝶...
- 休息提醒 — 自定义间隔,定时提醒喝水/休息
- 专注计时 — 倒计时/正计时,自定义时长,专注时小猫安静陪伴
- 待办事务 — 添加待办 + 自定义提前提醒次数和时间,到期持续提醒直到完成
- Canvas 像素渲染,呼吸动画、尾巴摇摆、腮红、眨眼
- 专注模式头顶灯泡闪烁
- 爱心/星星/zzz 特效飘散
- 脚下半透明阴影
- Node.js >= 16
- npm
git clone https://github.com/你的用户名/desktop-pet.git
cd desktop-pet
npm installnpm start最快启动(跳过 npm 中转):
npm run quickdesktop-pet/
├── main.js # Electron 主进程
├── preload.js # IPC 桥接层
├── renderer.js # 渲染逻辑 & 状态机
├── index.html # UI 布局 & 样式
├── config.js # 角色配置(颜色/名字/提醒)
├── assets/
│ └── icon.png # 托盘图标
└── src/
├── core/
│ ├── state-machine.js # 有限状态机
│ └── event-bus.js # 事件总线
└── modules/
├── cat-renderer.js # 像素猫渲染器
├── chat-manager.js # AI 聊天模块
├── emotion-system.js # 情绪系统
├── time-awareness.js # 时间感知
└── reminder-manager.js # 提醒中心
右键 → 设置,填写:
- API 密钥 — 你的 LLM API Key
- API 端点 — 默认 MiMo,支持 OpenAI 兼容接口
- 模型 — 默认 mimo-v2.5
编辑 config.js:
character: {
name: "小猫",
colors: {
body: "#FFA726", // 身体主色
bodyDark: "#F57C00", // 阴影色
bodyLight: "#FFCC80", // 高光色
belly: "#FFF8E1", // 肚子色
// ...
}
}项目按程序员节奏设计:
- 普通模式:15 分钟变换动作,30 分钟无互动才睡觉
- 专注模式:不自动动作、不自动睡觉,安静陪伴
| 操作 | 说明 |
|---|---|
| 左键拖拽 | 移动窗口 |
| 左键点击 | 和小猫互动 |
| 右键 | 打开菜单 |
| 托盘左键 | 显示/隐藏 |
| 托盘右键 | 菜单(显示/退出) |
- Electron — 桌面框架(frameless, transparent, alwaysOnTop)
- Canvas — 像素风渲染
- 有限状态机 — 行为管理(idle/moving/chasing/sleeping/paused/chatting)
- IPC — 主进程与渲染进程通信
- localStorage — 数据持久化
MIT