Keepresso
Keepresso
Keepressoの使い方

自動化リースでAIエージェントにMacを起こし続けさせる

György
監修
György
更新 Aug 25, 2026 1 min

夜通し長いジョブを実行するエージェントは、作業中はMacを起こしておき、終わったらスリープさせる必要があります。単なる「スリープ防止をオン」では前半しか満たせず、後半で失敗します。ツールがクラッシュしたりオフにし忘れたりすると、Macはいつまでも起きたまま固定されてしまいます。自動化リースはこれを解決します。スクリプトやAIエージェントが時間制限付きのリースを取得し、作業が続く間はそれを更新し続け、終わったら解放します。ジョブの途中でツールが停止しても、リースは単に失効し、Macは再びスリープできます。うっかりマシンを起こしたままにしてしまうことはありません。

Keepressoはそのためのスタック一式を備えています。keepresso leaseコマンド群、MCPに対応したあらゆるエージェントが呼び出せるMCPサーバー、そしてワンクリックでインストールできる付属のエージェントスキルです。

検知は見張り、リースは自ら伝える

Keepressoにはすでに、コーディングエージェントが実際に作業しているかを検知するAIエージェントトリガーがあります。既知のエージェントにはClaude、Cursor、Codex、Gemini、Grok、Antigravity、Hermes Agent、Kilo Code、OpenCode、DeepSeek Harness、LM Studio Bionic、pi、Kimi Code、Qwen Code、Muse Code、Devin CLIなどがあります。より深い接続がないツールは、プロセスや会話ストアの証拠から判断され、この仕組みはエージェント側で何も設定する必要がありません。

正確なセッション状態が欲しいときは、AIエージェント条件でClaude Code、Cursor、Codex、Antigravity、またはGrokを接続してください。会話は別々に追跡されます。1つのホストプロセスを共有するデスクトップアプリ内のチャットも含むため、アイドル中の会話が別の会話の作業状態を引き継ぐことはなく、停止を見逃してもアプリの寿命のあいだMacを起こし続けることはありません。実際にMacにインストールされているツールだけが提示され、Keepressoは時間の経過とともに各接続を再確認し、消えたり古くなったりしたフックを修復します。

しかし検知でカバーできるのは、Keepressoが認識方法を知っているエージェントだけであり、新しいものは毎週のように登場します。リースは向きを反転させます。Keepressoが推測するのではなく、エージェント自身が、いつ、何のために、どれくらいの間Macを起こしておく必要があるかをKeepressoに伝え、その後も自分が生きていることを証明し続けます。コマンドを実行するかMCPサーバーを呼び出せるツールであれば、名前に関わらず、内部でどう動いていても、これができます。この2つはうまく組み合わさります。検知はあなたが意識していない日常的なセッションをカバーし、リースは意図的な長時間ジョブや、検知では捉えられないすべてをカバーします。

keepresso startではなくリースを使う理由

keepresso startは手動スイッチとしては優れていますが、自動化では異なる保証が求められます。

  • 期限付き。 リースには、所有者が更新し続けなければならないTTLと、ハートビートでも決して延長できない最大寿命(上限7日)があります。暴走したジョブが上限を超えてMacを起こし続けることはできません。
  • 自己修復。 ハートビートがなければ、保持もありません。クラッシュしたスクリプトのリースは自ら失効します。
  • きれいに共有。 複数のツールが同時にリースを保持できます。Keepressoはそれらを統合し、最後の一つが終わった時点でMacをスリープさせ、その前ではなくそのときにセッション終了アクションを実行します。
  • 可視。 稼働中のリースはすべて、それを取得したツールとタスクの名前とともに、カウントダウン付きでメニューに表示されます。

リースのライフサイクル

ジョブの開始時にリースを取得します。id(UUID)を自分で選び、ツールとタスクに名前を付け、TTLを秒単位で設定します。

ID=$(uuidgen)
keepresso lease acquire --id "$ID" --tool my-script --task "nightly render" --ttl 600

TTLの半分が経過する前に、作業が続く限りループでハートビートを送ります。ハートビートではTTLを調整することもできます。

keepresso lease heartbeat --id "$ID"            # renew with the same TTL
keepresso lease heartbeat --id "$ID" --ttl 300  # renew and shorten it

