Control Strip(コントロールバー)は、ブラウザで開く exe の Mac OS 9 デスクトップで、左下に並んでいるタイルの列です。ウィンドウをひとつも開かなくても、Cloudflare のトンネルが動いているか、Tailscale がつながっているか、SOL がいまいくらか、Claude Code や Codex のプランをどれだけ使ったか、マシンがどれだけ忙しいかが、ここでわかります。

Mac OS 9 譲りのトレイ
Mac OS 9 にも、同じ隅に Control Strip がありました。exe の Control Strip は、実際に動いている Mac OS 9 の画面から、ピクセル単位で写し取ったものです。高さ 24 ピクセルの帯で、本家と同じく、ウィンドウの上に浮かんでいます。タイルをクリックするか右クリックすると、そのメニューが開きます。メニューでは、状態を見るだけでなく操作もできます。
何が並ぶかは、exe を動かしているマシンによって変わります。Tailscale のモジュールは Tailscale がインストールされているマシンにだけ、エージェントの使用量は Claude Code か Codex をインストールしてから、アクティビティは Linux でだけ現れます。右端のタブをクリックすると、Control Strip はタブだけに折りたたまれます。画面に収まりきらないほどタイルがあるときは、両端の矢印で列をスクロールできます。折りたたんだかどうかと、各タイルで選んだ内容は、ブラウザが覚えています。
Cloudflare:サイトが送り出しているもの
雲のアイコンに付いたランプは、トンネルが正常なら緑、確認が必要なときやまだ設定していないときは黄色、exe がまだ確認中のあいだはグレーになります。パソコンでは、その横に、このマシンのコネクタが 1 秒間に送り出しているバイト数が出ます。送り出しているのは、このマシンが返す応答、つまり訪問者がダウンロードするデータです。
メニューを開くと、トンネルの内側まで見えます。並ぶのは、まずレプリカの数とエッジへの接続数、次にこのマシン自身の接続数、処理中のリクエスト数、毎秒のリクエスト数、送受信のバイト数、リクエストの合計、オリジンのエラー数です。メニューを開いているあいだ、このマシンの数字は 5 秒ごとに、トンネル全体の数字は 30 秒ごとに更新されます。Cloudflare がエッジで集計した数字は、Analytics… で開く Analytics アプリで見られます。

Tailscale:ランプだけでなくスイッチも
Tailscale のモジュールは 9 つのランプが並んだパネルで、そのうち 4 つを Tailscale が使います。このマシンが tailnet につながっているあいだは、この 4 つが点灯します。tailnet は、Tailscale が自分のデバイス同士をつないで作るプライベートネットワークです。マシンのトラフィックが出口ノードを通って出ていくときは、ランプが青になります。出口ノードとは、トラフィックをインターネットまで運んでくれる、自分の別のデバイスのことです。ログインが必要になったときなど、何か確認すべきことがあれば黄色になります。Tailscale がオフのときは、すべてのランプが暗くなります。
設定はメニューから変えます。Tailscale Active と Tailscale Inactive で、Tailscale をオンとオフに切り替えます。OS 9 の AppleTalk Switch モジュールと同じく、今の状態を示す行に印が付く、2 行で 1 組の項目です。Exit Node では、出口ノードを提供している自分のデバイスから 1 台を選べます。同じサブメニューには Allow LAN Access(LAN へのアクセスを許可)もあります。Devices にはオンラインのデバイスが、Serve には Tailscale Serve のルールが並び、行を選ぶとそのアドレスがコピーされます。Accept Routes、Use Tailscale DNS、Shields Up、Tailscale SSH はスイッチで、ポインタを重ねると、それぞれの働きが表示されます。

デーモンはこうした変更を tailscale コマンドで行います。sudo は使わず、ほかには何も変えません。そのためには、exe を動かしているアカウントが Tailscale の operator になっている必要があります。デーモンは、デスクトップにどの経路でアクセスしているかも把握しています。デスクトップそのものを Tailscale 経由で開いているときに、Tailscale をオフにしたり Shields Up でシールドを上げたりしようとすると、先に確認を求めます。デスクトップへの接続まで切れてしまうからです。Allow LAN Access がオフのまま、ローカルネットワーク経由でデスクトップを開いているときに出口ノードを選ぶ場合も、同じように確認を求めます。
ティッカーと、すべてのプッシュ通知のスイッチ
ティッカーには、SOL、PUMP、MET、SKR のうちメニューで選んだもののコインと、そのドル建ての価格が表示されます。メニューには 4 つすべてが 1 日の変動率とともに並び、SOL 以外の 3 つには SOL 建ての価格も付きます。SOL 建ての価格でゼロが長く続くときは、ゼロの個数を小さな数字で示します。0.00003717 SOL なら 0.0₄3717 SOL です。価格は Coinbase の現物価格で、デーモンが 1 分に 1 回取得し、マシン上のすべてのデスクトップで共有します。Coinbase に価格がないものは、Jupiter の価格で補います。
デスクトップをひとつも開いていなくても、デーモンは見張りを続けます。Notify Me of Big Moves(大きな値動きを通知)を選ぶと、そのトークンにしては珍しい値動きがあったときに、スマートフォンやパソコンに通知が届きます。SOL なら 1 時間で 2.5%、または 1 日で 6% の値動きが条件です。PUMP は 5% か 12%、MET は 6% か 15%、SKR は 8% か 25% です。アラートが出るのは、価格を取得できたチェックで 2 回続けてしきい値を超えたときだけです。
アラートは、1 つのトークンにつき 24 時間で最大 4 回です。荒れた日には、あとのアラートほど大きな値動きが必要になります。2 回目はしきい値の 1.5 倍、3 回目と 4 回目は 2 倍です。この上限のために見送られた値動きは、1 日以内のものであれば、次のアラートにまとめて含まれます。同じトークンのアラートは積み重ならず、新しいものが前の通知を置き換えます。Recent Moves(最近の値動き)には、直近の 8 件が並びます。

