AI Shell Switch

Trust Driven System Labs の実験的プロダクトです。v1.3 · オープンソース(MIT)

AI Shell Switch のアプリアイコン

ローカルAIを走らせているあいだ、
Macを眠らせないでおく。

AI Shell Switch は、macOSのスリープ設定を切り替えるだけの小さなユーティリティです。長時間のローカルAI処理やビルドの途中でMacがスリープして止まってしまう——それだけを防ぎます。AIを起動したり、監視したりはしません。終わったらOFFにすれば、いつものスリープに戻ります。

  • macOS 13以降
  • Apple Silicon
  • MIT License
  • アカウント不要

署名済みアプリの配布ではありません。ソースを取得して、自分のMacでビルドして使います(手順はこちら)。macOS専用のツールで、Windowsでは動きません。

アプリの操作画面(HTMLで再現したもの。実際の表示はmacOSの設定により多少異なります)

何をするのか

扱うのは、macOSがもともと持っているスリープ設定(SleepDisabled)ひとつだけです。ONにするとスリープを止め、OFFにすると元に戻す。それ以上のことはしません。

  • Macアプリ・メニューバー・CLIのどこから操作しても、同じ設定値を読み書きします。UIとターミナルで状態が食い違いません。
  • AIタスクの起動・監視・スケジューリングは行いません。
  • データはMacの外に出ません。ネットワーク通信も計測もありません。

スリープ禁止そのものは、macOSだけでもできます

pmsetcaffeinate を使えば、Macのスリープはもともと止められます。ただ、止めたまま戻し忘れると、発熱やバッテリーの消耗が静かに進みます。

だから AI Shell Switch は、止める機能ではなく「切り替えやすさ」を中心に作っています。ai-onai-off のひとことで確実に行き来できて、いまの状態はアプリでもメニューバーでも確認できる。ONの条件は絞り、OFFはいつでもできる。長時間処理を日常的に回すほど、この差が効いてきます。

ターミナルからも同じことができます

コマンドは5つだけです。スクリプトやエージェントのワークフローにそのまま組み込めます。

$ ai-status
AIクラムシェル運転: READY
電源: AC Power
$ ai-on
ai-on
スリープを止める(AC電源接続中のみ)
ai-off
いつものスリープに戻す
ai-toggle
ONとOFFを切り替える
ai-status
いまの状態と電源を表示する
ai-doctor
動作環境を診断する

安全のために決めていること

スリープを止める機能は、使い方しだいで発熱やバッテリーの消耗につながります。そこで、最初から次の3つを決めています。

  • ONにできるのは、AC電源につながっているときだけ。バッテリー駆動中に新しくONにすることはできません。
  • OFFはいつでもできます。ショートカット ⌃⌥A で、すぐにいつものスリープへ戻せます。
  • 管理者権限で実行するのは pmset の SleepDisabled(0と1)だけ。ほかのコマンドは許可していません。

インストール

Xcode Command Line Tools を使って、自分のMacでビルドします。手順は3つです。

  1. 開発ツールを入れる(すでにあればスキップ)

    xcode-select --install
  2. ソースを取得する

    git clone https://github.com/sheer-jp/ai-shell-switch.git
  3. ビルドして起動する

    cd ai-shell-switch
    ./install.sh

ZIPでダウンロードした場合は ~/Downloads/ai-shell-switch-main に移動して ./install.sh を実行してください。

いまはまだ、Developer IDでの署名やAppleによる公証を行っていない、ソース配布の段階です。初回起動時にmacOSの確認が出ることがあります(Appleの解説)。ソースはすべて公開しているので、中身を確かめてからビルドできます。

知っておいてほしいこと

  • macOS専用です。WindowsやLinuxには対応していません。
  • ON中は電源アダプタにつなぎ、通気を確保してください。
  • フタを閉じた状態(クラムシェル)での実際の動作は、機種・macOSのバージョン・電源・外部ディスプレイの有無などの条件で異なります。
  • Labsの実験的プロダクトとして公開しています。完成品のアプリ配布ではありませんが、壊れたら直します。気づいたことは GitHubのIssue へどうぞ。