此页目录
BUILD LOG 04 · HATCH

我用 AI 把自己孵成了电子宠物

从一张照片到会跑、会挥手、会显示任务状态的像素分身。
这篇文章完整公开头像选择、动作精灵表、正式孵化、验证和安装过程。

CodexImage GenHatchPet开源 Skill第 04 期
油画插图:AI 孵化出的数字伙伴

打开 Codex 工作时,我的工作区旁边会一直站着一只像素宠物。

鼠标移到它身上,它会挥手;拖动它,它会跟着移动;当 Codex 开始执行任务时,它还会切换成思考、打字等动作。即使我切到其他界面,也能通过宠物的状态判断任务是不是还在运行。

这只宠物不是从素材网站下载的。我给 AI 一张自己的照片,让它先设计像素形象,再制作动作,最后安装进 Codex。为了让其他人也能复现,我把这套过程整理成了开源 Skill:weilanx-hatch-pet

这篇文章完整记录怎样用它孵化一只自己的 Codex 宠物,以及过程中最容易误解的几个地方。

Codex Leo 在工作区旁运行的最终效果,周围展示了多只像素宠物

最终要走过的三步

整个流程可以先压缩成一张图:

一张参考图
3–5 个像素头像候选
├── 停下来,由我选择角色形象
3 张动作精灵表候选
├── 再停一次,由我选择动作风格
HatchPet 制作、检查并安装
Codex 里的动态宠物

这里最重要的设计是两次“停下来”。

图片生成很擅长给出方案,但它不知道我真正喜欢哪一张。如果 AI 在生成第一批头像后就自动挑选,并一路做到最后,等一个小时后才发现角色不是自己想要的,前面的计算和等待都会浪费。

所以我把审美选择拆成两次:先选“长什么样”,再选“怎样动”。用户确认之后,才进入耗时更长、技术要求更严格的正式孵化。

准备工作

开始前需要准备下面几项:

  1. 一张清晰的参考图,可以是真人、宠物、物体、插画或自己的 IP 角色;
  2. 能调用图片生成工具和子 Agent 的 Codex 环境;
  3. 当前可用的 HatchPet Skill,用于最终图集制作和安装;
  4. Python 3.9 或更高版本,以及 jq
  5. 开源的 weilanx-hatch-pet Skill。

weilanx-hatch-pet 负责候选生成、两次选择和任务续接,真正进入生产阶段后,它会调用当前安装的 HatchPet。这样做的好处是,HatchPet 以后升级了图集规格或验收方式,这个 Skill 不需要复制和维护另一套旧实现。

调用 weilanx-hatch-pet 时提交的原始人物参考图和孵化指令

第一步:安装开源 Skill

项目已经发布在 GitHub:

https://github.com/Azure12355/weilanx-hatch-pet

如果你的 Agent 使用常见的 Skills 目录,可以通过下面的命令安装:

Terminal window
SKILLS_HOME="${AGENT_SKILLS_HOME:-$HOME/.agents/skills}"
mkdir -p "$SKILLS_HOME"
git clone https://github.com/Azure12355/weilanx-hatch-pet.git \
"$SKILLS_HOME/weilanx-hatch-pet"

不同 Agent 运行时的 Skill 注册目录可能不同。如果你的 Codex 没有自动发现它,需要按照当前运行时支持的方式,把这个仓库加入 Skill 列表。不要照搬别人电脑上的绝对路径。

仓库默认 README 是英文,顶部可以切换到完整的简体中文版本。里面还列出了依赖、目录结构、三阶段约定和 Agent 使用边界。

weilanx-hatch-pet 的 GitHub 仓库首页与使用说明

第二步:给它一张图片,先生成像素头像

安装完成后,上传参考图并调用 Skill。

去掉本机输出目录后,我当时的核心指令是:

$weilanx-hatch-pet 帮我把这张照片孵化成一只 Codex 宠物。

这句话不需要写得很长。Skill 会先识别当前处于哪个阶段,然后为参考图生成 3–5 个 Q 版像素头像。

我这次得到五个方向。它们保留相同的基本身份特征,但像素密度、服装细节和风格处理不同。最后我选择了第 4 张,也就是带有蓝紫色点缀的赛博朋克风格。

第一阶段生成的五种像素头像候选方案

最终选中的像素头像,保留黑色服装和蓝紫色点缀

选定后,我直接回复:

我喜欢第 4 张,使用这张继续。

Agent 会把这个选择写进当前孵化任务的状态文件,然后才进入下一阶段。这里不建议只说“这个不错”或“继续”,因为当页面上同时有多张图时,明确的编号或文件名更不容易选错。

复现时,可以把需求整理成下面这样:

目标:把参考图做成 Codex 像素宠物。
角色名称:填写你想使用的名字。
候选数量:3–5 张。
身份要求:保留最容易辨认的外形、配色和服装特征。
流程要求:生成头像后停下来,等待我选择,不要自动进入下一步。

这段是方便复现的整理模板,不是我当时逐字输入的原话。

第三步:从三张动作精灵表里再选一次

头像确认后,Skill 会只使用选中的像素头像作为角色身份参考,生成三张独立的动作选择表。

每张表都是 8 列、6 行,一共 48 帧。三张候选的角色应该保持一致,差别主要在动作幅度、节奏和姿态处理。我这次选择的是第 2 张。

第二阶段生成的三张八列六行动作精灵表候选

选中的第二张动作精灵表,完整展示四十八个动作参考帧

我当时的选择很简单:

使用第 2 张作为精灵表,继续孵化。

这里有一个容易误解的地方:这张 8 × 6 的图片是动作和审美选择表,还不是 Codex 最终读取的正式图集。