exe が送るプッシュ通知は、すべてこの Notify Me of Big Moves ひとつでオンとオフを切り替えます。通知ごとの設定はありません。オンにしておくと、デーモンは Weather アプリのいちばん上にある都市の空も見張り、1 時間以内の雨、危険な暑さ、強風、火災が起きやすい天候を知らせます。デスクトップのセッションでターンが終わったときも、そのセッションで最後に入力してから 1 分以上たっていれば、Claude Code finished か Codex finished と知らせます。さらに、マシン上のスクリプトから、好きな文面を送ることもできます。
$ curl -s 127.0.0.1:7777/v1/push \
-d '{"title":"Backup",
"body":"Done."}'
エージェントの使用量:消費したトークン
エージェントの使用量メーターは、Claude Code か Codex がこのマシンで今日使ったトークン数を示します。Show Plan Limit(プランの上限を表示)を選ぶと、タイルには代わりに、そのエージェントの使用枠のうちいちばん埋まっているものが「46% wk」のように表示されます。これで、上限が一日中目に入ります。
メニューには 2 つのエージェントが今日のトークン数とともに並び、5 時間枠と週の枠が列をそろえて表示されます。各エージェントのサブメニューには、詳しい内訳があります。今日と直近 7 日間のトークンは、入力、キャッシュ、出力に分けて示されます。1 週間は 1 日 1 本の棒グラフで表され、いちばん多かった日と今日には数字が付きます。それぞれの枠がどれだけ埋まっていて、いつリセットされるかもわかります。

デーモンは、各 CLI 自身のログ、つまり Claude Code の transcript と Codex の rollout から数えます。そのため、デスクトップから開いたセッションだけでなく、自分のターミナルで動かしたセッションも数に入ります。Claude Code の使用枠の値は、デスクトップの Claude Code ウィンドウで最後に応答があった時点のものです。Codex の使用枠は ChatGPT へのサインインを通じて取得し、ふだんは多くても 1 分に 1 回確認します。確認できないときは、Codex 自身のログから読み取ります。
アクティビティ:マシンそのもの
最後のモジュールは、このマシンの状態をグラフにします。CPU、メモリ、GPU、ネットワーク、ディスクを、2 秒ごとにサンプリングします。タイルには、そのうちのひとつについて、直近 1 分のグラフと現在の値が表示されます。メニューには 5 つすべてが直近 4 分間(スマートフォンでは 2 分間)のグラフで並び、グラフは見ているあいだも動き続けます。行を選ぶと、その項目がタイルに表示されます。

CPU の行には、全コアに対する使用率と、いちばん温度の高いセンサーの温度が出ます。GPU の行には、nvidia-smi から得た使用率、温度、消費電力が出ます。nvidia-smi のないホストには、GPU の行はありません。Network と Disk は、物理的なネットワークインターフェースとディスクだけを数えます。VM がたくさん動いているマシンでは、これが大事です。VM のトラフィックは、その VM の tap デバイス、ブリッジ、ネットワークカードを通ります。ネットワークカードだけを数えれば、どのバイトもちょうど 1 回ずつ数えられます。
デーモンがサンプリングするのは、デスクトップが値を読んでいるあいだだけです。サンプリングは Control Strip が開くと始まり、最後のデスクトップで Control Strip が折りたたまれるか、そのデスクトップが非表示になってから 10 分たつと止まります。
試してみる
自分の exe のデスクトップで、次の手順を試してください。
- ティッカーをクリックして、Notify Me of Big Moves を選びます。ブラウザに尋ねられたら、通知を許可します。
- 同じメニューで Send a Test Notification(テスト通知を送信)を選び、通知が届くのを確かめます。
- エージェントの使用量メーターをクリックして、Show Plan Limit を選びます。
- Linux なら、アクティビティのタイルをクリックして、画面の隅に出しておきたい項目を選びます。
スマートフォンでは、先にデスクトップをホーム画面に追加してください。スマートフォンへの通知は、そのアプリに届きます。各モジュールの詳しい説明はマニュアル(英語)に、通知についてのそのほかの説明は Notifications: turn them on(通知をオンにする)にあります。