必须为Codex自动化任务显式配置执行超时阈值,如设为300秒,超时后强制终止并标记TIMEOUT;PowerShell可通过Start-Process封装或脚本内时间校验实现;验证需用Start-Sleep测试并检查状态与日志。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

你需要防止 Codex 自动化任务因卡死、循环或外部依赖无响应而无限运行,导致资源耗尽或干扰后续定时任务——这必须通过显式配置超时阈值来实现,不能依赖系统默认行为。
在自动化配置中设置执行超时
点击左侧【Automations】→右上角【+ 新建】→打开配置窗口。
在【执行时间】下方,找到【高级选项】展开区域(默认收起),勾选【启用运行时限制】。
输入数字并选择单位:建议首次设为 【300 秒】(5 分钟)。超过该时限,Codex 会强制终止当前任务进程并记录“TIMEOUT”状态。注意:这不是等待响应的网络超时,而是整个任务从启动到退出的总生命周期上限。
保存前务必确认该值小于你设定的执行周期间隔。例如,若任务设为“每10分钟执行一次”,则超时值必须严格小于600秒,否则可能引发任务堆积。
用 PowerShell 脚本内嵌超时控制(适用于本地批处理)
方法一:使用 Start-Process + -Wait + -TimeoutSec
在自动化任务的【执行指令】栏中,不直接写脚本路径,改用以下封装命令:
PowerShell -Command "Start-Process powershell -ArgumentList '-File \"D:\work\task.ps1\"' -Wait -TimeoutSec 300"
通过 Codex CLI 生成图片,支持尺寸控制和批量模式。依赖:codex (npm)。代理默认启用。用 generate.sh 生成单张,batch_generate.sh 批量生成游戏 UI 素材,gen_size.sh 指定尺寸。所有输出保存至 ~/.codex/generated_images/。
这层封装确保即使 task.ps1 内部未设超时,外部进程也会在 300 秒后被 Windows 终止。注意路径必须是绝对路径,且双引号需转义。
方法二:在 task.ps1 脚本开头加入原生超时逻辑
在脚本第一行插入:$global:StartTime = Get-Date;在每个长耗时操作前插入校验:if ((Get-Date) -gt $global:StartTime.AddSeconds(300)) { exit 1 }。这种方式更精细,但需手动插入多处校验点。
验证超时是否生效
第一步:新建一个测试任务,指令设为 PowerShell -Command "Start-Sleep -Seconds 310",超时设为 300 秒。
第二步:手动点击【立即运行】,观察任务状态栏变化——应在约 300 秒后变为红色【TIMEOUT】,而非绿色【SUCCESS】。
第三步:查看右侧日志面板末尾,确认出现类似 "Process forcibly terminated after timeout of 300 seconds" 的提示行。
若状态仍显示 SUCCESS 或日志无终止记录,说明超时配置未加载成功,需检查客户端是否为 v2.8.3 及以上版本,并重启 Codex。

















