4 ポイント 投稿者 mssmss 3 시간 전 | まだコメントはありません。 | WhatsAppで共有

こんにちは。MacBookを閉じても(クラムシェルモード)AIエージェントが止まらず動き続ける
macOSメニューバーアプリを作ったので共有します。

最近、「AIコーディングブームでノートPCを閉じられないまま移動する開発者たち」(いわゆる
「ノートPCを開いて歩く」ミーム)のようなニュースが出ていました。
(https://www.donga.com/news/Economy/article/all/20260513/133913987/3)

まさに自分のことでした。移動中にエージェントへ作業を任せたまま席を離れなければならないことがあるのですが、
MacBookを閉じるとスリープして作業が途切れてしまっていました。
その記事では「caffeinateを使えばいいのでは」とも
言われていますが、実際にはcaffeinateをかけても外部ディスプレイなしでふたを閉じるとクラムシェルでスリープしてしまいます。
だからといって常時オンにしておくと、プロセスが生きているかしか見ないため、作業が終わっても起きたままになって発熱や
バッテリー消耗を招きます。既存の“コーヒー系(?)”アプリでは防ぎきれなかったり、防げても少し物足りませんでした。

そこで自分で作りました。

  • ふたを閉じてもスリープさせない — トグル1つ。ターミナルコマンドも、認証のやり直しも不要です。
  • 過熱・放電防止 — バッテリーと温度を監視し、設定値を超えると作業を休ませて
    MacBookがバッグの中で熱くなりすぎたり、バッテリー切れになったりするのを防ぎます。外部ディスプレイなしでふたを閉じた場合はより厳しく、
    Desktopモードでは緩めに — 状態に応じて基準が変わります。
  • プロセスではなく作業を検知 — エージェントの作業がとっくに終わっているのにクラムシェルのままだと、
    それもまたバッテリーの無駄と発熱につながります。実際に作業中かを検知して、作業が終われば自動で
    アイドルへ移行します(Strict)。プロセスが生きている限り起こし続けるLaxモードもあります。
  • 主要な5種類のエージェントを標準認識 — Claude Code · Codex · Cursor · opencode · Antigravity。
    ほかのエージェントもglobパターンや宣言ファイル1つで自分で追加できます。
  • リモート作業を認識 — SSH・画面共有・Tailscaleで接続中ならスリープせず、リモート作業が途切れません。
  • セキュリティ — 検知ではtranscriptファイルの更新時刻だけを読みます。内容は読みません。

そのほかCLI、名前付きセッション、Telegram通知(任意)、終了時にsleepを復元する三重の安全装置もあります。

技術スタックは外部依存なしのSwift + AppKit、電源制御はIOKit SPI
(IOPMSetSystemPowerSetting)、権限はSMAppServiceデーモンでhelperを1つ使用します。
Developer IDで署名済みです。Apple Silicon・macOS 13+(Ventura)専用です。

まだ開発段階なので荒い部分があります。
無料のオープンソースなので、使ってみてフィードバックをいただけると本当にありがたいです 🙏
「このエージェントも認識してほしい」というものがあれば教えてください。

まだコメントはありません。

まだコメントはありません。