Skip to content

定时任务和一键小工具 ​

前两篇让 Codex 帮你做了一次批量处理。可很多活是每天、每周都要做的:每天早上汇总昨天的数据、每周一整理上周的文件、每月初合并上个月的表。

这一篇讲两种让它「以后不用再管」的办法:

办法怎么用每次运行花钱吗适合
一键小工具让 Codex 写好程序,以后双击运行不调用 AI,不花钱规则固定的活:合并表格、重命名、转格式
定时任务到点自动让 AI 跑一遍每次按用量计费需要 AI 判断的活:写总结、找异常、读新文件

一键小工具:做一次,以后双击就行 ​

如果一件事的规则是固定的(比如「把这个文件夹里的表合并成一张」),那只需要让 AI 写一次程序,以后直接运行程序就行,不需要每次都找 AI。

在 Codex 里处理完一次之后,接着说:

text
刚才合并表格的处理很好,我每个月都要做一次。请帮我做成一个一键小工具:
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。

先手动试一条命令(在终端里进入你的工作文件夹运行):

bash
codex exec --skip-git-repo-check -s workspace-write "读取「订单」文件夹里修改时间是昨天的 csv 文件,统计订单数、销售额、销量前 5 的商品,和前一天对比,写一份 300 字以内的销售简报,保存到「简报」文件夹,文件名是昨天的日期加 .md。没有找到昨天的文件就在简报里写明。"

能正常生成简报,再把它设成定时运行。最省事的办法是让 Codex 帮你设置(在交互模式里说):

text
我想每天早上 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 的完整路径):

bash
0 8 * * * cd ~/ai-daily && /usr/local/bin/codex exec --skip-git-repo-check -s workspace-write "……" >> ~/ai-daily/日志/run.log 2>&1

Windows:把命令写进一个 .bat 文件,然后打开「任务计划程序」→「创建基本任务」,触发器选「每天」,操作选「启动程序」,程序选这个 .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 看

想深入了解 ​

代码示例在页面里运行时使用 HiveGPT 的模型接口。延伸阅读来自 JavaGuide(Apache-2.0),版权归原作者。