灵伴桌面宠物 — 深度优化计划 v2.1
日期: 2026-08-05
目标: 在 v2.0 UI 改版基础上,对标竞品增加实用功能,提升产品竞争力
一、竞品分析总结
1.1 Steam 桌面伴侣类竞品
| 产品 |
价格 |
核心功能 |
优势 |
弱点 |
| Desktop Mate |
免费+DLC |
3D 角色、窗口吸附、鼠标追踪、DLC 角色包 |
3D 渲染精美、IP 联动(初音未来) |
纯观赏、无实用功能 |
| Eysan |
~$1.5 |
桌面宠物 + 笔记 + 番茄钟 + 提醒 + 计时器 |
宠物+效率工具一体化 |
角色设计一般、功能简单 |
| Your Mom |
免费 |
桌面伴侣 + 番茄钟 + Todo + 提醒 + 白噪音 |
功能全面 |
角色单一 |
| My Desktop Friend |
付费 |
宠物 + 生产力工具 |
专注奖励机制 |
信息不足 |
1.2 传统桌面宠物
| 产品 |
特点 |
| Shimeji |
Java 桌面宠物鼻祖,支持多只、爬窗、拖拽互动、自定义动作 |
| Ark-Pets |
明日方舟桌宠,开源,角色丰富、动画精美 |
1.3 ling-pet 差异化定位
ling-pet 的独特优势是 “宠物 + 任务调度”,当前竞品中没有任何产品同时具备:
- 可爱的桌面宠物(对标 Desktop Mate)
- 实用的效率工具(对标 Eysan/Your Mom)
- 灵活的任务脚本调度(ling-pet 独有)
优化方向: 补齐竞品已有而我们缺失的核心效率功能,同时强化宠物互动体验。
二、优化功能清单
P0 — 本次必须实现
| 编号 |
功能 |
说明 |
竞品来源 |
| O-01 |
番茄钟 (Pomodoro Timer) |
25分钟专注/5分钟休息,宠物状态联动 |
Eysan, Your Mom |
| O-02 |
待办清单 (Todo List) |
简易待办,勾选完成,宠物庆祝反馈 |
Your Mom |
| O-03 |
宠物多状态系统 |
工作/休息/空闲/忙碌 四种状态 + 对应表情动画 |
Shimeji |
P1 — 重要增强
| 编号 |
功能 |
说明 |
| O-04 |
数据统计面板 |
今日/本周完成率、专注时长、连续打卡天数 |
| O-05 |
宠物互动增强 |
双击摸头(好感度+1)、右键喂食、拖拽时宠物表情变化 |
| O-06 |
休息提醒增强 |
番茄钟结束后宠物主动提醒休息 |
P2 — 后续迭代
| 编号 |
功能 |
说明 |
| O-07 |
白噪音/环境音 |
专注时播放雨声/咖啡馆背景音 |
| O-08 |
成就徽章系统 |
连续打卡、番茄钟累计等成就 |
| O-09 |
多宠物同时显示 |
桌面多只宠物互动 |
三、本次执行范围
本次聚焦 P0 三项核心功能,预计工时 2-3 天:
- 番茄钟 — 控制中心新增番茄钟页面,25min/5min 循环,宠物实时反馈状态
- 待办清单 — Dashboard 增加简易 Todo 组件
- 宠物状态系统 — 宠物根据番茄钟/提醒状态切换动画和气泡
四、技术方案
4.1 番茄钟
- 渲染进程独立 Timer(setInterval 1s 更新)
- 状态通过
localStorage 持久化(无需 IPC)
- 状态变化通过现有
onStateChanged 机制同步到宠物窗口
- 新增
pet:set-mood IPC 通道让宠物切换表情
4.2 待办清单
- 数据存储在
config.json 中新增 todos 数组
config-store.js 新增 upsertTodo/deleteTodo/toggleTodo 方法
- 新增 IPC:
todo:save, todo:delete, todo:toggle
- UI 嵌入 Dashboard 页面
4.3 宠物状态系统
- 4 种状态:
idle(空闲)/ working(番茄钟专注中)/ break(休息中)/ busy(任务执行中)
- 每种状态对应不同气泡颜色和动画 class
- 通过
pet:set-mood IPC 通知宠物窗口
五、涉及文件
| 文件 |
改动 |
src/manager.html |
新增番茄钟页面 + Dashboard Todo 组件 |
src/manager.css |
番茄钟样式 + Todo 样式 |
src/manager.js |
番茄钟逻辑 + Todo CRUD |
src/config-store.js |
新增 todos 数据存储 |
src/main.js |
新增 IPC handler (todo CRUD, pet:mood) |
src/preload.js |
新增 API (todo CRUD) |
src/pet.html |
新增状态表情元素 |
src/pet.css |
状态动画样式 |
src/pet.js |
状态切换逻辑 |
tests/integration.js |
新增测试用例 |