最近总有人在评论区问我Codex 这种跑在终端里的 AI 编程助手能不能直接生成 PSD我的回答是可以而且你不需要懂 Photoshop也不需要自己写代码。真正的门槛只有一个——提示词。说白了你只要能让 Codex 明确“最终文件长什么样、图层怎么分、放在哪里”它就能把 PSD 文件给你做出来。这篇文章就拆解一下我用下来的提示词套路顺便把踩过的坑也一起说了。适合运营、设计规范落地、以及需要批量出素材的朋友参考哪怕你完全没有脚本基础也能照着我这套思路跑通。1. 为什么敢说“Codex 能直接生成 PSD”1.1 Codex 到底在做什么先说清楚概念。这里说的 Codex是 OpenAI 推出的命令行 AI 编程工具不是网页聊天框里那个模型。它最大的特点是能直接操作你的本地环境读取文件、创建目录、跑命令、装依赖甚至会自己打开编辑器修改代码。也就是说它不是“画图”的 AI而是“写代码和运行代码”的 AI。当你跟它说“生成一个 PSD”时它并不会像设计软件那样凭空拉一个画布再画几笔而是自己判断该用哪种技术方案把它翻译成一段可执行的代码然后真的把这段代码跑起来。你可以把它理解成一个特别有耐心的程序员你说需求它写代码执行报错就自己改改完再跑直到你点头为止。所以问题的关键就变成了Codex 能不能找到“生成 PSD”的正确技术路径我实测下来它不仅能找到而且找得比你想象中更准。我曾经让它用 Python 的 psd-tools 库生成一个带背景色、圆角矩形和文字的 PSD它自己安装依赖、写脚本、运行、读回图层校验整个流程一气呵成。1.2 PSD 文件并不是黑盒很多人一听 PSD 就默认它只能在 Photoshop 里打开、只能用 Photoshop 创建这个印象其实不太准确。PSD 本质上是一种公开的、有详细文档说明的分层图像格式。它内部是按“块”存放数据的有图层信息、通道数据、蒙版、路径、字体资源等。Adobe 虽然把 Photoshop 做得很封闭但 PSD 格式本身对开发者并不算友好也正因为如此社区里才出现了很多能直接读写它的开源库。实际落地时Codex 常见的选择有三条Python 的 psd-tools用来读取 PSD 非常成熟也可以从零创建简单的 PSD适合文字、形状、纯色图层这类需求。Python 的 pytoshop更底层一些适合手动构建复杂的 PSD 结构可控性强但代码写起来会啰嗦一点。Photoshop 的 ExtendScript / UXP 脚本如果机器上装了 PhotoshopCodex 可以生成一个 .jsx 脚本由 Photoshop 自己执行这样能支持的图层样式、混合选项、滤镜效果最完整。这三条路没有谁“最好”一说只看你的使用场景。我在纯服务器环境里跑批量出图时优先用第一和第二种方案因为它们不依赖 Photoshop方便放进自动化流程里。如果你需要的是设计质感很强的图层效果那就老老实实用第三种让 Codex 生成脚本到本地 Photoshop 里执行。1.3 “直接生成”的底层逻辑你让 Codex“直接生成 PSD”它脑子里其实是这套决策链第一步识别需求里的关键词“PSD”对它来说不是一个图像而是一个文件格式目标。第二步从自己的知识库里匹配能构造这种格式的库和命令比如看到“创建图层”“设置文本内容”它会联想到 psd-tools。第三步通过运行脚本把文件真实写出来然后读回文件验证结果。这一步非常关键也是 Codex 和其他纯聊天的 AI 工具拉开差距的地方——它会动手试。所以“提示词其实很简单”这句话背后的逻辑是你不需要替它把每一步代码都写出来你只需要把“最终文件和验收标准”描述清楚。剩下的步骤能力模型自己会补全。这就好比你去餐厅点菜不需要告诉厨师用什么锅、切多大块但你必须说清楚“不要香菜”“微辣”“用砂锅上”这种你真正在意的点。2. 最小可用提示词长什么样2.1 一个真实可跑的提示词拆解我直接给你一个我跑了无数次的提示词模板你复制过去改一改就能用请编写 Python 脚本生成 /tmp/demo.psd。 要求 - 画布尺寸1280 x 720 - 图层从上到下依次是 1. 装饰层一个圆角矩形居中宽 600高 300圆角 30 2. 文字层内容是 Hello Codex字号 80白色居中 3. 背景层纯色填充 #1a1a2e - 使用 psd-tools 或 pytoshop 完成 - 运行后再用 psd-tools 读回 PSD打印每个图层的名称、类型和可见性 - 如果读出来的图层和预期不一致请修改代码重试直到一致为止你可能觉得这段提示词太啰嗦其实每一句话都有目的。让我逐行解释“请编写 Python 脚本生成 /tmp/demo.psd”——这句话直接锁死了技术栈和输出路径。如果不给路径Codex 可能会把文件生成在某个临时目录甚至当前工作目录回头你找半天都找不到。“图层从上到下依次是”——这是在告诉它图层顺序。PSD 的图层叠放顺序直接影响视觉效果你描述得越具体后面返工的概率越低。“使用 psd-tools 或 pytoshop 完成”——你把选择权留给模型。Codex 对这两个库都比较熟遇到某一个库搞不定时它能自己切换到另一个方案而不是卡死在半路。“运行后再用 psd-tools 读回 PSD打印每个图层的名称、类型和可见性”——这是强制让它做一次自检。Codex 写完代码后不一定会主动跑一遍但只要你明确要求“运行后打印结果”它就会老老实实执行并给你看证据。“如果读出来的图层和预期不一致请修改代码重试直到一致为止”——这个是整个提示词里的灵魂。没有这句话Codex 可能会把脚本写出来就算完成哪怕文件根本没生成成功。有了这句话它就进入“写代码→运行→检查→修改”的循环直到通过验收。2.2 让 Codex 学会“自己确认”的关键一句话从上面的模板能看出来“自检”是提示词里性价比最高的一句话。我后来几乎在每个素材生成任务里都会加上类似的要求生成文件后请写一个简短的验证脚本读回每个图层名称并和预期列表逐项比对少一个图层就重建文件。这句话为什么有效因为 Codex 有时候不是不会做而是做到一半以为自己做完了。它默认的完成标准是“代码写完了”而不是“代码运行通过、结果验证正确”。你把验收标准写进提示词它就不会半途而废。我刚开始用 Codex 的时候经常遇到它给我一段看起来没问题的 Python 脚本我复制出去一跑就报错。后来把“运行并自检”写进提示词之后成功率肉眼可见地涨了一大截。说白了模型也需要你明确告诉它什么是“活干完了”。2.3 为什么不用给它写完整代码有人可能会想既然我知道要生成 PSD为什么不直接写一个完整的 psd-tools 脚本丢给它让它照着跑这样可控性不是更高吗实际上分情况。如果你手里已经有一份能跑的脚本那确实可以直接丢给 Codex 改。但如果你是让 Codex 从零生成一个新文件过度给代码反而容易坏事。原因很简单Codex 对不同库版本的 API 记得可能有偏差但它的纠错能力会在“目标明确”时发挥得最好。如果你告诉它“必须使用 psd-tools 0.8.0 的 create_psd 函数”而实际上这个版本的 API 根本不是这样写的它就很容易陷入报错循环。相反你只说“用 psd-tools 或 pytoshop 生成”它反而会自己去查找、尝试、修正。所以我的原则是描述结果而不是描述步骤。把“最终文件长什么样、验证标准是什么”讲清楚剩下交给 Codex它才是那个该去折腾 API 细节的角色。3. 五个高复用提示词模板3.1 模板一多尺寸批量导出运营同学经常会遇到这种事一套主视觉要做成好几个尺寸1920x1080 的横版、1080x1080 的方图、1280x720 的封面。如果一个个手动调整效率很低。Codex 可以把这件事做得很轻松提示词可以这样写请生成三个互相独立的 PSD 文件统一使用这套图层结构 - 背景层纯色 #0f0f23 - 标题层内容 Summer Sale字号按尺寸等比缩放 - 副标题层内容 Up to 50% Off - 按钮层一个圆角矩形颜色 #ff6b35带文字 Buy Now 三个文件的画布尺寸分别是 - /tmp/sale_1920.psd1920x1080 - /tmp/sale_1080.psd1080x1080 - /tmp/sale_720.psd1280x720 生成后逐一用 psd-tools 读回文件打印每个图层名和尺寸确保没有遗漏。这里有个小技巧我没有要求它“缩放主文件”而是让它“用同一套结构生成三个文件”。原因是等比缩放 PSD 里的文字图层和矢量形状经常会出现比例怪异的状况远不如重新生成来得干净。Codex 对这种“模板复制”类型的任务非常擅长只要你在提示词里把结构定义清楚它生成的三个文件会在命名和图层顺序上保持一致。3.2 模板二带规范命名规则的分层 PSDPSD 的分层命名其实是一种隐性资产。设计师后期切图、前端开发找图层全靠图层名辨认内容。如果你让 Codex 随便生成名字最后的文件会变成“Layer 1”“Layer 2”这种谁都不想看到的局面。所以命名规范要写进提示词生成一个 PSD画布 1000x1000。 - 所有文本图层以 txt_ 开头 - 所有形状图层以 shape_ 开头 - 所有颜色填充图层以 bg_ 或 fill_ 开头 具体内容 1. txt_title 图层内容 Weekend Special 2. shape_button 图层一个圆角矩形尺寸 400x120圆角 20颜色 #333 3. bg_gradient 图层线性渐变从 #1e1e2f 到 #4a4a6a 生成后写脚本检查每个图层名的前缀是否符合规则不对就重新生成。这种命名规则对后续自动化很重要。比如你在 Figma 插件、Paddy、或者自研工具里做图层批处理前缀就是指令。学会让 Codex 遵守命名规范等于让你的 PSD 从“能看”变成了“能直接进入生产流程”。3.3 模板三从 JSON 配置生成 PSD如果你的素材是数据驱动的比如不同城市的海报、不同语言的促销页把内容抽成 JSON 再让 Codex 生成 PSD 就很合适。示例配置{ entres: [ { title: Beijing Launch, bg_color: #123456, subtitle: Opening Soon }, { title: Shanghai Launch, bg_color: #654321, subtitle: Limited Offer } ] }提示词读取 /tmp/config.json 里的 entres 列表每个条目生成一个 PSD 文件。 - 画布尺寸统一为 1280x720 - 背景层使用条目里的 bg_color 字段 - 标题层使用 title 字段的内容居中 - 副标题层使用 subtitle 字段的内容位于标题下方 - 文件名用 title 字段去掉空格后的名称例如 BeijingLaunch.psd 生成后批量读回所有文件打印格式如 文件名 - 图层数量 - 标题内容 的表格。这种玩法特别适合要做几十个相似素材、但又不想用代码模板硬套的场景。你把变动的数据给 Codex它负责把这些数据填进设计稿省下来的时间非常可观。3.4 模板四生成 Photoshop 可打开的脚本文件前面几个模板都是在没有 Photoshop 的前提下用 Python 库直接构造 PSD。但如果你需要用到图层样式、投影、内发光这类视觉效果纯 Python 库会比较吃力。这时候换个思路让 Codex 生成一个 .jsx 脚本交给 Photoshop 执行。提示词示例请生成一个 .jsx 脚本在 Photoshop 中完成以下操作 1. 新建文档宽 1920 高 1080分辨率 72背景色任意 2. 添加文本框内容 New Collection字体 Arial字号 120居中 3. 给文本图层添加投影样式距离 5大小 15不透明度 60% 4. 新建一个颜色填充图层放在文本图层下方颜色 #F7F7F7 5. 将文件保存为 /tmp/new_collection.psd然后关闭文档 请确保脚本语法正确并告诉我如何在 Photoshop 中运行这个脚本。这种方式其实是让 Adobe 自己的渲染引擎去生成 PSD所以兼容性最好几乎不会出现“打不开”的情况。代价是你的机器上必须安装 Photoshop。如果只是跑批量的简单图层我会更倾向于用 Python 方案但凡是碰上样式、滤镜、智能对象就直接转 .jsx 脚本路线。3.5 模板五上下文工程让输出更稳最后一个模板不是让 Codex 直接干活而是先“对齐术语、确认能力边界”这也是提示词工程里常说的上下文工程。复杂任务千万别急着要结果先让它把能力清单列出来先不要写代码。请先回答下面几个问题 1. 使用 psd-tools 从零创建 PSD能做到哪些图层类型 2. 哪些效果是它做不到的 3. 如果改用 pytoshop 或 ExtendScript能力有什么差异 4. 基于我的需求一个带渐变背景、圆角按钮、文字的海报你推荐哪种技术路线 确认完方案之后再动手实现并最终生成 /tmp/plan.psd。这样做的好处是减少模型幻觉。Codex 有时候会信心满满地用某个库生成一个功能结果那个功能根本不是这个库支持的。先让它“说方案”相当于在真正动手之前做了一次可行性审查。我发现凡是复杂一点的 PSD 任务先来一轮这种对齐问答后面踩坑的概率能少一半。4. 实操中的常见翻车与排查4.1 生成到一半卡在依赖安装Codex 在沙箱环境里跑脚本时通常会自己创建一个虚拟环境然后执行 pip install。如果你所在的网络环境访问 Python 软件源不稳定它可能会会卡在“安装依赖”这一步半天没有进展或者直接报“Could not install packages”。我的解决办法是让 Codex 直接使用系统级 Python 环境不要创建虚拟环境直接使用系统的 python3 和 pip3。 如果依赖没有安装就通过 pip3 install --user 安装到当前用户的 site-packages 里。你也可以手动先把依赖装好然后在提示词里告诉 Codex“psd-tools 已经安装在系统环境里不要再重新安装。”这样就绕开了反复安装依赖的耗时过程。实测下来这个提示能让整个执行速度快非常多尤其是在那些网络波动大的环境里。4.2 生成的 PSD 在本地 Photoshop 中打不开这是最容易让人灰心的情况Codex 明明跟你说“我生成好了”你兴冲冲地双击打开结果 Photoshop 提示文件损坏或无法识别。遇到这种情况别急先判断是哪种原因。如果是纯 Python 库创建的 PSD常见原因有两个一是写入的图层类型过于复杂Photoshop 无法兼容二是 psd-tools 写出的结构里缺少某些 Adobe 期望的记录段。我的排查顺序是先用 psd-tools 读回文件看它自己能不能正常解析。如果库自己能读说明文件本身结构完整问题大概率出在 Photoshop 兼容性上。这时候我会换 pytoshop 重写或者干脆改用 .jsx 脚本方案让 Photoshop 自己生成文件。如果连 psd-tools 都读不了那就是脚本生成的代码有问题需要让 Codex 检查文件头信息。经验是纯脚本生成的 PSD图层风格越朴素越安全。尽量避免用 Python 库去模拟复杂的图层混合模式、填充不透明度这类效果不妨把这些需求放到 .jsx 方案里实现。4.3 Codex 命令行报错 endpoint /responses很多朋友在调整 Codex 配置后会遇到类似local connection failed while handling codex endpoint /responses的报错。这个报错看着很硬核其实绝大多数时候是本地网络配置没跟上来不一定是你操作错了。我的排查顺序是这样的首先检查本机到 Codex 服务端点的连通性。可以用终端执行一条简单的请求命令看看 endpoint 是否返回正常响应。如果失败就检查本地防火墙或安全软件是不是把 codex 对应的命令行进程拦住了。这类工具经常会阻止终端进程发起网络的请求放行之后问题就能解决。其次看看本机 hosts 文件里是不是残留了旧地址映射有些历史操作会让命令行工具连接到错误地址。最后才是重新登录或更新 CLI 版本因为很多“连接失败”其实不是认证问题而是网络通路问题。如果你是用了第三方配置切换工具之后才出现的报错多数情况是它改坏了一些本地环境变量或配置文件。直接把 Codex CLI 的配置文件备份后重置再重新登录一次就好。4.4 图层数量和名称与提示词不一致还有一个更隐蔽的翻车情况Codex 确实生成了 PSD 文件但里面图层的名称和数量跟你要求的不一样。你让它生成 5 个图层它只给了 3 个还在注释里给自己解释说“合并了同类项”。解决这个问题靠的是把“验收标准”变成“强制断言”。我在提示词里加了这么一段在脚本里定义一个 expected_layers 列表按顺序写上 [bg, title, subtitle, button]。 生成 PSD 后读回所有图层名用集合比较的方式和 expected_layers 比对。 如果不一致抛出错并自动重新生成直到完全一致。这句话一加Codex 就没有自由发挥的余地了。它必须按照列表逐项核对少一个图层都必须修复。对 Codex 来说提示词里的“必须”和“如果不一致就重来”比“建议”“尽量”这类软性词有效得多。4.5 常见报错速查表我把实际遇到过的高频问题整理成一张表方便你直接对号入座报错表现常见原因排查顺序依赖安装失败软件源不可达、Python 环境混乱改用系统环境、手动安装、跳过虚拟环境PSD 在 Photoshop 里打不开纯 Python 库写入兼容性不足psd-tools 读回验证、pytoshop 重写、转 .jsx 方案endpoint 连接失败本地网络配置异常检查连通性、放行防火墙、清理 hosts、重新登录图层名对不上 / 少图层提示词缺少验收标准增加 expected_layers 强制比对和自动重建生成的脚本语法不完整模型只写了一半明确要求“运行后可输出结果”让 Codex 自检表格里这些坑我基本都踩过一轮。尤其是最后两行几乎是我前期把提示词写得太随意时出现的典型问题。现在我已经习惯把所有需求都转换成“验证标准”来写返工率明显低了不少。5. 这玩意儿还能怎么玩5.1 自动生成多语言海报素材我最近在帮人跑一套游戏上线素材需要中文、英文、日文三套版本。手动做的话光是替换文案和调整文字长度就要花很久。我把每套文案放到 JSON 里交给 Codex它在同一个循环里生成了三个 PSD图层结构完全一致只是文案内容不同。这种批量生成特别适合那种结构固定、内容变化不大的场景。只要图层命名统一后期你甚至可以再写一个脚本把这些 PSD 自动导入到某个设计系统里做进一步处理。Codex 在这里的角色更像一个“批量排版机器人”只是它不需要操作软件界面而是直接操作文件本身。5.2 把设计规范变成可执行代码再往深一层想你可以在 JSON 里定义一套设计规范比如主色、辅助色、字体大小层级、间距规则。然后在提示词里要求 Codex“所有图层的颜色必须来自 config.json 里的 color 字段字号必须使用 type_scale 里的数值。”这样生成出来的 PSD天然就是符合设计规范的。我自己试过之后觉得很香因为设计规范最大的问题是落地走样。当规范被写进脚本里、由代码强制执行时任何一张图都不会再出现“色号差一点、字体小一号”的偏差。5.3 接入自动构建流程Codex CLI 是支持非交互模式的也就是说你可以在命令行里直接把提示词文件丢给它执行。这样就能把它塞进一个自动构建流程里代码仓库里放一个 prompt.mdCI 构建时运行 Codex让它根据最新的配置生成 PSD再把产物上传到指定位置。这样的玩法适合素材量特别大、又需要频繁更新的项目。每次需求变更时你只需要改 JSON 配置或者提示词描述重新跑一遍流程新的 PSD 就自动出来了不需要设计师手动处理。5.4 注意版权、字体和素材合规最后提醒一句虽然 Codex 能帮你快速出 PSD但有一样东西它替代不了合规审查。中文环境里尤其要留意字体授权很多默认字体不能直接用于商业交付你也不要让 Codex 从网上下载一些来路不明的素材塞进 PSD 里。文件里带没带版权信息这个问题脚本检测不出来只能由你自己把关。我现在的习惯是Codex 生成的 PSD 一律当“设计初稿”使用进入最终交付前由设计师或运营负责人确认一遍字体、素材、配色来源。自动化工具提高的是效率不是替你做决策。最后再分享一个小技巧我现在的提示词末尾固定会加一句“生成后用脚本读回并逐项比对图层名、尺寸、可见性不一致就自动修复并重新生成”。这句话看似简单却把成功率从五成拉到了九成。真正踩过几次坑之后你会发现Codex 不是不会生成 PSD而是需要你把验收标准写在它开工之前。希望这篇能让你少走点弯路直接用起来。