资讯动态

Codex自定义桌面宠物:用hatch-pet Skill把会敲代码的猫塞进屏幕角落

发布时间:2026/10/10 0:04:46 来源:尧图企业网站定制
1. 为什么要在屏幕角落养一只会敲代码的猫Codex 的 Agent 能力越来越强但有个体验问题一直没解决任务跑起来之后你根本不知道它到底在干嘛。切到浏览器查个文档回来发现它卡在某个确认弹窗上等了十分钟或者你以为它还在思考其实早就报错退出了。这种Agent 状态黑箱的焦虑用过 Codex 跑长任务的人都懂。Codex 桌面宠物Desktop Pet就是冲着这个痛点来的。它本质上是一个跨应用的 Agent 状态指示器——一只像素风小动物常驻在你屏幕角落根据 Codex 后台的真实状态切换动作敲键盘代表正在执行任务歪头冒问号代表思考中跳起来代表任务完成趴下萎靡代表执行失败。你不用切窗口余光扫一眼就知道后台什么情况。而 hatch-pet 这个 Skill 让事情变得更有意思内置的 8 款宠物不够看你可以自己造一只。给它起名字、定性格、选配色、设计动作状态Codex 会帮你生成完整的像素动画精灵图打包成能在设置里直接选用的宠物包。本文要做的就是把一只会敲代码的猫从零塞进你的屏幕角落并且让它通过 TaoToken 统一 Key 接入模型能力在编码时实时响应。适合谁看已经在用 Codex 跑 Agent 任务、想让状态感知更直观的开发者想玩 hatch-pet 自定义宠物但被配置流程卡住的人以及想把宠物行为和真实编码状态绑定的折腾党。下面从环境准备开始一步步走完安装、配置、验证、排障全流程。2. hatch-pet Skill 安装与 TaoToken 通道前置配置在动手造猫之前先把两件事搞定hatch-pet Skill 装好以及模型调用通道配好。很多人卡在第一步就是因为跳过了 Skill 重载导致/hatch命令死活没反应。2.1 安装 hatch-pet Skill在 Codex 输入框直接敲$skill-installer hatch-petCodex 会自动从官方 Skill 仓库拉取 hatch-pet 的配置。安装完成后如果提示需要重启 Codex别犹豫直接重启。我试过不重启硬跑结果/hatch命令根本不识别。重启之后还有关键一步——强制重载 Skill。按CtrlKMac 用CmdK调出命令面板搜索Force Reload Skills跑一遍。这一步做完hatch-pet 才真正生效。每次装新 Skill 都要走这个流程记住就行。2.2 配置 TaoToken 统一 Key 通道hatch-pet 生成宠物动画时Codex 需要调用模型能力来生成像素帧和元数据。如果你想让宠物在编码过程中实时响应 Agent 状态模型通道的稳定性很关键。TaoToken 提供统一的 API 通道把 Key 和 Base URL 配好之后Codex 的模型调用就走这条线。先到 TaoToken 控制台创建一个 API Keyhttps://taotoken.net/console?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_contentconsole创建完 Key 之后编辑 Codex 的配置文件。Windows 路径是%USERPROFILE%\.codex\config.tomlMac/Linux 是~/.codex/config.toml。加入以下内容[model_providers.taotoken] name TaoToken base_url https://taotoken.net/api env_key TAOTOKEN_API_KEY [features] goals true然后在环境变量里设置你的 Key。Windows PowerShell$env:TAOTOKEN_API_KEY 你的KeyMac/Linuxexport TAOTOKEN_API_KEY你的Key如果你用的是 Claude Code 或者 Cline 这类工具配置逻辑一样把 Base URL 填https://taotoken.net/apiKey 填刚创建的Model ID 按你实际使用的模型填。三件套缺一不可Base URL、Key、Model ID。注意config.toml 里的env_key写的是环境变量名不是 Key 本身。别把 Key 直接写进配置文件容易泄露。2.3 验证通道连通性配好之后先验证一下通道能不能通。用 curl 发一个最简单的请求curl -X POST https://taotoken.net/api/v1/chat/completions \ -H Authorization: Bearer $TAOTOKEN_API_KEY \ -H Content-Type: application/json \ -d { model: 你的Model ID, messages: [{role: user, content: ping}], max_tokens: 10 }如果返回正常的 JSON 响应说明通道没问题。如果报 401检查 Key 是否设置正确如果报连接超时检查 Base URL 是否写成了https://taotoken.net/api注意不要多加路径。通道通了之后hatch-pet 生成宠物时就能稳定调用模型不会因为通道问题中途断掉。这一步看起来简单但后面生成宠物动画时如果通道不稳子 Agent 执行失败会导致某些状态帧缺失宠物动画就会卡顿或者缺帧。3. 可复制的宠物配置片段与行为触发规则环境准备好之后进入核心环节定义你的猫。hatch-pet 的生成质量几乎完全取决于提示词和配置片段的精度。下面给出一套可直接复制的配置你改改名字和配色就能用。3.1 宠物定义 JSON 片段在 Codex 里输入/hatch选择 Hatch Pet 技能然后把下面这段配置贴进去。这是一个完整的宠物定义包含元数据、视觉规格和动作状态映射{ pet_name: ShadowCat, pet_type: pixel_cat, visual_style: { style: minimal_pixel, canvas_size: 192x208, outline: clear, background: none, text: none }, personality: 傲娇但靠谱发现问题会直接提醒, colors: { primary: #1a1a1a, eye: #00ff88, accessory: #ff6b35 }, signature_element: 脖子上挂一块小代码牌, states: { idle: 待机尾巴轻轻摆动, working: 疯狂敲键盘, thinking: 歪头冒问号, waiting: 坐着等输入, done: 开心跳起来, sleeping: 趴下睡觉, failed: 萎靡倒地 }, constraints: [ 无背景, 无文字, 缩小后轮廓依然清晰, 颜色控制在2-4个 ] }这份配置里几个关键点值得展开说。canvas_size固定 192x208 是 Codex 桌面宠物的标准尺寸写别的尺寸生成出来缩放会糊。colors控制在 2-4 个像素风扛不住七彩配色颜色一多缩小后就是一团马赛克。states里的动作描述要具体可爱这种词没用要写歪头冒问号疯狂敲键盘这种有画面感的描述。3.2 行为触发规则配置宠物光有动画不够得让它跟 Codex 的真实状态联动。在config.toml里加入行为触发规则[pet.behavior] enabled true pet_name ShadowCat [pet.behavior.triggers] idle agent_idle working agent_running thinking agent_thinking waiting agent_waiting_input done agent_task_complete failed agent_error sleeping agent_idle_timeout_300s这套规则的含义是当 Codex Agent 处于空闲状态时宠物显示 idle 动画Agent 正在执行任务时宠物切到 working敲键盘Agent 等待用户输入时宠物坐着等任务完成跳起来报错则萎靡倒地。sleeping触发条件是空闲超过 300 秒宠物会趴下睡觉不打扰你。如果你想让宠物在特定事件上有更细的响应可以加自定义触发[pet.behavior.custom_triggers] file_save working test_pass done test_fail failed git_commit done这样每次保存文件、测试通过或失败、提交代码时宠物都会有对应动作。实测下来这种细粒度联动让宠物真正变成了一个状态面板而不是纯装饰。3.3 参考图生成可选但推荐如果你心里有具体的猫的形象纯文字描述可能不够精准。可以先用 image2 生成一张参考图再让 Codex 照着做一只像素风小黑猫纯色绿幕背景无场景无文字无阴影 无额外漂浮特效像素邻近风格适合缩小到192x208 绿色眼睛脖子上挂小代码牌把生成的图丢给 Codex配合上面的 JSON 配置一起提交生成结果会比纯文字描述稳定很多。参考图的作用是锁定轮廓和配色JSON 配置负责定义动作状态和元数据两者配合效果最好。4. 生成、组装与本地验证请求配置写完之后就是让 Codex 跑起来生成宠物。这一步比较吃额度而且中间环节多需要盯着点。4.1 触发生成在 Codex 输入框输入/hatch选择 Hatch Pet 技能把第 3 节的 JSON 配置和参考图如果有一起贴进去回车。Codex 会自动并行派发多个子 Agent同时生成不同状态的动作帧。生成的状态帧包括状态说明帧数参考idle待机动画4-8 帧working敲键盘4-8 帧thinking歪头冒问号4-6 帧waiting坐着等2-4 帧done跳起来4-6 帧sleeping趴下睡觉4-6 帧failed萎靡倒地4-6 帧running-right向右移动4-6 帧running-left向左移动4-6 帧生成过程比较耗时具体取决于通道速度和额度。如果中途某个子 Agent 失败对应的状态帧会缺失后面组装出来的宠物动画就会卡顿。4.2 组装宠物包所有动作帧生成完毕后Codex 会自动合成两个文件pet.json宠物元数据包含名字、性格、状态映射spritesheet.webp动画精灵图把所有状态帧打包成一张图这两个文件会放在%USERPROFILE%\.codex\pets\ShadowCat\目录下Mac/Linux 是~/.codex/pets/ShadowCat/。你可以手动检查一下这个目录确认两个文件都在。4.3 启用宠物回到 Codex 的Settings → Appearance → Pets点击刷新按钮。刚才自定义的 ShadowCat 应该出现在宠物列表里了。点一下选中再点右上角「唤醒宠物」猫就出现在屏幕角落了。如果列表里没显示检查pets目录下有没有对应的文件夹。没有的话说明生成没走完重新跑一遍/hatch。4.4 本地验证请求宠物启用之后验证它是否真的跟 Agent 状态联动。在 Codex 里跑一个简单任务比如让它重构一个小函数帮我把 utils.py 里的 format_date 函数重构成支持多种日期格式观察屏幕角落的猫任务开始时它应该切到 working敲键盘思考时歪头冒问号等你确认时坐着等完成后跳起来。如果宠物动作跟实际状态对不上说明行为触发规则没生效检查config.toml里的[pet.behavior.triggers]配置。再验证一下模型通道。在 Codex 里发一个需要调用模型的请求比如用一句话解释什么是闭包如果正常返回结果说明 TaoToken 通道工作正常。如果报错参考下一节的排障。5. 常见报错排查401、local proxy failed 与帧缺失配置过程中最容易踩的坑集中在几个报错上。下面按真实报错信息逐一拆解。5.1 401 Unauthorized这是最常见的报错说明 Key 没配对。检查三件事第一环境变量TAOTOKEN_API_KEY是否设置成功。在终端里跑echo $TAOTOKEN_API_KEYWindows 用echo %TAOTOKEN_API_KEY%看有没有输出。如果为空重新设置。第二config.toml里的env_key是否写的是环境变量名而不是 Key 本身。正确写法是env_key TAOTOKEN_API_KEY不是env_key sk-xxxxx。第三Key 是否过期或被删除。到 TaoToken 控制台确认一下 Key 状态https://taotoken.net/api-keys?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_contentapi-keys如果 Key 没问题但还报 401检查 Base URL 是否写成了https://taotoken.net/api注意末尾不要加/v1或其他路径。5.2 local proxy failed这个报错通常出现在 Codex 尝试通过本地代理转发请求时。原因一般是config.toml里同时配了多个 providerCodex 不知道走哪个。检查config.toml确保[model_providers.taotoken]是唯一激活的 provider。如果有其他 provider 配置注释掉或者删掉。另外确认base_url写的是https://taotoken.net/api不是http://localhost:xxxx之类的本地地址。如果问题依旧把 Codex 完全退出再重启让配置重新加载。5.3 reading choices 报错这个报错说明模型返回的响应格式不符合预期通常是 Model ID 填错了。检查config.toml里调用的 Model ID 是否跟 TaoToken 支持的模型列表一致。到接入文档确认可用模型https://taotoken.net/doc?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_contentdocModel ID 大小写敏感别写错。5.4 OAuth 相关报错如果你用的是 Claude Code 或类似工具可能会遇到 OAuth 报错。这类工具默认走 OAuth 流程但配了 TaoToken 之后应该走 API Key 流程。检查工具的配置文件确保认证方式切到了 API Key 模式Base URL 填https://taotoken.net/apiKey 填 TaoToken 创建的 Key。5.5 宠物动画卡顿或帧缺失宠物在设置里显示了但动画卡顿或者某些状态不切换。原因通常是生成过程中某个子 Agent 失败了导致对应状态帧缺失。去 Codex 的聊天记录里找报错信息定位是哪个状态帧生成失败。然后单独重新生成那个状态重新生成 ShadowCat 的 failed 状态动画4-6 帧萎靡倒地生成完再重新组装一次宠物包刷新设置即可。5.6 宠物在设置里不显示检查%USERPROFILE%\.codex\pets\目录下有没有 ShadowCat 文件夹。没有的话说明生成没走完重新跑/hatch。有文件夹但设置里不显示检查文件夹里是否有pet.json和spritesheet.webp两个文件缺一个都不行。6. 让宠物常驻并接入实时编码响应宠物跑起来之后最后一步是让它真正融入你的编码流程而不是摆着好看。6.1 常驻屏幕角落Codex 桌面宠物默认是全局悬浮的不管你在用浏览器、VS Code 还是其他应用它都浮在最顶层。如果你用的是多显示器宠物会出现在主显示器角落。想换位置的话在config.toml里加[pet.display] position bottom-right always_on_top true opacity 0.9position可选top-left、top-right、bottom-left、bottom-right。opacity控制透明度0.9 表示稍微透明一点不挡视线。6.2 接入实时编码响应让宠物在编码时实时响应核心是把 Codex Agent 的状态事件映射到宠物动作。前面第 3 节的[pet.behavior.triggers]已经做了基础映射这里补充几个实战中好用的联动[pet.behavior.custom_triggers] file_save working test_start thinking test_pass done test_fail failed build_start working build_success done build_fail failed git_push done lint_error failed这样每次你保存文件、跑测试、构建项目、提交代码宠物都会有对应动作。时间长了你会形成条件反射余光看到猫在敲键盘就知道任务在跑看到猫趴下就知道出错了。6.3 配合 /goal 让宠物持续工作Codex 的/goal命令让 Agent 持续自主干活宠物这时候的价值最大。开启方式[features] goals true或者命令行codex update codex features enable goals然后创建目标/goal 重构 utils 目录下所有函数补充类型注解和单元测试Agent 会持续执行宠物会一直显示 working 状态。你该干嘛干嘛偶尔瞄一眼角落猫还在敲键盘就说明任务在跑猫跳起来就说明完成了猫趴下就说明出错了需要处理。如果发现任务跑偏了别直接 CtrlC。先/goal pause暂停检查跑到哪了补充上下文再/goal unpause继续。暴力终止容易丢状态。6.4 长期编码场景的通道建议如果你打算长期用 Codex 跑 Agent 任务宠物只是状态面板真正吃额度的是模型调用。TaoToken 的 Coding Plan 适合这种长期编码场景统一 Key 管理多个工具的调用https://taotoken.net/coding-plan?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_contentcoding-plan配好之后Codex、Claude Code、Cline 这些工具可以共用同一个 Key 和 Base URL不用每个工具单独配一遍。宠物在屏幕角落敲键盘的时候你知道背后走的是同一条稳定通道。到这里一只会敲代码的猫就正式焊在你屏幕角落了。它不只是卖萌而是一个低认知负担的 Agent 状态仪表盘。配合/goal和 TaoToken 统一通道你从手动档司机变成监工猫从装饰变成同事。

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价 →
↑