ジョブが終わったら解放します。そうすればMacは残りのTTLを待たずに済みます。

keepresso lease release --id "$ID"

自分のものも他の誰かのものも含め、稼働中のリースを一覧表示します。

keepresso lease list --json

どのコマンドも--jsonで機械可読な出力を得られ、終了コードはスクリプト向けに作られています。0は正常、2はアプリが実行されていない、3はリースが見つからないか既に終了している、4は環境設定でリースがオフになっている、を表します。

リースは環境設定、自動化にあるスイッチで制御され、デフォルトでオンです。オフにすると、すべてのacquireが終了コード4で拒否されるため、自動化があなたの選択を上書きすることは決してできません。

メニューから見て、止める

稼働中のリースは、メニューパネルのステータスカードにそれぞれカウントダウン付きで表示されます。主導権はあなたにあります。Stopですべてを一度に終了でき、Macは再びスリープできるようになります。

カウントダウンが表示されたアクティブな自動化リースを含む Keepresso メニュー
メニュー内のアクティブなリース:タスク、ツール、カウントダウン。

エージェントにワンクリックで教える

これをすべてエージェントに手作業で説明する必要はありません。アプリバンドルには、keepressoコマンドラインとMCPサーバーの両方、そしてそれをいつ使うか(長いビルド、レンダリング、ダウンロード、夜間実行の前)まで、プロトコル全体をエージェントに教える既製のkeep-awakeスキルが付属しています。環境設定、自動化から、ディスクを経由してエージェントのスキルフォルダに直接インストールできます。スキルフォルダを持たないエージェント向けには、Keepressoが代わりにスキル全文を貼り付け可能な指示としてコピーします。エージェントに一度貼り付ければプロトコルが学習されます。あるいは、CLAUDE.mdAGENTS.mdのような、エージェントが常に読み込むグローバル設定ファイルに保存しておけば、今後のすべてのセッションが最初からMacをいつどう起こしておくかを把握します。自分で組み込みたい場合は、スキルはバンドル内のKeepresso.app/Contents/Resources/AgentSkill/keep-awakeにもあります。

Keepressoの自動化設定。Allow automation leasesスイッチがオン、Allow automation to change the wake scheduleがオフ、エージェント指示のコピー・MCPセットアップのコピー・スキルフォルダを表示するボタンを備える
自動化設定: リースのスイッチ、起床スケジュールのオプトイン、ワンクリックのエージェントセットアップ。

MCPサーバー

Model Context Protocolを話すエージェント向けに、バンドルにはkeepresso-mcpが付属しています。

/Applications/Keepresso.app/Contents/Helpers/keepresso-mcp

リースの取得、ハートビート、解放、一覧表示、Keepressoのステータスの読み取り、システムの起床スケジュールの読み取りを行うツールを公開します。MCPはオープンなプロトコルなので、これはコーディングエージェントに限りません。MCPに対応したあらゆるアプリが、作業中に自分のリースを保持してMacを生かし続けられます。環境設定、自動化には、Claude Code、Gemini CLI、Grok、Codex向けにコピーできるセットアップ用スニペットが用意されています。Claude Codeの場合は、コマンド一つで済みます。

claude mcp add keepresso -- /Applications/Keepresso.app/Contents/Helpers/keepresso-mcp

自動化向けの起床スケジュール(オプトイン)

自動化は、システムが次にいつ起床するようスケジュールされているかを読み取ることもでき、あなたが許可すれば、そのスケジュールを変更することもできます。

keepresso wake status                          # always allowed, for anyone
keepresso wake set --at "2026-07-24 07:30"     # one-shot wake
keepresso wake set --repeat MTWRF --time 07:30 # repeating wake
keepresso wake clear

読み取りは常に許可されています。スケジュールの変更は、環境設定、自動化自動化による起床スケジュールの変更を許可がオンのときにのみ動作します。これはデフォルトでオフです。起床スケジュールは、管理者ヘルパーが適用するシステム全体の変更だからです。MCPサーバーも、同じルールのもとで対応するツールを備えています。

スケジュールされたAI実行のためにMacを起こす

