OpenAI Codex 新增的桌面宠物,看起来像一个怀旧的小玩具:它会悬浮在桌面上,可以被拖动,也会做出挥手、等待、奔跑、失败等动画。但它真正解决的问题,不是“让桌面更热闹”,而是让 AI Agent(人工智能代理)的后台状态更容易被看见。
使用 AI 编程工具时,一个常见麻烦是:把任务交给模型后,开发者经常要切回工具窗口确认它在做什么。它可能还在分析代码,也可能已经完成任务,或者停在某个需要人工确认的步骤。如果当前正在浏览文档、写需求、查资料,这种反复切换会打断工作流。
Codex 桌面宠物把这个状态提醒做成了一个全局悬浮的小组件。无论当前打开的是浏览器、编辑器还是聊天工具,它都可以停留在屏幕上方,用动作和气泡告诉你 Codex 的进度。
flowchart LR
A[开发者发起 Codex 任务] --> B[Codex 后台执行]
B --> C{任务状态变化}
C -->|思考中| D[宠物显示等待/思考动画]
C -->|需要输入| E[宠物弹出提示气泡]
C -->|任务完成| F[宠物提示完成]
E --> G[点击宠物直接回复]
G --> B
这类设计可以理解成 AI 编程工具里的“桌面灵动岛”:它不负责生成代码,但负责把后台任务的状态带到当前工作区。
Codex 桌面宠物是什么
Codex 桌面宠物是 Codex 客户端里的一个全局悬浮伴侣。它有两层作用:
| 作用 | 说明 |
|---|---|
| 状态显示 | 用动画和气泡展示 Codex 当前是在思考、等待、执行、失败还是需要确认 |
| 轻量交互 | 在宠物弹出消息时点击它,可以直接进入回复通道,不必切回完整窗口 |
它和一些终端里的像素小挂件不同,Codex 的桌面宠物不是只显示在终端窗口内部,而是以全局悬浮层的形式出现在桌面上。也就是说,切换到其他应用后,它仍然可以停留在屏幕角落。
Codex 的设置页里可以找到宠物相关配置,入口位于外观设置区域。
这里的核心配置包括选择内置宠物、切换宠物外观,以及管理自定义宠物。对于只想快速使用的人,直接选一个内置形象即可;如果希望把某个角色、图标或项目 mascot 做成桌面宠物,就需要用到自定义生成能力。
内置宠物:用固定角色覆盖常见工作状态
Codex 默认提供了多款像素风宠物。它们不是简单的静态图片,而是一组可以表达不同状态的动画资源。
| 宠物 | 风格定位 |
|---|---|
| Codex | 默认伙伴形象 |
| Dewey | 小鸭子,适合平静工作氛围 |
| Fireball | 火球形象,适合快速迭代场景 |
| Rocky | 石头形象,适合大型 diff 或长任务 |
| Seedy | 小绿芽,偏向新想法和探索 |
| Stacky | 堆叠形象,适合深度工作 |
| BSOD | BSOD(Blue Screen of Death,蓝屏死机)风格的小捣蛋鬼 |
| Null Signal | 安静、低干扰的虚空信号风格 |
内置宠物适合直接使用,但更有意思的是自定义宠物。Codex 提供了 hatch-pet Skill,可以把输入图片或文字描述转换成一套完整的动画宠物资源。
自定义宠物的核心机制
自定义宠物不是只生成一张头像。Codex 会围绕一个主形象,生成多种状态下的动画帧,再把它们打包成本地可用的宠物资源。
常见状态包括:
| 状态 | 用途 |
|---|---|
| idle | 空闲状态 |
| waiting | 等待用户输入或等待后台结果 |
| running | 执行任务中 |
| running-left / running-right | 左右移动动画 |
| waving | 打招呼或提示 |
| jumping | 强提示或活跃动作 |
| failed | 任务失败或出错 |
| review | 需要检查、确认或审阅 |
每个状态通常由 4 到 8 帧图片组成。多帧图片连续播放后,就形成了像素宠物的动作。
flowchart TD
A[输入提示词或上传图片] --> B[生成主形象]
B --> C[扩展不同动作状态]
C --> D1[idle 4-8 帧]
C --> D2[waiting 4-8 帧]
C --> D3[running 4-8 帧]
C --> D4[waving 4-8 帧]
C --> D5[failed 4-8 帧]
C --> D6[review 4-8 帧]
D1 --> E[合成为宠物资源包]
D2 --> E
D3 --> E
D4 --> E
D5 --> E
D6 --> E
E --> F[保存到本地宠物目录]
F --> G[在 Codex 设置中选择使用]
生成过程中,Codex 会先得到一个稳定的主视觉,然后基于这个形象继续生成不同动作。这样做的好处是角色不会在各个状态之间变化太大,否则 idle 还是一只鸭子,running 就变成另一只鸭子,动画会显得割裂。
生成状态帧时,可以看到 Codex 逐步创建多组动画素材。
这些状态帧是自定义宠物的基础。每一行或每一组图片都对应某个动作状态,Codex 后续会把它们组织成可播放的动画资源。
使用 hatch-pet 生成自定义桌面宠物
自定义宠物依赖 hatch-pet Skill。Skill 可以理解成 Codex 的能力包,里面定义了某类任务的执行流程、约束和输出格式。
hatch-pet Skill 的公开仓库地址是:
https://github.com/openai/skills/tree/main/skills/.curated/hatch-pet
在 Codex 里使用自定义宠物,大致分为三步。
安装 hatch-pet Skill
在 Codex 中安装 hatch-pet Skill,命令形式通常类似:
$Skill Installer hatch-pet
安装后,Codex 会从 OpenAI 的 Skill 仓库拉取对应说明和流程文件。这个步骤的意义是让 Codex 知道:生成宠物不是普通画图任务,而是要输出一套可被桌面宠物系统识别的多状态动画资源。
安装完成后,Codex 就可以识别 hatch-pet 相关指令,并按照 Skill 里的流程生成资源。
输入宠物描述
安装完成后,可以直接用 hatch-pet 指令描述想要的宠物。例如:
$hatch-pet 做一个像素风桌面宠物:一只戴耳机、拿键盘的小鸭子
也可以用更具体的描述控制风格:
$hatch-pet 做一个 32-bit 像素风桌面宠物,主体是一只蓝色机器人,动作要活泼但不要遮挡屏幕,适合放在 macOS 桌面右下角
提示词越明确,生成结果越稳定。建议描述以下信息:
| 提示词要素 | 示例 |
|---|---|
| 主体 | 小鸭子、机器人、项目吉祥物 |
| 风格 | 像素风、复古游戏、低饱和、扁平化 |
| 动作气质 | 安静、活泼、搞怪、专注 |
| 使用位置 | 桌面右下角、Dock 上方、屏幕边缘 |
| 限制条件 | 不要太大、不要复杂背景、轮廓清晰 |
Codex 收到指令后,会开始生成主图和状态帧。
这个过程可能比较耗时,因为它不是生成单张图片,而是生成多组动画帧。资源消耗也会高于普通文本任务,如果连续生成多个宠物,可能很快触发额度限制。
选择并启用宠物
生成结束后,Codex 会把宠物资源保存到本地。之后可以在设置页里选择该宠物,或者通过指令快速召唤。
/pet
如果是从社区下载的宠物包,一般流程是:
下载宠物 zip 包
解压到 Codex 指定的宠物目录
打开 Codex 设置
进入外观 / 宠物配置
选择新导入的宠物
如果设置页显示了具体目录,应以客户端显示路径为准。不要随意把第三方压缩包解压到系统敏感目录,也不要运行来源不明的脚本。宠物包理想情况下只应包含图片资源和配置文件。
完成导入后,宠物就会出现在可选列表里。选择后,它会作为全局悬浮组件显示在桌面上。
宠物如何表达 Codex 的后台状态
桌面宠物的实用价值主要来自状态映射。Codex 后台任务的状态会被转换成不同动作或提示气泡,用户不用打开完整窗口也能知道任务进展。
| Codex 状态 | 宠物表现 | 用户动作 |
|---|---|---|
| 正在分析任务 | 等待、思考、挠头等动画 | 可以继续当前工作 |
| 正在执行 | running 或忙碌动画 | 等待结果 |
| 任务完成 | 气泡提示完成 | 点击查看或继续 |
| 需要确认 | 气泡提示需要输入 | 点击宠物回复 |
| 出错或失败 | failed 动画或错误提示 | 返回 Codex 查看原因 |
这种设计降低了 AI 编程工具的“窗口占用感”。开发者可以把 Codex 放在后台跑任务,同时在其他应用里继续处理上下文资料。
气泡提示不只是通知。如果当前状态需要人工输入,点击宠物可以打开一条轻量回复通道,让用户直接给 AI Agent 补充信息。
sequenceDiagram
participant U as 用户
participant C as Codex
participant P as 桌面宠物
U->>C: 提交代码修改任务
C->>C: 分析项目与生成 diff
C-->>P: 更新状态为运行中
P-->>U: 显示运行动画
C-->>P: 需要确认某个选择
P-->>U: 弹出气泡提示
U->>P: 点击并回复
P->>C: 转发用户输入
C->>C: 继续执行任务
C-->>P: 任务完成
P-->>U: 提示完成
这就是桌面宠物和普通通知的区别。普通通知只告诉你“发生了什么”,而 Codex 宠物可以把“提醒”和“回复”放在同一个入口里。
适合使用的场景
桌面宠物并不适合所有工作流。它对长时间后台执行、多任务切换、语音或自然语言驱动的开发方式更有帮助。
| 场景 | 是否适合 | 原因 |
|---|---|---|
| 让 Codex 长时间分析项目、修改代码 | 适合 | 可以在不切窗口的情况下看到进度 |
| 一边查资料一边等待 AI 结果 | 适合 | 全局悬浮提醒能减少来回切换 |
| 需要频繁给 AI Agent 补充确认 | 适合 | 点击宠物即可回复 |
| 只在终端里短命令调用 AI | 不一定适合 | 状态变化很短,悬浮组件意义不大 |
| 屏幕空间很小或要求极简桌面 | 不太适合 | 悬浮元素可能造成视觉干扰 |
| 对第三方角色版权有严格要求的团队 | 谨慎使用 | 自定义宠物可能涉及形象授权问题 |
如果团队要在正式环境推广,建议使用内部项目 mascot、抽象图标或原创角色,避免直接使用受版权保护的影视、游戏、动漫角色。
自定义宠物的生成建议
hatch-pet 可以用很短的提示词生成宠物,但想要稳定结果,最好把提示词写得像资源需求,而不是随口一句描述。
可以使用这种模板:
$hatch-pet 生成一个桌面宠物:
主体:一只橙色像素风小狐狸
风格:16-bit 复古游戏风,轮廓清晰,没有复杂背景
动作:空闲时轻微摇尾巴,提示时挥手,失败时低头
尺寸感:适合放在桌面右下角,不要遮挡应用内容
用途:作为 Codex 后台任务状态提醒
更适合桌面宠物的形象通常有几个特点:
| 特点 | 说明 |
|---|---|
| 轮廓清晰 | 小尺寸显示时仍能看出主体 |
| 色块简单 | 像素动画不容易糊成一团 |
| 动作幅度适中 | 不会过度干扰工作 |
| 没有复杂背景 | 方便悬浮在各种桌面内容上 |
| 状态差异明显 | 用户能快速分辨等待、完成、失败 |
不建议在提示词里塞太多细节。桌面宠物显示尺寸有限,复杂服饰、文字、微小配件很容易在缩放后丢失。
社区宠物包怎么用才安全
PetShare、Petdex 这类社区站点可以下载别人做好的宠物包。它们降低了上手成本,但导入第三方资源时要注意安全边界。
推荐检查三件事:
| 检查项 | 说明 |
|---|---|
| 文件类型 | 理想情况下只包含图片、JSON、配置文件等资源 |
| 是否有脚本 | 不要执行来源不明的 shell、Python、Node 脚本 |
| 来源可信度 | 优先选择公开社区里有展示、评分或源码说明的资源 |
宠物包的价值在于视觉资源,不应该要求用户授予额外权限。如果一个包要求执行安装脚本、修改系统配置或访问敏感目录,就需要谨慎处理。
Codex 的另外两个配套更新
桌面宠物吸引注意力,但 Codex 近期还有两个偏生产力的功能:配置迁移和听写词典。它们都围绕一个目标:减少用户在不同 AI 编程工具之间切换时的摩擦。
自动检测并导入其他 AI 编程工具配置
Codex 可以检测本机是否存在其他 AI 编程工具留下的配置文件,例如 Claude Code 常见的 CLAUDE.md。如果检测到项目约定、插件说明或自定义规则,Codex 会建议导入。
这类功能解决的是迁移成本。很多开发者会同时使用多个 AI 编程工具,不同工具之间往往都有自己的项目说明文件和行为规则。如果每次换工具都要重新复制约定,容易遗漏细节。
可以把它理解成下面的流程:
flowchart LR
A[扫描项目目录] --> B{发现 AI 工具配置}
B -->|CLAUDE.md 等文件| C[解析项目约定]
B -->|未发现| D[保持默认配置]
C --> E[展示可导入内容]
E --> F{用户确认}
F -->|确认| G[导入到 Codex 配置]
F -->|取消| H[不修改当前设置]
导入前仍然建议检查内容,尤其是团队项目里的规则文件。因为这些文件可能包含特定工具的提示词格式,直接迁移后不一定完全适配 Codex。
听写词典:让语音输入更懂专有名词
Codex 还新增了听写词典,用于预先录入常用缩略语、项目名、函数名或技术短语。
语音驱动 AI 写代码时,专有名词经常被误识别。例如:
| 想输入 | 可能误识别成 |
|---|---|
| RAG | rack、rag |
| pnpm | p n p m、npm |
| Next.js | next j s、next just |
| Zustand | zoo stand |
| LangGraph | land graph |
听写词典的作用是提前建立“发音或短语 → 标准写法”的映射。对于习惯口述需求的人,这可以减少重复纠错。
示例词条可以这样设计:
RAG => RAG
pnpm => pnpm
Next JS => Next.js
Lang Graph => LangGraph
Zustand => Zustand
CLAUDE dot md => CLAUDE.md
它不直接提升模型的代码能力,但能减少输入层面的噪声。语音识别结果更准确,AI Agent 拿到的任务描述也就更少歧义。
桌面宠物背后的产品逻辑
AI 编程工具越来越像后台协作者,而不是一次性问答窗口。只要 AI Agent 开始处理长任务,用户就会遇到三个问题:
| 问题 | 传统处理方式 | 桌面宠物方式 |
|---|---|---|
| 不知道任务是否还在运行 | 切回窗口查看 | 悬浮动画显示状态 |
| 不知道何时需要确认 | 等通知或轮询窗口 | 气泡提示 |
| 回复路径太重 | 打开完整应用窗口 | 点击宠物轻量回复 |
桌面宠物把这些状态做成了低成本的可视化入口。它不替代编辑器,也不替代聊天窗口,而是补上“后台任务感知”这一层。
从开发工具角度看,它的价值可以概括为三点:
- 减少上下文切换:用户不用频繁回到 Codex 主窗口确认进度。
- 降低等待焦虑:动画状态比空白等待更明确,知道它在运行还是卡住。
- 建立持续入口:宠物一直在桌面上,Codex 的存在感不依赖单个窗口。
这也是为什么“可爱”并不是完全无关的装饰。对于高频使用的 AI 工具,界面反馈、状态感知和情绪缓冲都会影响用户是否愿意长期把它放进工作流。
使用时需要注意的坑
生成成本不低
自定义宠物会生成多种状态和多帧动画,消耗通常高于普通文本任务。连续生成多个角色时,可能较快触发额度限制。更稳妥的方式是先写好提示词,一次生成一个质量较高的版本,而不是用模糊提示反复试错。
状态动作不要过于夸张
桌面宠物长期悬浮在屏幕上,如果动作太大、颜色太刺眼,很容易干扰阅读和编码。适合生产力工具的宠物应该“能被注意到,但不会抢走注意力”。
第三方宠物包要检查内容
社区资源适合快速体验,但不要执行不明脚本。导入前检查压缩包内容,确认它主要是图片和配置资源。
角色形象可能涉及版权
把知名动漫、影视、游戏角色做成个人桌面宠物,和公开分发宠物包不是一回事。如果要分享给团队或发布到社区,更建议使用原创形象、开源授权素材或内部品牌允许使用的 mascot。
配置迁移不能完全无脑导入
从其他 AI 编程工具导入配置时,要检查规则是否仍然适合 Codex。不同工具对提示词、上下文、插件机制的理解不完全相同,直接迁移可能带来行为偏差。
小结
Codex 桌面宠物表面上是一个像素风小组件,本质上是 AI Agent 的全局状态层。它用动画和气泡显示后台任务进度,用点击交互承接用户回复,再通过 hatch-pet Skill 把自定义角色生成流程标准化。
如果只是偶尔让 AI 改几行代码,它可能只是一个有趣装饰;如果经常把长任务交给 Codex,在多个应用之间切换工作,它就能减少查看进度、等待确认和返回回复的成本。配合配置迁移、听写词典这类能力,Codex 正在从单一编码助手变成更贴近桌面工作流的 AI 开发环境。








