Codex 最近增加了桌面宠物功能。我用家里小狗的照片孵化了一只叫「钱钱」的宠物,它会待在桌面上,也会随 Codex 的任务状态改变动作。

Codex 桌面上的小狗宠物

除了提供情绪价值,它还能显示 Codex 实时的任务进度:有多个话题在跑的时候,宠物旁边会有转圈的效果,任务完成了就变成打勾。鼠标 hover 在宠物身上的时候,它还会动起来,并出现回复等操作按钮。

hover 宠物时出现状态和操作按钮

创建过程分成两部分:先用 Hatch Pet 生成自定义宠物包,再到设置里启用并唤醒它。

安装 hatch pet skill

第一步,点击左侧的 Plugins,顶上切换到 Skills,搜索 hatch pet。这个 skill 的意思就是孵化宠物,小宠物需要通过它孵化出来。

在 Skills 里搜索 hatch pet

其实不安装这个 skill 也能在设置里打开宠物,但我推荐大家先安装,因为自定义形象要靠它完成。

孵化自己的宠物

安装之后新开一个话题,输入斜杠调用 Hatch Pet,它就会向我们采集信息,比如宠物叫什么、长什么样子。补齐这些信息之后,宠物就能创建出来了。

在新话题里调用 Hatch Pet

调用 Hatch Pet 之后,它会询问名称和外观,也可以直接接收参考图片。我用家里的小狗创建形象,提供的照片里小狗戴着一个黄色小圈圈,又补充了文字描述:宠物叫钱钱,是金色和白色的边牧小狗,表情微笑,可爱、肉嘟嘟的。

提供参考图片和描述后孵化完成

孵化完成后它会把整个宠物包放好:宠物包 qianqian、最终图集 spritesheet.webp、配置文件 pet.json、用于检查的 contact-sheet.png,还有预览视频。

宠物包是怎么生成的

这些信息齐了之后,hatch pet 会执行一个子 Agent。Codex 现在自己有生图能力,GPT Image 2 的生图能力也很强,所以整个形象生成是在 Codex 内部完成的。

子 Agent 先生成宠物的主形象

它的执行过程大概是这样的:

  • 先生成第一张基础形象图,背景特意生成青色,因为后面要从这张图里抠图。我不太理解 Codex 为什么不直接生成透明背景,我记得 GPT 官方 API 是支持的。
  • 然后一张图生成多帧小动作,比如坐着的时候的小表情、眨眼睛。一张图出多帧,不会浪费太多生图额度。
  • 基于这个逻辑生成很多张图之后,把它们裁开,按照固定格式维护起来,再配上 JSON 描述文件,告诉 Codex 这只宠物怎么连贯地动起来。

一张图里生成多帧坐姿和眨眼动作

最终这些文件会放到 Codex 的 pets 目录里。

启用和唤醒宠物

创建完成之后,打开 Settings,点击外观,往下拉能看到 Pets 选项。展开之后默认是 Codex 机器人,它内置了一些宠物形象;下面的 Custom Pets 里就能看到我创建的钱钱,选中它。

设置里的 Pets 选项,Custom Pets 里选中钱钱

然后随便选择一个话题,输入斜杠 pet,点 wake,也就是唤醒宠物。如果屏幕上原本没有宠物,点击唤醒它就会出现在桌面上。

输入 /pet 后选择 wake 唤醒宠物

唤醒之后宠物在桌面上行动

这个功能把 Codex 的生图、Agent 和桌面端状态展示串在了一起。宠物的形象在应用里生成,完成后的素材包进入本地目录,再由桌面端读取动作配置。它除了提供一个可自定义的桌面形象,也把原本藏在任务列表里的运行中、已完成等状态放到了桌面上。