manage-caffeinate について
manage-caffeinate は launchd 経由で macOS の `caffeinate` ジョブを管理し、稼働中のプロセスに必要な間、Mac のスリープを防ぎます。ジョブの状態確認や起動、停止、再起動を行うユーザー向けです。
主な機能
- 01launchd による caffeinate ジョブ管理
- 02ジョブの起動、停止、再起動
- 03ジョブと電源アサーションの状態確認
- 04旧ラベルと管理対象プロセスの削除
活用シーン
- 01ローカルエージェント実行中のアイドルスリープ防止
- 02caffeinate のスリープ防止状態の確認
- 03ジョブ停止と関連プロセスのクリーンアップ
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ arthurzakirov/ agentdesk --skill manage-caffeinateインストール後、Claude Code で/manage-caffeinateを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
agents/openai.yamlreferences/setup.mdscripts/manage-caffeinate.sh詳細
Caffeinate の管理
概要
このスキルを使用して、マシンレベルの macOS caffeinate ジョブを管理します。これは Codex 固有のものではありません。マシンがスリープしない状態に依存する、ローカルターミナル、Codex、Claude Code、ブラウザー、エージェントのプロセスを問わず、Mac をスリープさせないようにします。
推奨される方法は、agentdesk-caffeinate という名前の launchd 管理ジョブを使用する方法です。このジョブは次を実行します。
/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
インストール済みの Codex スキルではなく、クローンした AgentDesk チェックアウトからスキルを実行する場合は、次を実行します。
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 を使用する理由、または Arthur のマシンで最初に設定されていた内容について説明する必要がある場合は、references/setup.md をお読みください。
制約
macOS がアサーションを許可している間、caffeinate はアイドル時のスリープを防ぎます。MacBook の蓋を閉じると、サポート対象のクラムシェル構成(通常は電源と外部ディスプレイ/入力機器に接続した状態)でない限り、強制的にスリープする場合があります。