Skip to content

karejame/deskpet

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🐱 小橘 - 桌面陪伴宠物

一只住在电脑桌面上的像素小猫,为孤独的程序员带来温暖陪伴。

轻量级 Electron 桌面宠物,本体仅 3MB。像素风 × 治愈陪伴,安静不打扰,偶尔冒个泡提醒你该喝水了。

✨ 特性

🐾 互动

  • 摸摸头 — 冒爱心,心情变好
  • 喂食 — 冒星星,小猫满足
  • 聊天 — AI 对话,支持自定义 API
  • 追鼠标 — 四条腿追着光标跑,抓到就坐下
  • 散步 — 在屏幕上溜达
  • 睡觉 — 蜷起来做不同的梦

💡 治愈陪伴

  • 情绪系统 — 5 级情绪(超开心/开心/普通/寂寞/难过),影响行为和聊天语气
  • 时间感知 — 早安问候、午晚饭提醒、深夜催睡
  • 主动行为 — 寂寞时戳你,开心时撒娇
  • 做梦 — 睡觉时梦见小鱼干、追蝴蝶...

⏰ 提醒中心

  • 休息提醒 — 自定义间隔,定时提醒喝水/休息
  • 专注计时 — 倒计时/正计时,自定义时长,专注时小猫安静陪伴
  • 待办事务 — 添加待办 + 自定义提前提醒次数和时间,到期持续提醒直到完成

🎨 像素风

  • Canvas 像素渲染,呼吸动画、尾巴摇摆、腮红、眨眼
  • 专注模式头顶灯泡闪烁
  • 爱心/星星/zzz 特效飘散
  • 脚下半透明阴影

🚀 快速开始

环境要求

  • Node.js >= 16
  • npm

安装

git clone https://github.com/你的用户名/desktop-pet.git
cd desktop-pet
npm install

启动

npm start

最快启动(跳过 npm 中转):

npm run quick

📁 项目结构

desktop-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 设置

右键 → 设置,填写:

  • 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 — 数据持久化

📝 License

MIT

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors