写作时间:2026年7月
世界杯四年才来一次。喜欢看球的人都懂那种折腾:凌晨定好闹钟,怕吵醒家人就戴着耳机看,到了关键时刻又忍不住拍桌子;比赛结束可能天都快亮了,第二天还得顶着黑眼圈上班。辛苦是真的,舍不得错过也是真的。
也是觉得是个热度,也做了一些AI视频流量也不错


这届世界杯,哈兰德又实在太火了。金色长发、大块头、进球后的夸张庆祝,再加上那张特别会“做表情”的脸,网上很快冒出了一大堆哈兰德表情包。我一边看一边保存,慢慢有了一个念头:这些表情如果不只停在聊天框里,而是能在电脑桌面上动起来,会不会很有意思?
刚好前段时间,桌面小猫也火了一阵:它会趴在屏幕边缘、追着鼠标跑,工作时偶尔冒出来卖萌。

看到它以后,我脑子里的想法一下变得具体了——做一只属于球迷的桌面宠物,让 Q 版哈兰德住进电脑里,会看鼠标、会走路、会喝水、会抓狂,也会把那些熟悉的表情演出来。就这样,《桌宠哈宝》的想法诞生了。更没想到的是,作为一个不懂代码的小白,我最后真的靠 Codex 把它做了出来。

1. 你真正需要准备的东西
不用提前配置开发环境。先把下面几类内容放进一个新文件夹,然后把这个文件夹交给 Codex。
需要准备准备到什么程度
一台 Mac用于制作和运行 macOS 桌宠;系统建议 macOS 12 或更高
Codex打开 ChatGPT 桌面应用,选择 Codex,并授权项目文件夹
角色参考图准备 3~10 张清晰的哈兰德正面、侧面、表情和球衣参考
动作清单先写最想要的 3~5 个动作,例如鼠标跟随、走路、喝水、抓
狂
效果偏好说明是 Q 版、3D 玩偶、像素风还是手绘风;本项目选择 3D
大头小身体
视频生成渠道可以是 Codex 当前可调用的图生视频工具,也可以是你已有
的平台/API;需要登录、付费或授权时由你确认
如果你连动作清单都没有,也可以只告诉 Codex:“我想做一个有哈兰德性格的桌宠,请先采访我,帮我把形象、动作和交互整理清楚,再开始制作。”
2. 第一步:把整个任务一次交给 Codex
官方的 Codex 使用建议可以概括成四项:目标、上下文、约束和完成标准。下面这段总提示词已经把四项都写好,可以直接复制到新任务。
项目总提示词:直接发给 Codex
我想制作一个 macOS 桌面宠物,名字叫“哈宝桌宠”,角色是 3D Q 版哈兰德。
请先检查我当前打开的项目文件夹和已有素材,然后给出计划并直接开始执行。不要让我手动写代码或
逐条运行命令;能由你完成的安装、建目录、素材处理、编码、测试和打包都由你完成。只有遇到系统
授权、登录、付费或会删除重要文件时再问我。
目标:
1. 透明无边框、始终置顶的 macOS 桌宠;
2. 待机时根据鼠标方向看向上、下、左、右和四个斜角;
3. 可拖动,透明区域不挡住桌面点击;
4. 右键菜单可播放走路、喝水、抓狂、哭泣、害羞、开心等动作;
5. 空闲一段时间后随机播放已有动作;
6. 最终生成可双击运行的“哈宝桌宠.app”。
12
约束:
– 优先使用 macOS 原生 Swift + AppKit;
– 动画统一处理成透明 PNG 序列;
– 缺少的动作素材要优雅跳过,不允许程序崩溃;
– 保留原始视频、关键帧和处理后的资源,目录要清楚;
– 不修改项目文件夹之外的重要文件。
19
完成标准:
– 你亲自构建并运行自检;
– 检查素材帧数、透明效果、点击拖动、菜单动作和自动动作;
– 报告应用路径、测试结果、未完成素材和下一步建议。
发送后不要急着补充几十条细节。先让 Codex 扫描素材并给出计划;方向不对时,用一句话纠正即可,例如:“角色保持挪威 9 号球衣,动作可以夸张,但脸、发型和身体比例不能变化。”
3. 第二步:先锁定角色,再做动作
桌宠最怕每个动作像不同的人。正确顺序是先生成一张角色表情设定图,再从设定图制作动作关键帧。建议先做 3×3 表情表,包含正常、开心、大笑、得意、生气、惊讶、难过、困倦和庆祝。
角色设定图提示词
高质量 3D Q 版足球玩偶,角色参考哈兰德,
大头小身体,金色长发,清晰的脸部特征,
穿挪威国家队 2026 主场红色 9 号球衣、白色短裤、白色球袜和哑光黑色球鞋,
同一个角色的 3×3 表情设定图:
正常、开心大笑、得意、生气、惊讶、难过、困倦、庆祝、俏皮。
纯绿色背景,固定镜头,完整全身,均匀光照,
所有格子保持完全相同的脸型、发型、服装、材质和身体比例。
统一负面提示词
不要改变人物身份、脸型、发型、球衣号码和配色;
不要切换镜头、缩放、裁掉头手脚;
不要多出手指、手臂、腿、人物或道具;
不要文字、水印、复杂背景、地面纹理和阴影漂移;
不要出现身体瞬移、脚底滑动和首尾跳变。
下面是哈宝桌宠实际使用的角色表情设定图。确认满意后,再让 Codex 以它为基准继续做关键帧和动作视频。

效果展示 1:统一角色、球衣和渲染风格的 3×3 表情设定图
3.1 表情不是凭空想的:我收集了一大堆网络表情包
一开始我直接让 AI 做“开心、生气、难过”,结果虽然表情完整,却总有一种很标准、很像默认表情包的感觉,不太像哈兰德本人。后来我换了思路:先去网上找哈兰德真实比赛照片、采访截图和网友做过的表情包,把它们当作情绪样本库,再让 Codex 帮我整理,而不是凭空发明九张脸。
🔎我实际找过的方向:开心挥手、仰头大笑、得意歪嘴、生气抓头、震惊瞪眼、委屈难过、打
哈欠、进球庆祝、眨眼;第二轮又补了歪嘴噘嘴、惊讶撩头发、头球起跳、偷偷喝水、鼓
腮、眯眼吐舌和胜利手势。
这些网络图片不是直接塞进成品,也不是照着某一张一比一复制。我的做法是只提取“表情为什么成立”:眉毛是抬起还是压低、眼睛睁大还是眯起、嘴角朝哪边、头部倾斜多少、手放在哪里、身体是前倾还是后仰。背景、画风、原图文字和水印都不要。



网络表情参考 03:Q 版皱眉、半垂
网络表情参考 02:Q 版回头噘嘴与
眼与头球动作
网络表情参考 01:Q 版走路时的歪踢球姿态
嘴、侧头和身体前倾



网络表情参考 06:双手抓头、瞪眼
怒吼的夸张情绪网络表情参考 04:Q 版不耐烦表情

与负重奔跑姿态
网络表情参考 05:头球瞬间的闭

眼、张嘴和身体腾空

网络表情参考 09:歪嘴、抿唇和轻
微歪头
网络表情参考 07:鼓腮、抿嘴和斜
眼
网络表情参考 08:长发甩动与惊讶
张嘴


网络表情参考 11:眯眼、吐舌和抬
手动作
网络表情参考 10:双辫子与自然大
笑
1. 先收集 20~30 张候选图,宁可多一点,不急着马上生成。
2. 让 Codex 按情绪分组,从每组挑一张最容易在小尺寸桌宠里看懂的参考。
3. 把每张图拆成“眉毛+眼睛+嘴巴+头部角度+手势+身体姿态”六个特征。
4. 先分别生成正方形、纯绿背景的单张表情,再统一脸型、发型、球衣和材质。
5. 最后才拼成 3×3 表情设定图。第一轮稳定后,再做第二轮扩展,不要一次塞进十八种情绪。
让 Codex 帮你整理网络表情参考
请根据我放进项目文件夹的哈兰德照片、比赛截图和网络表情包,
帮我建立一份桌宠表情参考清单。
不要直接复制原图的背景、文字、水印和画风,只分析每张图的:
1. 眉毛;2. 眼睛;3. 嘴型;4. 头部角度;5. 手势;6. 身体姿态。
请挑出最适合小尺寸桌宠阅读的 9 种情绪,
并为每一种写成可直接用于图像生成的动作描述。
如果多张图表达同一种情绪,请告诉我哪张最清楚、为什么。
把参考统一成 3×3 表情表
以已经确认的哈宝角色设定图为唯一身份基准,
把上一步整理出的 9 种表情做成 3×3 角色表。
保留参考图里的表情机制和身体语言,但不要照搬背景、文字或水印。
每格都是同一个人:相同脸型、金色长发、身体比例、皮肤和 3D 玩偶材质;
固定穿挪威国家队 2026 主场红色 9 号球衣、白色短裤、白色球袜、哑光黑色球鞋;
纯绿色背景,固定镜头,完整全身,四周留安全边距。
这一步最重要的心得:参考表情包的目的不是“抄一张图”,而是避免 AI 用最普通的模板表情代替人物个性。网络图片只作为创作研究和灵感来源,最终发布时只使用自己生成并确认有权使用的素材。
3.2 球衣一直生成不对:我最后去 Nike 官网截图
另一个反复卡住我的问题是球衣。明明提示词写了“挪威国家队”,AI 还是会生成旧版纯红球衣、曼城球衣、深蓝短裤、红袜或金色球鞋;有时胸前的北欧十字消失,有时队徽和 Nike 标志也会乱跑。继续盲抽很多次,角色只会越来越不统一。
最后我直接打开 Nike 挪威国家队 2026 主场球衣官方商品页,截取正面全身、胸前十字、队徽、领口和袖口细节。页面显示的款号是 IB5170-673,配色为 Chile Red / White / Chile Red / White。官网图从“灵感图”变成了不可偏离的硬参考。

我用来校准角色服装的 Nike 官方商品
图:挪威国家队 2026 主场球衣
之后我不再只写“红色挪威球衣”,而是把视觉特征和禁止项写死:亮红底色、胸前深海军蓝北欧十字、十字外沿细白边、胸章和白色 Nike 标志的位置、白色短裤与白袜、哑光黑鞋、号码 9。每一轮图像和视频都重复这组约束。


球衣跑偏时直接补给 Codex 的提示词
请停止继续随机生成,先使用我提供的 Nike 官方商品截图校准服装。
锁定挪威国家队 2026 主场球衣:亮红底色;
胸前是大面积深海军蓝北欧十字,十字外沿有细白边;
队徽与白色 Nike 标志位置固定;角色号码固定为 9;
下装固定为白色短裤、白色球袜、哑光黑色球鞋。
后续所有表情图、关键帧和视频都必须沿用这一套服装。
禁止退回旧版纯红球衣、曼城球衣、深蓝短裤、红袜、金色球鞋;
禁止十字消失、变形、错位或被号码遮挡。
💡关键经验:当产品、球衣、设备这类有明确外形的东西总生成不对时,不要继续加很多形容
词。让 Codex 打开官方页面、保存多角度截图、列出可检查的视觉特征,再把它们写成正向
约束和负面约束,成功率会高很多。
3.3 第一轮稳定以后,我才做第二轮表情扩展
第一张 3×3 表情表负责锁定身份和基础情绪。确认脸、发型、球衣、身体比例都稳定后,我才继续做第二轮九宫格,补上更有梗、更接近网络表情包语气的动作。这样即使某一张需要重做,也不会把整套角色设定带跑。
下面这张是第二轮表情扩展图:重点不再是“每个情绪都齐全”,而是增加桌宠随机出现时的惊喜感。

效果展示 2:在第一轮角色稳定后,继续扩展更有梗的第二组 3×3 表情
4. 第三步:先做“鼠标跟随”这个核心动作
鼠标跟随决定桌宠有没有“活着”的感觉。不要让模型真的在画面里生成一只鼠标,而是让角色按时间顺序看向 8 个不可见目标。程序稍后会从视频里抽出 8 个代表帧,并根据真实鼠标方向选择对应帧。
时间方向20 fps 帧号动作要求
0.0 秒正中0自然看向前方
0.5 秒左上10眼睛和头部朝左上1.0 秒上20向上看
1.5 秒右上30向右上看
2.0 秒右40向右看
2.5 秒右下50向右下看
3.0 秒下60向下看
3.5 秒左下70向左下看
4.0 秒左80向左看,随后自然回正
鼠标跟随视频提示词
使用同一位 3D Q 版哈兰德角色,纯绿背景,固定正面镜头,
制作 5 秒循环动画。角色的躯干、腿、站位和镜头完全固定,
只允许眼睛、头部和少量手势移动。
角色依次追踪 8 个不可见目标:
0.0 秒正中,0.5 秒左上,1.0 秒正上,
1.5 秒右上,2.0 秒正右,2.5 秒右下,
3.0 秒正下,3.5 秒左下,4.0 秒正左,
随后平滑回到正中。
10
画面中不要出现鼠标、光标、箭头、轨迹线或文字。
首帧与尾帧姿势一致,完整全身始终留在安全区域内。
你也可以直接对 Codex 说:
交给 Codex 的执行提示词
请根据角色设定图,为“鼠标跟随”制作 8 方向轨迹说明和首尾关键帧,
再调用当前可用的视频生成工具生成 5 秒版本。
生成后自动下载本地文件,保留提示词、关键帧和版本记录。
先让我看效果,不满意就根据问题继续迭代。
下面是项目使用的 8 方向轨迹图,以及去掉画面内假鼠标后的成品视频。

效果展示 2:鼠标跟随的八方向轨迹和 5 秒时间轴
haaland-follow-invisible-target-safe-v2.mp4
2.77MB
5. 第四步:按同一模板扩展动作
每个动作只要准备“动作目的、时长、首尾姿势、允许移动的部位、必须固定的内容”这五项。先生成少量核心动作,不要一开始就做二十个。
走路动作。适合做自动闲逛。使用侧面构图,保证脚步节奏、身体大小和首尾位置稳定。
自信走路提示词同一位 3D Q 版哈兰德,侧面朝右,纯绿背景,固定镜头,
制作 5 秒自信走路循环。步伐稳定、有力量感,
手臂自然摆动,头部略微扬起,完整全身始终在画面内。
角色脸型、发型、球衣、比例和光照不变化,
首尾步态能够无缝衔接,不要脚底滑动或身体忽大忽小。
花式喝水。适合在鼠标第一次进入角色时触发。可以让动作有小剧情,而不是重复抬瓶。
花式喝水提示词
同一位 3D Q 版哈兰德,正面全身,纯绿背景,固定镜头,
制作 5 秒趣味喝水动作:
第一阶段正常拿蓝色水瓶喝水;
第二阶段双手挤压水瓶,动作逐渐夸张;
第三阶段把水瓶举高,把水倒到自己头上并开心大笑。
人物、球衣和水瓶外观全程一致,手指正常,不增加多余道具。
抓狂动作。适合右键菜单或失败情绪。从平静到爆发,比从第一帧就大喊更有戏。
平静到抓狂提示词
同一位 3D Q 版哈兰德,正面全身,纯绿背景,固定镜头,
制作 4 秒情绪动画:
0~1 秒保持平静;
1~2 秒眉头皱起,意识到挫折;
2~3 秒双手抬起抓住头发;
3~4 秒表情愤怒并轻微颤动。
面部情绪和身体动作同步,球衣、发型和身体比例保持一致。
其余动作也照这个公式扩展:哭泣可以写“难过 → 落泪 → 擦泪”,害羞可以写“避开视线 → 脸红 →局促微笑”,开心可以写“害羞 → 放松 → 露出大笑”,划船可以写“戴维京头盔 → 坐姿划桨 → 喊Ro”。
让 Codex 批量扩展动作
请根据当前角色设定,为 walk、drink、frustrated、crying、shy、happy 各写一份动作卡和视
频提示词。
每个动作先生成首尾关键帧并让我确认,再生成 4~5 秒视频。
统一使用纯绿背景、固定镜头、完整全身和同一套球衣。
把不同版本按日期和 v1、v2、v3 归档,不覆盖原始文件。
下面依次展示走路关键帧与视频、花式喝水视频、抓狂结束关键帧与视频。它们就是从“角色设定 →动作卡 → 关键帧 → 视频迭代”得到的实际结果。

效果展示 3:自信走路动作的起始关键帧
haaland-confident-walk-loop-5s-wan27.mp4
2.97MB
haaland-fancy-drink-5s-wan27-v4.mp4
2.56MB

效果展示 4:平静到抓狂动作的结束关键帧
haaland-calm-to-rage-new-kit-4s-wan27.mp4
2.17MB
6. 第五步:把视频交给 Codex,让它自己处理素材
视频满意后,不需要你研究透明通道和 FFmpeg。把原视频放进项目文件夹,然后把下面这段发给Codex。需要安装命令行工具或系统授权时,让 Codex说明原因并由你点确认。(如果用剪映处理也也是)
素材处理提示词这些动作视频已经确认。请你检查当前 Mac 的开发环境和项目结构,
自行安装或配置缺少的 Swift、Python、FFmpeg/FFprobe 工具;
如果需要管理员权限,先告诉我用途再请求确认。
请自动完成:
1. 检测视频是否包含真实 Alpha 透明通道;
2. 没有 Alpha 时,识别纯绿或纯黑背景并保守抠像;
3. 扫描整段动作的最大可见范围,避免挥手和迈步被裁掉;
4. 统一输出 360×360 透明画布、20 fps PNG 序列;
5. 每个动作一个目录,并生成 manifest.json;
6. 检查帧数、坏帧、绿边、黑边和角色尺寸跳变;
7. 给我展示待机、走路、喝水和情绪动作的代表帧。
13
不要覆盖原始视频。发现复杂背景、连续坏帧或无法安全抠像时,
停止该动作并告诉我应该重新生成什么素材。
哈宝桌宠最终使用的规则是:5 秒动作输出 100 帧,4 秒动作输出 80 帧;画布 360×360,角色大致放进 300×300 的内容区。走路可单独缩小到 90%,避免横向跨步时显得突然变大。
如果用剪映处理也是可以的(画面-抠像-色度抠图-选中绿幕-再调整各个参数居中)

最后导出的时候注意选择透明通道格式

7. 第六步:让 Codex 写程序、测试并打包
素材准备好后,再发一条“只描述最终行为”的实现提示词。不要告诉 Codex每个文件该怎么写,让它根据项目自行选择最合适的结构。
程序实现提示词
现在请把处理后的动画接入一个 macOS 原生桌宠。
请使用 Swift + AppKit 实现:
– 透明、无边框、始终置顶、可跨桌面显示的窗口;
– 只在角色当前帧的非透明像素上响应鼠标,透明画布必须穿透;
– 拖动移动桌宠,右键显示中文动作菜单;
– 待机时根据鼠标相对角色中心的角度,选择 8 方向代表帧;
– 鼠标第一次进入角色时播放喝水;
– 单击重置空闲计时,双击开始自动动作;
– 动作中单击可以中断并回到待机;
– 空闲 45~120 秒后随机播放已有动作;
– 缺少素材的动作显示“素材待补”,随机和自动模式主动跳过;
– 菜单栏增加足球图标,用于显示、隐藏和退出;
– 提供小、中、大三种尺寸。
15
完成后请构建“哈宝桌宠.app”,亲自运行自检,
并告诉我应用路径、测试结果和仍缺少的素材。
如果效果不对,不要自己改代码。直接描述现象,让 Codex定位并修复。例如:
•“透明画布挡住了桌面点击,请检查逐像素 Alpha 命中和鼠标穿透。”•“拖动途中经过透明区域会断掉,请保证按下期间继续接收事件。”•“喝水进入后反复触发,请改成只有从角色外进入角色像素时触发一次。”•“走路切换时角色变大,请统一动作的视觉尺寸并重新处理资源。”•“自动动作播到空素材就停止,请跳过所有不存在的片段。”
7.1 最后一次验收提示词
让 Codex 自检和交付
请做一次最终验收,不要只告诉我“应该可以”。
实际检查:
1. 应用能构建并双击启动;
2. 必需动画能加载,帧数与 manifest 一致;
3. 透明区域不挡点击,角色本体能拖动和右键;
4. 鼠标 8 方向都正确;
5. 喝水、走路、抓狂等动作能播放和中断;
6. 空闲随机和自动序列能跳过缺失素材;
7. 菜单栏入口、尺寸切换、隐藏和退出正常;
8. Info.plist、应用图标和签名结构有效。
12
发现问题就继续修复并重新测试。
完成后只给我:应用路径、通过项、未通过项、待补素材和下一步建议。
最终你应该拿到一个位于 dist/哈宝桌宠.app 的可运行应用。当前项目的应用图标如下。

效果展示 5:哈宝桌宠最终 AppIcon 源图
8. 这一路真正踩过的坑:不是一次生成就成功
如果只看最后的 App,很容易以为流程是“写一句提示词—生成素材—打包完成”。我实际做下来完全不是这样。真正花时间的地方,是把每一次不对劲的现象说清楚,再让 Codex 去定位原因、修素材、改程序并重新验收。下面这些问题都在哈宝桌宠制作过程中真实出现过。
8.1 参考图的问题:角色像了,衣服和表情却不对
我遇到的现象最后怎么解决
球衣反复变成旧版纯红、曼城配色,短裤、袜子停止盲抽,去 Nike 官方页面截正面、胸前十字、队徽和领和鞋也跟着漂移。口;把亮红底、深蓝北欧十字、细白边、白短裤、白袜、黑
鞋和 9 号写成每一轮都重复的硬约束。
九宫格表情都“正确”,但像通用 AI 表情,不先收集真实照片、采访截图和网络表情包,按情绪分组;只像哈兰德。提取眉眼、嘴型、头部角度和手势,再统一到同一个 3D Q
版角色上。
动作一复杂,AI 就加道具、加手、加腿,甚至负面提示词明确“单人、两只手、两条腿、只保留指定道多出一个人。具”;仍不稳定时,把一个复杂动作拆成准备、执行、收尾
三个阶段分别生成。
这几个坑让我明白:角色一致性不是靠一句“保持一致”实现的,而是靠身份基准图+官方细节参考+固定正负面约束一起守住。
8.2 视频生成的问题:看起来会动,但不一定能当桌宠素材
第一个版本的鼠标跟随动作里,画面真的生成了一只鼠标。我原本写“角色跟随鼠标移动”,模型把“鼠标”理解成了画面道具。第二版改成“眼睛和头部追踪画面外不可见的目标点”,并在负面提示词里写死“画面中禁止出现鼠标光标、箭头、轨迹线和目标标记”,问题才消失。
避免生成可见鼠标的修正提示词
角色只用眼睛和头部追踪一个位于画面外、不可见的目标点。
目标点在八个方向平滑移动,角色身体位置和镜头保持固定。
画面中绝对不能出现鼠标、光标、箭头、轨迹线、圆点或任何目标标记。
角色始终完整全身,头发、手脚和球鞋四周保留安全边距。
另一个常见问题是首尾不连:第一帧站直,最后一帧身体还歪着,循环时会突然弹一下。后来每个动作都先设计能互相衔接的首尾关键帧,并把视频提示词按“起势—动作主体—回到初始姿势”分段描述。循环不是导出时勾一个选项,而是从关键帧阶段就要设计。
8.3 抠像和裁切的问题:黑底、绿边、断手断脚都出现过
生成视频交给程序前,我让 Codex 先检查素材有没有真实 Alpha。能直接得到透明通道就优先使用真实 Alpha;只有纯绿或纯黑背景时才做保守抠像,不然头发边缘、球衣深色十字和黑鞋很容易一起被抠掉。
💡喝水动画是最典型的一次:源文件实际是 H.264 黑底视频,没有透明通道。直接使用会出现
黑色方块,强力去黑又会伤到鞋子和阴影。最后采用保守黑底抠像,并发现第 4 帧和第 81 帧
有异常,用前后相邻帧混合修补,再重新检查整段动画。
角色被裁掉也是类似问题。只看第一帧裁切,后面举手、抓头或跳起时就会断手断脚。最后改成扫描整段视频所有帧的非透明区域,取全帧联合边界,再额外留 24 像素安全边距。这样裁切范围由动作最外侧姿态决定,而不是由第一帧决定。
8.4 接进程序后的问题:每段素材单独看都好,切换时却会跳•动作尺寸忽大忽小:统一到 360×360 画布,角色主体放进约 300×300 的内容框;再按动作做小
幅尺度校准,走路动画最终使用 0.9 倍。
•透明区域挡住桌面:窗口仍然存在,所以不能只把背景画透明;程序必须按当前帧 Alpha 做逐像素
命中,透明像素让点击穿透。
•拖动经过透明处突然断掉:鼠标按下角色后要保持拖动状态,不能每一帧都重新用透明像素判断是
否继续接收事件。
•可选动作还没做完:舞蹈、玩球、吃东西、打哈欠等素材缺少时,右键菜单显示“素材待补”;随
机动作和自动序列主动跳过,不能因为一个空文件就把整个桌宠卡死。
整个素材管线最后统一为 360×360、20 fps,并用 manifest 记录每个动作的帧数、播放速度、循环方式和可用状态。这样程序不需要猜素材,也方便 Codex 在验收时逐项核对。
8.5 我现在会怎样把问题反馈给 Codex
最有效的反馈不是“这里不对,帮我优化”,而是现象+出现条件+正确结果+验收方法。例如:
个人化问题反馈模板
现在有一个可复现的问题:
现象:切换到走路动画时,角色明显比待机大一圈。
出现条件:右键选择“走路”或自动模式播放 walk 时。
我希望的结果:脚底位置基本不跳,头部高度与待机接近。
请你检查各动作的有效像素边界、缩放参数和锚点,
修复后实际运行应用,对比切换前后截图;
如果仍有跳变就继续调,不要只告诉我理论上已经修好。
我最后的经验是:把 Codex 当成会自己查文件、运行工具、改代码和验收的制作搭档,而不是只能回答问题的聊天框。我们需要负责判断“哪里看着不对”,剩下的排查、修改和重复测试都可以继续交给它。
9. 彩蛋:把鼠标也换成足球(或者水壶、金靴、小孩)
推荐先做一个安全版本:鼠标进入哈宝的非透明像素时,箭头变成足球;离开哈宝后立刻恢复系统光标。它不全局修改 macOS,也不影响其他应用。

