
如果你第一次看到 Codex 里的“宠物”,先别把它想成游戏里的宠物。它更像一个会动的小状态牌:平时安静待着,AI 正在干活时会进入执行状态,需要你确认权限或补充信息时会变成等待状态,任务失败了会有失败反馈,进入 review 时又像在认真检查。
所以这只宠物到底是啥?简单说,它是 Codex 工作台里的小动画助手,用来把 AI 当前状态变得更直观。你可以把它理解成一个很轻量的状态提示器,只是它不是冷冰冰的图标,而是一个会动的小伙伴。

这张是我当前宠物跑起来的样子。它会浮在桌面边上,下面带着当前线程标题和状态提示。你不需要一直切回 Codex 主窗口,也能大致知道它目前是在处理任务、等待你,还是有新的状态变化。

它只是为了好玩吗?
坦白说,好玩肯定是第一层。AI 工具用久了,界面大多都很理性:命令、日志、文件、代码、提示词。突然多一只会跟着状态动的小东西,的确 会让工作台多一点陪伴感。
但它不只是装饰。对我来说,它至少有三个实际用途:第一是状态可视化,不用一直盯着文字日志,也能大致知道 Codex 是在执行、等待你、失败了,还是正在 review;第二是降低工具冰冷感,尤其是刚开始用 AI 编程工具的人,会觉得这个空间没那么陌生;第三是做个人或品牌工作台识别,你可以做一只毛绒小助手,也可以做像素风小猫、黏土风机器人、品牌感吉祥物。
它不会直接提升模型能力,但会提升你打开工具、持续使用工具的意愿。许多时候,一个工具能不能长期用下去,不只看它强不强,也看它是不是让你愿意天天打开。
Codex 本身也有自带宠物
这里先补充一个很容易忽略的点:你不必定一开始就要自己做宠物。Codex 的宠物系统本身就有自带宠物,可以先直接切换体验;后面如果你自己做了宠物,再回到同一个地方刷新本地自定义宠物就行。
操作路径也不复杂。第一步,点击左下角头像/设置入口,再点「设置」;也可以直接按 Cmd + , 打开设置。

第二步,进入设置后,左侧点击「外观」。

第三步,在「宠物」区域展开列表,选择你想用的宠物。这里能看到 Codex 自带宠物,列如 Codex、Dewey、Fireball、Hoots 等。如果你已经做了自己的宠物,但这里没显示,可以先确认宠物文件已经放到 ~/.codex/pets,然后点「刷新」。

另外,如果你只是想让桌面浮动宠物显示或收起来,也可以在输入框里输入:
/pet
或者按 Cmd + K 打开命令菜单,搜索 Wake Pet / Tuck Away Pet。简单理解就是:设置里的「宠物」负责选择用哪一只;/pet 和命令菜单更适合快速控制它显示或收起。
如果我也想做,最简单怎么开始?
不要一上来就研究底层文件。新手先记住一件事:hatch-pet 是帮你做 Codex 宠物的 skill。你只要告知它想要什么样的宠物,它会把后面那套生成、校验、打包流程跑起来。
最简单的开始方式,是在 Codex 里输入:
$skill-installer hatch-pet
安装完成后,重启 Codex。一般它会装到:
~/.codex/skills/hatch-pet
如果安装时遇到网络、证书、下载失败之类的问题,不要急着自己查半天。你可以直接对 Codex 说:
安装 hatch-pet 时下载失败了,请改用 git 方式安装。
这类问题许多时候不是你操作错了,而是本地网络或证书环境不顺。小白不要在这里硬扛,让 AI 换安装方式,往往更快。

做自己的宠物,重点是先描述清楚
你不需要会画画,但你要把需求说清楚。如果你只是想试一只自己的宠物,可以直接复制下面这段:
我想用 hatch-pet 给 Codex 做一只自定义宠物。
宠物名字:请叫它「小工友」
风格:毛绒玩具风,干净、可爱、不要复杂细节
形象:一只圆圆的小助手,主色是浅绿色和奶白色,表情认真但不严肃
动作要求:按 Codex 的 9 行状态完整生成
注意:不要文字,不要 logo,不要漂浮特效,不要背景,最后帮我做 QA 并打包到 ~/.codex/pets
如果你有参考图,可以再加一句:
参考图在:/你的/图片/路径/reference.png,请尽量保留它的颜色和整体气质,但不要直接复制文字或 logo。
如果你想做品牌感宠物,可以这样说:
请先做轻量品牌调研,只提取颜色、气质、产品隐喻,不要复制 logo、标语、界面截图或可识别文字。
这里有个小提醒:宠物不是海报,它最后会被缩到很小的格子里,所以不要一开始就堆许多复杂细节。真正重大的是轮廓清楚、表情稳定、颜色统一、道具不要太碎,不要有文字、logo、漂浮特效,并且每个动作看起来还是同一只宠物。

