(本文由 Codex 辅助整理,来自我和 Codex 的对话)
前几天公司有一个 AI / Codex 交流会,大家轮流分享自己怎么用 Codex。有同事在会上展示了自己做的 Codex Pet:就是在 Codex 界面里跑来跑去、陪你写代码的小宠物。
我当时一下就被种草了。既然别人可以做一个自己的小宠物,那我为什么不能把我家猫 Nico 也做进去?于是晚上回家折腾了一下,现在 Nico 已经变成我的上班监工,每天在 Codex 里盯着我干活。

这件事情本身其实没什么生产力意义,但它特别有情绪价值。以前 Codex 是一个很强的工具,现在界面角落里多了一只自己家的猫,就突然变得像「我和猫一起上班」。我每次看到小猫在那里动来动去,心情都会好一点。
第一次尝试:公司电脑生成失败
我一开始是想直接在公司电脑上用公司的 Codex 做完这件事。结果发现公司环境里的 image generation 效果非常一般,不知道是不是因为订阅、权限或者模型版本的原因 (也可能是公司防止我们薅羊毛),生成出来的东西基本属于「看了沉默」的程度,完全不像我家猫,也不太能用。
后来我回家用自己的电脑、自己的 Codex 环境重新生成了一遍,效果就好很多。这里我最大的感受是:生成宠物这种视觉资产,模型能力差一点就是差很多。代码任务有时候旧模型也能凑合,但图像生成不太行,风格、脸、动作一致性都会明显崩。
为什么这次效果很好
我没有只丢一张猫照片给 Codex 然后许愿。我给了几类参考:
- Nico 的真实照片,用来锁定花色、脸型和整体感觉。
- 我自己画过的一张 Nico,用来告诉模型我想要的画风。
- 对风格的文字描述:小型 digital pet、像素感、轮廓清楚、不要太写实。
我自己会画一点东西,所以那张自绘参考图很有用。最后生成出来的 Nico 既保留了我的画风,又被模型优化成更适合 Codex Pet 的小动画素材。它不是照片转头像那种硬转,而是真的变成了一只小小的工作区猫猫。

大概流程
我当时用的是 Codex 里的 pet 制作流程。大体上可以理解成四步:
- 准备参考图和描述。
- 让 Codex 生成基础形象。
- 让 Codex 按动画状态生成 spritesheet。
- 把
pet.json和spritesheet.webp放进本地 Codex 的 pets 目录。
最后得到的包大概长这样:
| |
其中 contact-sheet.png 是给人看的预览图,真正安装进 Codex 的是 nico/pet.json 和 nico/spritesheet.webp。
Pet 文件结构
pet.json 很简单,核心是告诉 Codex:这个宠物叫什么、描述是什么、spritesheet 在哪里。
| |
真正复杂的是 spritesheet.webp。我的这版 Nico 是一个 8 x 9 的 atlas:
- 每格尺寸:
192 x 208 - 整张图尺寸:
1536 x 1872 - 一共 9 行动画状态
- 没用到的格子保持透明
每一行对应一个状态:
| |
听起来很麻烦,但这部分我基本没有手动处理。Codex 的 pet 制作流程会自己按状态生成动作、切帧、合成 spritesheet、检查透明背景和尺寸。人类主要负责提供参考图,以及在效果不满意的时候说「这不像」「这个动作太怪」「这个风格太写实」。
安装到 Codex
安装也很简单。macOS 下把生成出来的宠物文件夹放到:
| |
最后目录应该是:
| |
命令行可以这样做:
| |
然后重启 Codex,在 pet / custom pet 设置里选择 Nico。重启这一步不要漏,不然你可能会怀疑自己装错了,其实只是 Codex 还没重新加载本地 pet 列表。
我觉得最重要的经验
第一,参考图很重要,尤其是你想做的是「自家猫」这种有明确身份的角色。只给一张照片很容易生成出一只泛泛的狸花猫;多给几张真实照片,再加一张风格参考,效果会稳定很多。
第二,别太贪细节。Codex Pet 本质是一个小尺寸动画角色,不是高清插画。项圈、领结、花色这种标志性元素可以保留,但毛发纹理、复杂阴影、很细的装饰都不一定适合。小图里最重要的是轮廓和表情能不能认出来。
第三,模型版本真的影响很大。我在公司环境里第一次做出来的版本完全不能用,回家换自己的环境之后就顺了很多。所以如果你生成出来很丑,不一定是你的猫不适合,也可能只是当前 image generation 能力不够。
第四,技术细节反而不是最难的。透明背景、动画行、spritesheet 尺寸、安装路径,这些 Codex 都能按流程处理。真正需要人类参与的是审美判断:这只小猫像不像我家猫?这个动作可不可爱?这个风格是不是我想要的?
最后
做完之后我把截图发了朋友圈,大家反应还挺好,还有人问这个 Codex Pet 到底怎么弄。
我的结论是:如果你已经在用 Codex,而且手头有一个你很想放进工作区的小角色,这件事非常值得试。它不一定提高效率,但会让工具变得更像自己的空间。
而且当你写代码写到一半,旁边有一只小猫在认真 review,你会突然觉得:好吧,继续干活吧,监工都来了。