它的作用是告诉后续 HatchPet:角色应该保持什么配色、像素密度和动作感觉。正式孵化时,HatchPet 还需要根据当前 Codex 宠物规格补齐标准状态、方向、透明背景和包结构,并完成验证。不能把第二阶段生成的图片直接复制到宠物目录里当成成品。

第四步:让 HatchPet 正式孵化

第二次确认后,weilanx-hatch-pet 会读取当前 HatchPet 的完整说明,把已经确认的头像和动作表一起交给它。

后面的工作包括:

  • 准备角色身份和动作参考;
  • 生成正式动画状态和方向;
  • 统一透明背景、帧尺寸与排列;
  • 组装 Codex 使用的图集和配置文件;
  • 检查方向、动作连贯性与角色一致性;
  • 修复未通过的部分;
  • 验收通过后安装到本地宠物目录。

这一步明显比前两步慢。我的录制案例大约用了一个多小时,但这不是固定时长。图片生成速度、需要返工的帧数、当前模型和电脑环境都会影响最终时间。

孵化过程中不需要一直盯着窗口。如果任务被打断,可以在同一个会话里回复“继续”。Skill 会读取已经记录的候选和选择,不会要求从原始照片重新开始。如果同时存在多个未完成任务,它会要求你说明要继续哪一个,避免误接到另一只宠物。

HatchPet 完成正式孵化、验证和安装后的结果记录

第五步:在 Codex 中启用宠物

孵化与安装完成后,我重启了 Codex,然后进入:

Settings > Pets

在我录制这期内容时,新宠物会出现在这里。选择它之后,宠物就会显示在工作区旁边。Codex 后续版本如果调整设置入口,以当前客户端界面为准。

Codex 设置页面中的 Pets 列表,Codex Leo 已安装并被选中

启用后可以实际检查几种状态:

  1. 鼠标悬停时是否会挥手;
  2. 宠物能否被拖动;
  3. 发送任务后是否进入思考或打字状态;
  4. 任务结束后是否退出工作状态;
  5. 切换界面后,宠物是否仍能帮助判断任务进度。

Codex Leo 的待机、跑动、挥手、思考和其他动作状态总览

为什么我没有让 AI 一次做完

从一张照片直接生成完整宠物听起来更省事,但真正制作时,审美错误和技术错误最好分开处理。

第一阶段只回答“角色像不像、我喜不喜欢”;第二阶段回答“动作感觉对不对”;第三阶段才处理帧数、方向、透明背景、图集和配置。如果第一阶段就不满意,只需要重做一张头像,不必重新生成整套动画。

这种做法也适合其他 AI 创作任务:先确认不可逆、成本高的上游选择,再进入耗时更长的生产环节。AI 负责生成和执行,人负责目标、选择与验收。

常见问题

头像不像参考图怎么办?

不要急着进入动作阶段。指出最重要的识别特征,例如发型、脸型、眼镜、衣服轮廓或主色,并只要求重做失败的候选。身份没有确认前,不要开始制作 48 帧动作表。

精灵表不是完整的 8 × 6 怎么办?

这张图应当判定为不合格。每张候选必须清楚包含 8 列、6 行和 48 个完整画面,不能缺行、缺列、裁切角色,也不能把装饰图当成一帧。Skill 默认会只重试失败的候选,而不是全部推倒重来。

第二阶段的图能直接安装吗?

不能。它是动作选择表,不是最终 Codex 图集。必须继续交给当前 HatchPet,按最新规格生成、检查和打包。

回复“继续”会不会接错任务?

只有一个未完成任务时,Skill 可以安全续接。如果存在多个未完成任务,它不会悄悄选择最新目录,而是会要求你确认具体任务。

为什么别人安装后找不到 Skill?

最常见的原因是不同 Agent 运行时使用不同的 Skill 目录或注册方式。先确认仓库是否克隆完整,再查看当前运行时是否已经发现 weilanx-hatch-pet。此外,最终生产还依赖可用的 HatchPet、图片生成工具、Python 和 jq

当前边界

这套流程已经能够完成头像选择、动作选择、任务续接和 HatchPet 交接,但仍有几个真实边界:

  • 它依赖宿主环境提供图片生成能力和当前可用的 HatchPet;
  • 生成时间不能保证,我的案例是一个多小时,其他环境可能更快或更慢;
  • 第二阶段的 48 帧图片只用于选择,最终图集以当前 HatchPet 规格为准;
  • 图片和运行状态会保存在本地,公开问题或提交代码时不要上传私人照片和运行产物;
  • Codex 的设置入口和宠物规格以后可能变化,应以当前客户端和 HatchPet 说明为准。

开源地址

项目地址:

https://github.com/Azure12355/weilanx-hatch-pet

仓库使用 MIT License。你可以使用、修改和分发它,也欢迎提交问题、评测案例和可移植性改进。

对我来说,这次真正有意思的地方,不只是把一张照片变成像素角色,而是把一段需要反复确认的创作过程,整理成了可以复用的 Agent 工作流。

准备一张你喜欢的图片,先让 AI 给出选择,再一步步验收。这样做出来的,才更像是属于你自己的那一只宠物。

✦ Lead AI · Build everything

蔚蓝空间栈 · spacex.weilanx.com

合集目录

  1. 第 01 期 · 我让 AI 几分钟给自己做了张海报
  2. 第 02 期 · 我用 AI 做了一个台风守护站
  3. 第 04 期 · 我用 AI 把自己孵成了电子宠物
  4. 第 05 期 · 我的 Mac 又快满了,这次我让 Codex 帮我清理