可以做成什么风格?
hatch-pet 不是只能做像素风,它支持许多宠物安全风格,列如 pixel 像素风、plush 毛绒玩具风、clay 黏土风、sticker 贴纸风、flat-vector 扁平矢量风、3d-toy 3D 玩具风、painterly 绘本风、brand-inspired 品牌灵感风,也可以直接用 auto 让它自动判断。
如果你没有特别明确的想法,我提议先用 auto。新手最容易犯的错,不是风格不够特别,而是风格太复杂,最后缩小后来什么都看不清。
接下来再讲一点底层:它为什么不是一张图?
前面你已经知道它是什么、有什么用、怎么开始做,目前再看底层就更容易理解。Codex 的宠物不是一张静态图片,真正被 Codex 读取的是一个“宠物包”,一般放在:
~/.codex/pets/<你的宠物名字>/
里面至少有两个文件:
pet.json
spritesheet.webp
pet.json 像一张身份证,告知 Codex 这个宠物的 id 是什么、显示名字叫什么、简短描述是什么,以及动画图集文件在哪里。spritesheet.webp 才是真正的动画图,你可以把它理解成一整张“动作大拼图”,Codex 会按固定位置读取里面的每一个小格子,然后播放成动画。
九行动画是怎么回事?
Codex 读取宠物动画时,格式是固定的。整张图集尺寸是 1536 x 1872,由 8 列、9 行组成,每一个小格子是 192 x 208。9 行分别对应不同状态:
|
状态 |
它在表达什么 |
|
idle |
平时安静待着,轻微呼吸或眨眼 |
|
running-right |
向右移动 |
|
running-left |
向左移动 |
|
waving |
打招呼 |
|
jumping |
跳起 |
|
failed |
任务失败或出错 |
|
waiting |
等你确认、等你输入 |
|
running |
正在处理任务,不是字面意义的跑步 |
|
review |
正在检查、思考、审阅 |

这也是为什么我不提议你自己手工拼。你不只是要画一只宠物,还要让它在 9 种状态里保持同一个样子,同时保证尺寸、透明背景、动作帧都对。自定义宠物最难的地方,不是生成图片,而是让每一格都能被 Codex 正确读取。
真正执行时,Codex 会做哪些事?
你不用记住所有脚本,但最好知道它大致在做什么。正常流程是:先准备运行目录,写入宠物名称、描述、风格和参考图;再生成基础形象,也就是这只宠物的“标准长相”;然后基于标准长相生成 9 行动作,把每行动作拆成单帧,合成 spritesheet.webp,再校验尺寸、透明背景、空白格和动作帧;最后生成 contact sheet 和 GIF 预览,打包成 pet.json 和 spritesheet.webp。
换成普通话就是:你负责说清楚想要什么,Codex 负责把它变成应用能识别的标准宠物包。
如果你想看命令,大致长这样
这一段不是让你手敲,只是让你知道它背后不是玄学。
SKILL_DIR="${CODEX_HOME:-$HOME/.codex}/skills/hatch-pet"
python "$SKILL_DIR/scripts/prepare_pet_run.py"
--pet-name "小工友"
--description "一只陪你工作的 Codex 小助手"
--pet-notes "毛绒玩具风,浅绿色和奶白色,圆润、认真、不要文字和 logo"
--style-preset plush
--output-dir "/你的/运行目录"
等所有图像生成和 QA 都通过后,再打包到:
~/.codex/pets/小工友/
里面至少应该有:
pet.json
spritesheet.webp
如果这两个文件缺一个,Codex 就很可能读不到它。如果图片尺寸不对,或者背景不是透明的,也可能显示异常。
最后上线前,我提议你检查 5 件事
最后别急着只看“可不可爱”,先检查 5 件事:宠物缩小后来还看不看得清;9 行动作是不是同一只宠物;idle 状态是不是足够安静,不会一直大幅晃动;waiting、running、review 三个状态能不能区分;pet.json 和 spritesheet.webp 是不是在同一个宠物目录里。
这些比第一眼惊艳更重大。由于宠物是长期挂在工作台上的,它不需要像海报一样复杂,它需要稳定、清楚、舒服。
最后说一句
我觉得 hatch-pet 有意思,不只是由于它可爱,而是由于它背后代表了一种新的 AI 工具玩法:先用 AI 生成内容,再用固定规则把内容变成应用能读取的资产,最后用校验流程保证它真的可用。它比“随意生一张图”更进一步,已经有点像一个小型生产线。
如果你也想试,不用一上来就追求完美。先去设置里切一只自带宠物玩一下,再装 hatch-pet 跑一只简单的自定义宠物。等第一次跑通后来,再慢慢调风格、调表情、调品牌感。工具嘛,先用起来,后面自然会越改越顺手。
我是 黎子,专注 AI+运营 提效。每天进步一点点,让 AI 为你打工。关注我,争取早日退休。