让 Claude、Codex、Cursor 跑任务时,Mac 不再半路睡着。

最近用 AI Agent 写代码,有一个很真实的小问题:
人可以去喝水、吃饭、睡觉,但电脑不能睡。
尤其是跑 Claude Code、Codex、Cursor 这类 Web coding / Agent 任务时,经常出现一种尴尬场景:
你让 AI 帮你跑一个任务,转身离开一会儿,Mac 自己熄屏锁住了。
人类下班了,AI 也被迫下班。
于是我做了一个很小的 macOS 菜单栏 App,叫:
AI997
一句话介绍:
人类下班,AI 997。
它的作用非常简单:点一杯“电子咖啡”,Mac 就在指定时间里保持亮屏,不熄屏、不锁屏、不睡眠。等咖啡喝完,它自动恢复系统原来的行为。
不是改系统设置
很多人第一反应可能是:这是不是把系统的锁屏时间改成“永不”?
不是。
AI997 用的是 macOS 自带的 IOKit 电源断言机制,和系统命令 caffeinate 类似。
它不会修改系统设置,也不需要管理员权限。
你点开始,它临时告诉系统:“现在有任务在跑,先别睡。”
你点结束,或者倒计时结束,它就释放这个状态,系统原来的锁屏、睡眠策略会立即恢复。

所以它更像是一杯临时咖啡,而不是把你的作息永久改乱。
四种“上班模式”
我不想把它做成一个很严肃的工具,所以给它设计了几种咖啡/排班模式。
2 小时:小加一班
适合改个 bug、跑一个短任务、让 Agent 处理一段代码。

10 小时:白班连夜班
适合完整工作日。比如上午开一个任务,晚上再来看结果。

24 小时:997 全勤
适合通宵跑批、重构、长任务。

无限模式:上皮鞭
直到你手动喊下班。
菜单栏里会显示实时倒计时,也可以随时加钟 +2 小时。到点后会自动“下班”,并发一条系统通知。
还会看一眼有哪些 AI 在打工
AI997 还会在本地扫描一些常见 AI Agent 进程,比如 claude、 cursor、 codex、 ollama 等。
这个检测只在本机完成,不联网,也不会上传任何东西。
如果检测到 Agent 正在跑,它会在面板底部显示一句类似:
Claude、Codex 正在打工,灯不能灭。
这部分其实不是刚需,但我觉得很适合这个小工具的气质。
为什么叫 AI997?
一开始想叫“AI咖啡”。
但后来觉得 AI997 更直接:
人类可以下班,但 AI Agent 还在继续跑。
这个 App 就负责给它续命。
它不是生产力革命,也不是复杂系统,只是一个很小的、但每天都可能用得上的工具。
尤其适合这些场景:
- 用 Claude Code / Codex 跑长任务
- 用 Cursor 让 Agent 自动改项目
- 跑本地模型、脚本、批处理
- 临时不想让 Mac 锁屏
- 又不想永久修改系统设置
下载
项目已经开源,GitHub 地址:
https://github.com/wujunze/ai997
Release 下载:
https://github.com/wujunze/ai997/releases/tag/v1.0.0
目前是 v1.0.0,自用和分享给朋友都可以。
注意:现在这个版本还没有做 Apple 公证,所以第一次打开时,macOS 可能会提示“无法验证开发者”。右键点击 AI997.app,再点“打开”即可。
后面可能会继续做
- Developer ID 签名和公证
- 更完整的 DMG 安装包
- 更好玩的咖啡动画
- 更多 AI Agent 状态展示
- 一个更正式的官网页面
如果你也经常让 AI 半夜干活,欢迎试试。
毕竟:
人类可以睡,AI 不能断咖啡。
夜雨聆风