定时任务和一键小工具
前两篇让 Codex 帮你做了一次批量处理。可很多活是每天、每周都要做的:每天早上汇总昨天的数据、每周一整理上周的文件、每月初合并上个月的表。
这一篇讲两种让它「以后不用再管」的办法:
| 办法 | 怎么用 | 每次运行花钱吗 | 适合 |
|---|---|---|---|
| 一键小工具 | 让 Codex 写好程序,以后双击运行 | 不调用 AI,不花钱 | 规则固定的活:合并表格、重命名、转格式 |
| 定时任务 | 到点自动让 AI 跑一遍 | 每次按用量计费 | 需要 AI 判断的活:写总结、找异常、读新文件 |
一键小工具:做一次,以后双击就行
如果一件事的规则是固定的(比如「把这个文件夹里的表合并成一张」),那只需要让 AI 写一次程序,以后直接运行程序就行,不需要每次都找 AI。
在 Codex 里处理完一次之后,接着说:
刚才合并表格的处理很好,我每个月都要做一次。请帮我做成一个一键小工具:
1. 把处理程序保存在「工具」文件夹里
2. 做一个双击就能运行的文件(我用的是 macOS / Windows),放在这个文件夹最外层,名字叫「一键合并」
3. 运行时自动处理「待处理」文件夹里的所有表,结果放到「结果」文件夹,文件名带上当天日期
4. 运行结束后在窗口里显示处理了几个文件、多少行,有错误就用中文说明
5. 写一个「使用说明.txt」,用最简单的话写怎么用
做完后你自己用现在的文件测试一遍。它会根据你的系统做一个文件:macOS 上通常是 .command 文件,Windows 上通常是 .bat 文件,双击就会打开一个窗口运行。
以后每个月:把新的表放进「待处理」,双击「一键合并」,等它跑完去「结果」里拿文件。整个过程不调用 AI。
规则变了(比如表格多了一列),再打开 Codex 说「工具文件夹里的合并程序,帮我改成……」。
定时任务:到点自动跑
有些活每次都需要 AI 读一读、想一想,比如:
- 每天早上 8 点,读昨天新放进文件夹的订单表,写一段销售简报
- 每周一,把上周收集的行业文章链接整理成一份周报
- 每天检查一次「待审合同」文件夹,有新文件就提取关键信息追加到台账里
有两种方式实现。
方式一:Codex 桌面应用的「自动化」(最简单)
Codex 桌面应用自带「自动化」功能:在一个项目(文件夹)里设置一段提示词和执行频率,到点自动运行。有结果的运行会出现在应用的收件箱里等你查看。
设置时注意:
- 权限选只读或默认,不要选完全访问;
- 提示词里写清楚结果保存到哪里、文件怎么命名;
- 它依赖桌面应用在运行:电脑睡眠、应用关闭时不会执行。
详见 桌面应用与界面 · 自动化。
方式二:系统计划任务 + codex exec
不想一直开着桌面应用,或者用的是命令行版,可以用系统自带的计划任务,到点运行 codex exec。
codex exec 是 Codex 的「非交互模式」:给它一段指令,它做完就退出,不需要你在旁边。和平时用的区别是:
- 它不会弹窗问你:没人可以点同意,需要额外权限的操作直接失败。所以权限要事先给好。
- 默认只读:要让它写文件,加
-s workspace-write(只能写当前文件夹)。 - 默认不能联网运行命令:任务需要抓网页的话,要额外打开,见 非交互模式。
- 不是 Git 仓库的普通文件夹,要加
--skip-git-repo-check。
先手动试一条命令(在终端里进入你的工作文件夹运行):
codex exec --skip-git-repo-check -s workspace-write "读取「订单」文件夹里修改时间是昨天的 csv 文件,统计订单数、销售额、销量前 5 的商品,和前一天对比,写一份 300 字以内的销售简报,保存到「简报」文件夹,文件名是昨天的日期加 .md。没有找到昨天的文件就在简报里写明。"能正常生成简报,再把它设成定时运行。最省事的办法是让 Codex 帮你设置(在交互模式里说):
我想每天早上 8 点自动运行下面这条命令。我用的是 macOS(或:Windows)。
请帮我:写一个运行脚本放在当前文件夹,然后告诉我怎么把它加进系统的定时任务(macOS 用 cron 或 launchd,Windows 用任务计划程序),每一步给我解释清楚。
脚本里要用 codex 的完整路径,运行日志写到「日志」文件夹,方便出问题时排查。
命令:codex exec --skip-git-repo-check -s workspace-write "……"它要修改系统的定时任务设置时,会弹窗请你批准,看清楚它要添加的内容再同意;也可以让它只给步骤,你自己操作。
自己设置的参考做法
macOS:把工作文件夹放在用户目录下(比如 ~/ai-daily),不要放在「桌面」「文稿」里,系统对计划任务访问这几个目录有额外限制。然后在终端运行 crontab -e,加一行(路径换成你的,which codex 可以查到 codex 的完整路径):
0 8 * * * cd ~/ai-daily && /usr/local/bin/codex exec --skip-git-repo-check -s workspace-write "……" >> ~/ai-daily/日志/run.log 2>&1Windows:把命令写进一个 .bat 文件,然后打开「任务计划程序」→「创建基本任务」,触发器选「每天」,操作选「启动程序」,程序选这个 .bat 文件。
@echo off
cd /d %USERPROFILE%\ai-daily
codex exec --skip-git-repo-check -s workspace-write "……" >> 日志\run.log 2>&1计划任务运行时的环境比你平时打开的终端「干净」,常见问题是找不到 codex 或 node。日志里出现这类提示时,在命令前加上它们所在目录的 PATH 设置,或者把日志贴给 Codex 让它帮你改。
两种系统都要求电脑在那个时间是开机、没有睡眠的状态。
定时任务的安全
- 只给需要的权限:用
-s workspace-write,不要用--dangerously-bypass-approvals-and-sandbox或完全访问。 - Key 不要写进脚本:用「使用密钥」弹窗生成的配置(Key 在 Codex 自己的配置文件里),脚本里不要出现 Key。
- 控制用量:每次运行都按用量计费。指令里限定范围(「只读昨天的文件」),过一周去「使用记录」看看每天花了多少。
- 定期看一眼结果:无人值守的任务出了错不会有人发现,日志和结果文件隔几天看一下。
更多可以自动化的点子
| 频率 | 任务 | 用哪种 |
|---|---|---|
| 每天 | 把「下载」文件夹按类型整理一遍 | 一键小工具 + 定时运行 |
| 每天 | 读昨天的订单表,写销售简报 | 定时任务(需要 AI 写总结) |
| 每周 | 抓取几个公开网页的最新公告,整理成表 | 定时任务(需要联网) |
| 每月 | 合并各部门交上来的表格 | 一键小工具 |
| 每月 | 发票扫描件识别、重命名、做清单 | 一键小工具,识别不了的再让 AI 看 |
想深入了解
codex exec的全部参数、输出格式:非交互模式与 CI/CD- 权限是怎么限制的:沙箱与审批
- 桌面应用的自动化:桌面应用与界面
- 回到 自动化入门