リースとCLIは、すでに実行中の作業をカバーします。しかしエージェントの作業の中には、後で実行されるようスケジュールされているものもあります。午前3時に実行するよう設定されたClaude Desktopのルーチン、毎晩のサイクルで動くCodexの自動化、このMacが必要なtokenstat.aiのジョブなどです。その時刻までにMacがスリープしてしまっていれば、実行はそのままスキップされます。

Scheduled AI runsは、スクリプトを書くことなくこの隙間を埋めます。環境設定、自動化、Scheduled AI runsの下でオンにし、起こしたいツールごとにスイッチを入れてください。Keepressoはそのツールがスケジュールした定期タスクを読み取り、それぞれの数分前にMacを起こし、ふたが閉じていても実行が行われるよう短い時間だけ起きたままにします。

Keepressoの Scheduled AI runs 設定。見つかったルーチンの一覧: Claude Desktopのタスク2件とCodexのタスク1件、それぞれ次回実行時刻と専用のスイッチがあり、その上に次の起床時刻と起きたままにする時間の幅が表示されている
Keepressoが見つけたルーチン。それぞれに専用のスイッチと次回実行時刻がある。

ツールをオンにするまで何もインポートされず、どのルーチンにも専用のスイッチがあるので、毎晩のレポートのためだけに起こし、それ以外は無視することもできます。一覧が空の場合、そのツールにはまだローカルの定期タスクがありません。

  • プラットフォームごとにオプトインします。 Claude Desktop、Codex、tokenstat.aiはそれぞれ初期状態でオフなので、使っていないものが起こされることはありません。Keepressoが読むのはスケジュールとタスク名だけで、プロンプトは読みません。
  • ローカルのスケジュールのみが対象です。 クラウドのルーチンはMacがスリープしていてもベンダーのサーバー上で実行されるため、対象外です。これはあなたのMacを起こす必要がある実行のための機能です。
  • **長時間の実行には、**リースと組み合わせてください。起床の時間枠で実行を開始させ、エージェントがリースを保持することで、作業が実際に終わるまでMacを起こしたままにできます。
ルーチンが見つからないScheduled AI runsペイン。Claude DesktopのRoutines、New routine、Localから追加するか、Codexで追加するよう案内し、クラウドのルーチンには起床が不要であることも記載されている
まだ起こす対象はない。ペインがローカルルーチンの追加場所を示す。

内部では、上記のCLIのkeepresso wakeコマンドと同じスケジュール起床の仕組みを使用しているため、管理者ヘルパーが必要で、AC電源では確実に動作します(バッテリー駆動ではファームウェアが起床を省略することがあります)。

必要なもの

  • リース、MCPサーバー、CLIの起床コマンドにはKeepresso 1.17以降、Claude DesktopとCodexのScheduled AI runsには1.18以降、tokenstat.aiのジョブと拡張されたエージェント検知には1.21以降が必要です。インストール手順ははじめにを参照してください。
  • DMGインストールでCLIを使う場合は、コマンドを一度リンクしてください。
  • 起床スケジュールの変更とScheduled AI runsには、管理者ヘルパーと上記のオプトインスイッチが必要です。

関連記事

Keepressoを入手

無料でオープンソース、macOS 14以降に対応。インストールして、自分のルールでMacをスリープさせないようにしましょう。

Keepressoの使い方の他の記事

Macを決めた時間だけ起こしておく
タイマー付きのスリープ防止セッションを開始すれば、ダウンロードやレンダリングの間だけMacを起こしておき、その後は自動でスリープさせられます。
MacBookをふたを閉じたまま起こしておく
無料でオープンソースのアプリで、バッテリー駆動で、外部ディスプレイも電源ケーブルもなしに、ふたを閉じたときにMacBookがスリープしないようにしましょう。
スマートトリガーで、必要なときだけ起こしておく
アプリの実行中、通話中、電源接続中など、条件を設定してKeepressoがMacを起こしておくようにしましょう。不要なときはオンになりません。
Zoom、Teams、Meetの通話中にMacがスリープしないようにする
ビデオ通話中は自動的にMacを起こしておき、ブラウザタブでの通話を含め、会議の途中でスリープしないようにしましょう。

人間が主導・確認 · AI支援コンテンツ · AIツールは下書き、編集、保守、文法や分かりやすさの改善に使うことがあります。自動公開は行わず、すべての変更を人間のメンテナーが確認します。