关于 anti-sleep
anti-sleep 是一项技能,通过附带的启动脚本和 macOS 内置工具管理定时防睡眠。它指导用户检查、启动、验证和停止一次性 LaunchAgent 会话。
主要功能
- 01定时防睡眠会话
- 02屏幕与闲置睡眠标志选项
- 03状态、启动、验证和停止命令
- 04支持指定 PID 的会话
- 05LaunchAgent 跟踪与备用方案指引
适用场景
- 01在定时任务期间保持 Mac 唤醒
- 02阻止系统闲置睡眠,同时允许屏幕变暗
- 03工作期间保持屏幕开启
- 04检查防睡眠会话是否正在运行
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ davidondrej/ skills --skill anti-sleep安装后在 Claude Code 中输入/anti-sleep确认已加载。
附带文件agents/openai.yamlscripts/anti-sleep.sh
详细介绍
防止休眠(macOS caffeinate)
使用此技能目录中附带的启动器。它仅使用 macOS 内置工具创建一个一次性用户 LaunchAgent。
必需工作流
切勿使用原始 &、nohup、disown 或 launchctl submit 启动 caffeinate。临时执行 shell 可能会终止其子进程,而 launchctl submit 可能会重启定时任务。
根据此 SKILL.md 的位置解析 scripts/anti-sleep.sh;切勿假设用户当前所在的目录。运行:
- 检查当前状态:
scripts/anti-sleep.sh status
- 如果
status报告存在活动会话,且用户请求了新的时长,请自动停止旧会话。切勿请求确认。
scripts/anti-sleep.sh stop
- 按请求的时长启动新计时器:
scripts/anti-sleep.sh start 10800 # 3 hours
针对特定进程,请使用 start-pid。如果另一个会话处于活动状态,同样应用自动替换规则。
scripts/anti-sleep.sh start-pid <PID>
- 在启动命令返回后,另行调用一次工具/shell进行验证:
scripts/anti-sleep.sh verify
只有在验证结果返回 STATUS=running 和 ASSERTIONS=active 时,才报告成功。确认 PID、标志和实际到期时间。如果验证失败,请运行 stop,且不要声称 Mac 已受到保护。
断言标志
默认值为 -d -i:保持显示器开启,并防止系统因空闲而休眠。需要时,可在时长或 PID 后传入明确标志:
| 标志 | 效果 |
|---|---|
-i | 防止系统因空闲而休眠;显示器可能变暗 |
-d | 防止显示器休眠 |
-d -i -s | 接入交流电源时,也防止系统休眠 |
这些选项都无法阻止合上盖子时休眠。对于必须在笔记本电脑合盖后继续运行的 Agent,请参阅笔记本电脑合盖时保持 Claude Code 运行。
示例:
scripts/anti-sleep.sh start 10800 -i
状态和停止
scripts/anti-sleep.sh status
scripts/anti-sleep.sh stop
启动器会在 ~/Library/Caches 下跟踪一个确切的 LaunchAgent 标签、PID、开始时间和到期时间。它绝不会使用范围过广的 pkill。
后备方案
如果 launchctl bootstrap 失败,请使用可见且持久的终端或 cmux 窗格。与 cmux 交互前,请先阅读 cmux 技能。如果没有可用的持久界面,请告知用户,而不要启动不可靠的后台任务。
caffeinate 无法让键盘背光保持亮起。此设置需要手动调整:系统设置 → 键盘 →“闲置后关闭键盘背光”→ 永不。