mcpField
M
manage-caffeinate

manage-caffeinate

github.com/arthurzakirov生产力1159 次安装2 周前更新
代码仓库

关于 manage-caffeinate

manage-caffeinate 用于管理 macOS 的 caffeinate 任务,通过 launchd 让依赖本机运行的进程期间保持 Mac 唤醒。适合需要查看、启停或重启该任务的用户。

主要功能

  1. 01通过 launchd 管理 caffeinate 任务
  2. 02开启、关闭、重启任务
  3. 03查看任务与电源断言状态
  4. 04清理旧标签及托管进程

适用场景

  1. 01运行本地 Agent 时避免空闲睡眠
  2. 02检查 caffeinate 是否阻止系统睡眠
  3. 03停止任务并清理相关进程

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/arthurzakirov/agentdesk --skill manage-caffeinate

安装后在 Claude Code 中输入/manage-caffeinate确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

agents/
openai.yaml
references/
setup.md
scripts/
manage-caffeinate.sh

详细介绍

管理 Caffeinate

概述

使用此技能管理机器级别的 macOS caffeinate 作业。这并非 Codex 专用;它会让 Mac 保持唤醒状态,供任何依赖机器保持唤醒的本地终端、Codex、Claude Code、浏览器或 Agent 进程使用。

首选机制是由 launchd 管理的作业,名称为 agentdesk-caffeinate,其运行内容如下:

/usr/bin/caffeinate -dimsu

工作流

从已安装的技能运行捆绑脚本:

bash "$HOME/.codex/skills/manage-caffeinate/scripts/manage-caffeinate.sh" status
bash "$HOME/.codex/skills/manage-caffeinate/scripts/manage-caffeinate.sh" on
bash "$HOME/.codex/skills/manage-caffeinate/scripts/manage-caffeinate.sh" off

如果此技能是从克隆的 AgentDesk 检出目录运行,而非从已安装的 Codex 技能运行,请执行:

bash "skills/manage-caffeinate/scripts/manage-caffeinate.sh" status

命令

  • on:创建或刷新 launchd 作业。如果存在旧版 codex-caffeinate 标签,也会将其移除。
  • off:移除 launchd 作业,并清理匹配的受管理 /usr/bin/caffeinate -dimsu 进程。
  • status:显示 launchd 状态和 pmset -g assertions 中与 caffeinate 相关的行。
  • restart:移除并重新创建 launchd 作业。

验证

启用后,验证 pmset -g assertions 是否列出 /usr/bin/caffeinate,或带有 PreventUserIdleSystemSleep、PreventUserIdleDisplaySleep 和 PreventSystemSleep 的 caffeinate command-line tool 断言。

关闭后,验证 launchctl list agentdesk-caffeinate 是否执行失败,以及 pmset -g assertions 是否不再列出 caffeinate 断言。

参考

需要说明 launchd 设置的工作原理、为何使用 launchd 而非后台 shell 进程,或 Arthur 的机器最初配置了什么内容时,请阅读 references/setup.md。

限制

只要 macOS 允许该断言,caffeinate 就会阻止系统因空闲而睡眠。合上 MacBook 屏幕仍可能强制进入睡眠状态,除非机器处于受支持的合盖模式,通常需要连接电源和外接显示器/输入设备。

评论

支持 Markdown