Case 003 / desktop companion

Codex Pet Player

一个轻量 Tauri 桌面宠物播放器。它把 Codex 宠物包从客户端里独立出来,变成透明、置顶、可拖拽、可托盘控制的 Windows 桌面陪伴。

Role: Product prototype Platform: Tauri / Windows Mode: Desktop companion
Codex Pet Player 的作品预览,展示透明桌面宠物窗口和设置面板。

Summary

把 Codex 宠物从素材包变成真正停在桌面的陪伴。

这个项目已经走通了从宠物素材规范到 Windows 安装包的完整路径:自动扫描宠物目录,读取 `pet.json` 与 `spritesheet.webp`,提供透明无边框宠物窗口、设置面板、托盘菜单、开机自启和三档性能模式。它更像是一个小而完整的桌面产品,而不是单纯的动画演示。

01

兼容宠物包

读取 Codex 宠物包格式,并扫描用户目录、安装目录、资源目录和 `~/.codex/pets`,让素材可以持续扩展。

02

透明桌面窗口

主窗口无边框、透明、置顶并跳过任务栏,点击会触发挥手或跳跃,拖拽时会切换左右移动动作。

03

托盘与面板

托盘负责显示、隐藏、打开设置和退出;设置面板负责切换宠物、暂停动画、窗口置顶、性能模式和开机自启。

Process

先让宠物包跑起来,再让它像桌面产品一样待着。

这个项目的关键不是播放一张图集,而是把素材规范、窗口行为、托盘控制和设置面板拼成一个不会打扰工作的桌面陪伴。它要有存在感,但不能挡住用户正在做的事。

01 / Format

把宠物包当成长期资产

读取 `pet.json` 和 `spritesheet.webp`,并扫描多个候选目录,让后续新增宠物不需要改播放器本身。

02 / Window

处理透明窗口的真实桌面问题

桌面宠物不能只做到透明置顶,还要考虑拖拽、任务栏、托盘、窗口边界,以及透明区域是否阻挡鼠标。

03 / Behavior

用状态和节奏制造陪伴感

idle、running、waving、jumping、waiting、review 等状态让它不只是循环动画;性能模式再控制活跃程度。

Design decisions

设计判断

从静态帧到行为状态

图集按 8 列 9 行组织,每一行对应 idle、running、waving、jumping、waiting、review 等状态,并用不同帧时长塑造动作节奏。

让陪伴不打扰工作

窗口尺寸只覆盖宠物实际区域,并用透明像素命中检测决定是否穿透鼠标事件,避免一块透明窗口挡住桌面操作。

用性能模式控制存在感

quiet、balanced、lively 三档只调动作间隔,不破坏单次动画速度。用户可以让它安静待着,也可以让它更活跃。

Current build

它已经从动画演示推进到可安装的小产品。

核心交付 透明宠物窗口、宠物包扫描、托盘菜单、设置面板、开机自启、三档性能模式和 Windows 安装包路径。
适合展示 可以作为桌面交互案例,重点呈现窗口行为、素材规范和“陪伴但不打扰”的产品判断。
下一处风险 宠物导入、边缘停靠、主题包和任务状态联动会决定它是否能从单机玩具长成系统。

Next

后续可以长成个人桌面陪伴系统。

下一步可以加入宠物导入器、桌面边缘停靠、主题包、任务状态联动、音效开关,以及更丰富的情绪和触发条件。

返回作品
Codex Pet Player 的作品预览图。