足球光标功能提示词:直接发给 Codex
请给哈宝桌宠增加一个“足球光标”开关,并由你直接实现和测试。
要求:
1. 默认开启;
2. 鼠标进入角色当前帧的非透明像素时,系统箭头显示为 32×32 的足球光标;
3. 鼠标进入透明画布或离开桌宠时,立即恢复系统默认光标;
4. 拖动桌宠期间保持足球光标;
5. 右键菜单增加“足球光标”勾选项,可随时开关;
6. 不要全局隐藏系统鼠标,不影响其他应用;
7. 应用退出、隐藏或发生异常切换时必须恢复默认光标;
8. 可以直接用 ⚽️ 绘制 NSCursor,不要求我额外准备图片。
12
请把它接入现有逐像素 Alpha 命中逻辑,构建应用并实际测试进入、离开、拖动和关闭开关。
Codex 最终会把逻辑接入现有的鼠标轮询。下面是核心思路的简化参考,实际文件位置和生命周期让Codex根据项目处理:
足球 NSCursor 参考实现
private func makeFootballCursor() -> NSCursor {
let size = NSSize(width: 32, height: 32)
let image = NSImage(size: size)
image.lockFocus()
let paragraph = NSMutableParagraphStyle()
paragraph.alignment = .center
let attributes: [NSAttributedString.Key: Any] = [
.font: NSFont.systemFont(ofSize: 26),
.paragraphStyle: paragraph
]
("⚽️" as NSString).draw(
in: NSRect(origin: .zero, size: size),
withAttributes: attributes
)
image.unlockFocus()
17
return NSCursor(
image: image,
hotSpot: NSPoint(x: 16, y: 16)
)
}
23
private func updateFootballCursor(isOverPet: Bool) {
if isOverPet {
footballCursor.set()
} else if wasHoveringPet {
NSCursor.arrow.set()
}
}
如果以后想让足球在整个系统里跟随鼠标,可以再让 Codex设计“透明悬浮小窗口 + 安全隐藏/恢复系统光标”的高级版本。但它需要更严格的退出恢复和权限处理,不建议作为第一版默认功能。
10. 最简单的完整工作方式
1. 新建文件夹,放入角色参考图和你的想法。
2. 在 ChatGPT 桌面应用中选择 Codex,并打开这个文件夹。
3. 发送“项目总提示词”,让 Codex扫描、规划并开始执行。
4. 先确认角色设定图,再确认鼠标跟随和其他动作视频。
5. 把确认的视频交给 Codex,让它处理透明素材和逐帧资源。
6. 发送“程序实现提示词”,让 Codex写桌宠、构建和测试。
7. 用自然语言反馈问题,让 Codex继续修复,不必自己改代码。
8. 最后发送“验收提示词”,拿到可运行的 .app 和测试报告。
10.1 你只需要记住的一句话
告诉 Codex 你想要什么、素材在哪里、哪些事情不能做,以及什么结果才算完成;然后让它自己检
查、执行、测试和交付。
10.2 完成检查
角色设定图中的脸、发型、球衣和比例已经统一
鼠标跟随视频中没有假鼠标、箭头或轨迹线
走路、喝水和情绪动作的首尾及四肢没有明显错误
Codex 已自动处理透明背景、尺寸、帧率和 manifest
透明区域能穿透,角色本体能点击、拖动和右键
已有动作可播放,缺失动作会跳过
足球光标只在哈宝本体上出现,离开后恢复
最终 .app 已由 Codex实际构建并完成自检
需要底层实现细节:可继续阅读详细技术版从 AI 动作素材到 macOS 原生桌宠:哈宝桌宠保姆级制作教程。
Codex 官方参考:ChatGPT / Codex 快速开始、Codex 最佳实践、提示词指南。
发布提醒:真实球员形象、国家队球衣、品牌元素和生成素材可能涉及肖像、商标和版权。个人学习与原型之外,公开发布或商业化前请确认授权范围。
11. 一个不懂代码的小白,居然也在 GitHub 开源产品了
回头看整个过程,最让我意外的已经不只是“我做出了一个桌面宠物”,而是:一个原本不懂 Swift、不懂 AppKit、不懂透明通道,也不会自己打包 macOS 应用的人,居然把这套制作方法整理成了一个可以在 GitHub 上开源、让别人继续使用的产品。
刚开始,我能做的只有描述想法:我想让哈兰德住在桌面上,会看鼠标、能被拖动、会喝水、走路和做各种表情。遇到不对的地方,我也只会用最直白的话反馈——“这里有一只假鼠标”“走路时突然变大了”“手被裁掉了”“黑色背景没有去干净”。剩下的环境安装、代码、素材处理、排错、构建和验收,我一次次交给 Codex 去完成。
就是这样,一边提出想法,一边看结果,一边继续修正,哈宝桌宠从一个只属于自己的小项目,慢慢变成了一套别人也能复用的桌宠引擎。这件事让我第一次真切地感觉到:AI 不是只会回答问题,它也可以成为普通人动手做产品的搭档。你不一定要先学会所有代码,完全可以先从“我想做什么”开始,在制作过程中慢慢理解技术。
以前我觉得 GitHub 是程序员才会去的地方;现在我的第一个开源产品也放在这里了。不会代码并不
代表不能创造产品,关键是愿意把想法讲清楚、不断试、认真验收,并把踩过的坑整理给后来的人。
项目地址:https://github.com/InsiderX-Pro/desktop-pet-engine
https://github.com/superjh1984/desktop-pet-engine
Desktop Pet Engine:开源 macOS 桌面宠物引擎
这个开源项目提供原生 macOS 桌宠窗口、透明区域点击穿透、逐像素命中、鼠标方向反应、右键动作菜单、随机与自主动作,以及黑底/绿幕处理、统一画布、PNG 序列和应用构建工具。仓库里还附带了一个可以安装给 Codex 使用的桌宠制作 Skill。你可以免费克隆项目,换成自己创作或已经获得授权的角色和动作素材,让 Codex 帮你做出属于自己的桌面宠物。
把这个提示词交给 Codex,就能从开源项目开始
请打开并阅读这个开源项目:
https://github.com/InsiderX-Pro/desktop-pet-engine
帮我完成以下事情:
1. 克隆项目并阅读中文 README、License 和素材版权说明;
2. 检查我的 Mac 环境,运行项目自带的 Demo;
3. 使用我提供且有权使用的角色图片和动作视频制作自己的桌宠;
4. 自动处理透明背景、尺寸、帧率和 PNG 序列;
5. 构建可双击运行的 macOS 应用并实际自检;
6. 能由你完成的安装、命令、代码和排错都由你完成,
只有需要系统授权、登录或我确认素材时再问我。
如果这个项目帮你少走了一点弯路,欢迎在 GitHub 页面右上角点一个 ⭐ Star。
最后提醒:仓库中的桌宠引擎代码、脚本、Codex Skill 和 Blob 示例素材采用 Apache-2.0 许可证;哈宝等原创漫画角色展示素材并不因此自动获得开源授权。制作和发布自己的桌宠时,请使用原创、明确许可或自己有权使用的形象、声音、球衣和动作素材。
⭐ 免费使用 Desktop Pet Engine,并欢迎在 GitHub 点亮一个 Star
最后附上app给大家玩耍:
Mac版分享:
【哈宝桌宠.app.zip】
https://t3.znas.cn/soQ2suWsjZg(注:部分内容可能由 AI 生成)












暂无评论内容