Vitalsが見ているものすべてを、ターミナルで。
vitalsと入力すれば、Macを使っているアプリ、各プロジェクトが使っているポートと開発サーバ、コーディングエージェント、AIプランの残りがわかります。読みやすい表、スクリプトで解析できるJSON。そして、あなたの許可なしには何も停止しません。
数値はシミュレーションです。WebページはMacの情報を読み取れませんし、読み取るべきでもありません。
アプリに付属し、Homebrewでも入手できます。
コマンドはVitalsの中に入っています。“設定”→“連携”で“AIアシスタントがVitalsに問い合わせることを許可”をオンにすると、Vitalsがvitalsを、マニュアルページとタブ補完とともにPATHに置きます。または、Homebrewの1行でアプリとコマンドをまとめてインストールできます。
/opt/homebrew/binまたは/usr/local/binにリンク- マニュアルページ:
man vitals - zsh、bash、fish用のタブ補完
- Homebrewの1行でアプリとコマンドをインストール
ウインドウに表示される内容を、表で。
vitals statusは、数値ごとに1行、バー付きで表示します。vitals topは、メモリ、CPU、電力、ディスク、ネットワークを最も多く使っているアプリを、今この瞬間、または最長1年間で一覧にします。ポート、プロジェクト、コンテナ、エージェント、AIの上限にもそれぞれコマンドがあり、どの答えにも計測した時刻が付きます。
- ウインドウと同じく、ヘルパーを合算したアプリ
- 数値ごとにアプリと同じ色
- ネットワークに開いているポートと、このMacだけに開いているポート
--watchで2秒ごとに答えを更新
スクリプトにはJSON、表計算にはCSV。
--jsonを付ければ、どの答えもスクリプトが読めるJSONになります。MCPサーバが返すものと同じ答えです。--csvは主なリストを表計算アプリ用に出力します。パイプでは何も切り詰められないので、スクリプトやエージェントはすべてを読めます。
- すべてのコマンドで
--json - 主なリストには
--csv - パイプではプレーンテキスト、切り詰めなし
- Vitalsが答えなかったときは終了コード1
何かを停止する前に確認します。
vitals can-quitは、何かを終了しても安全かどうか、その理由、一緒に止まるものを伝えます。vitals quitとvitals stopは、まずその判断を示し、あなたの許可を待ちます。人の判断が必要なものは、ターミナルがなければ--yesを付けても拒否されるので、スクリプトやエージェントが勝手に通すことはできません。
- “安全”“先に確認”“やめておく”を、理由とともに
stop --idleで、誰も使っていない開発サーバをすべて停止- アプリは⌘Qと同じように終了するので、保存を確認できる
- すべての終了は“設定”→“連携”に記録
インストール方法と、すべてのコマンド
“設定”→“連携”→“AIアシスタントがVitalsに問い合わせることを許可”。そこにある“ターミナル”セクションに、コマンドの場所が表示されます。
$ vitals version アプリとコマンドをまとめて。マニュアルページと、zsh、bash、fish用のタブ補完付き。
$ brew install --cask foredotstudio/tap/vitals | コマンド | わかること |
|---|---|
| vitals status [<part>…] | CPU、メモリ、GPU、Neural Engine、ディスク、ネットワーク、バッテリー、電力、熱を1行ずつ。または指定した項目だけ |
| vitals top [<by>] [<period>] [N] | メモリ、CPU、電力、ディスク、ネットワークを最も多く使っているアプリ。今、または1時間、1日、1週間、1か月、四半期、半年、1年の期間で |
| vitals app <name> | 1つのアプリ:そのプロセス、ポート、プロジェクト、コンテナと、ある期間に使った量 |
| vitals find <name|pid|:port> | 名前、PID、ポートでプロセスを検索 |
| vitals ports [<port>…] | どのポートで何がリッスンしているか。そのプロセス、アプリ、プロジェクトと、このMacだけに開いているかネットワークに開いているか |
| vitals projects [<name>] | 何かが実行中のプロジェクトフォルダ。そのポート、メモリ、CPUと、誰も使っていない開発サーバ |
| vitals containers [<name>] | Docker、OrbStack、Podman、Colimaで実行中のコンテナ。そのメモリ、CPU、ネットワーク、ポート |
| vitals agents [<name>] | いま実行中のコーディングエージェント:各セッションのプロジェクト、作業中かあなたを待っているか、起動したもの |
| vitals limits [<tool>] | 各AIプランの残り、各上限がリセットされる時刻、今のペースで持つかどうか |
| vitals awake | Macのスリープを妨げているもの |
| vitals battery | バッテリーと、電力を最も多く使っているアプリ |
| vitals history [<reading>…] [<period>] | ある期間にMacにどれだけ負荷がかかったか、そしてそれはいつか |
| vitals whats-wrong | Vitalsが気づいたこと:CPUを使い続けているアプリやメモリが増え続けているアプリ、メモリプレッシャー、熱、残されたままの開発サーバ |
| vitals can-quit [<app>] | 何かを終了しても安全かどうか。理由と、一緒に止まるもの付き。名前、--pid、--port、--projectで指定 |
| vitals quit <app> | 判断を示し、あなたの許可を得てからアプリを終了。--forceならすぐに終了 |
| vitals stop [<name>] | 自分のプロセスを同じ方法で停止。名前、--pid、--portで指定。--idleでアイドル状態の開発サーバをすべて停止 |
| vitals completions <shell> | zsh、bash、またはfish用のタブ補完 |
| vitals mcp | AIアシスタント向けに、標準入出力でMCPを話す |
| vitals help | すべてのコマンドとオプション |
| オプション | 動作 |
|---|---|
| --json | 答えをJSONで、スクリプト用に |
| --csv | 主なリストをCSVで、表計算用に |
| --watch | Control-Cを押すまで2秒ごとに更新。間隔を変えるには--every N |
| --no-color | プレーンテキスト。環境変数のNO_COLORでも同じ |
コマンドライン:これまでとVitals
macOSがターミナルに用意しているのはtopとpsです。どちらもプロセスを約1,000個も一覧にしますが、それぞれがどのアプリやプロジェクトのものかはわからず、昨日のことも何もわかりません。ポート3000を何が使っているかを調べるには、lsofでPIDを調べ、さらに別のコマンドでそのPIDが何かを確かめる必要があります。
コーディングエージェントもターミナルで動きます。何がMacを遅くしているのか、ポートで何が動いているのかを知りたいとき、エージェントは同じコマンドを実行し、その一覧から推測します。
vitalsは、代わりに実行中のVitalsアプリに問い合わせます。ヘルパーを合算したアプリ、ポート付きのプロジェクト、起動したもの付きのエージェント、残りがわかるAIプラン、最長1年分の履歴が、読みやすい表で、またはスクリプトで解析できるJSONで得られます。コマンド自体は何も計測しないので、問い合わせてもMacへの負荷はほとんどありません。
Vitalsのどこにあるか
タブ、メニューバー項目、設定を、使う順に並べました。
- 01
インストールする
“設定”→“連携”で“AIアシスタントがVitalsに問い合わせることを許可”をオンにすると、VitalsがコマンドをPATHにリンクします。フォルダにパスワードが必要な場合は、“インストール”ボタンで一度だけ求められます。Homebrewなら、
brew install --cask foredotstudio/tap/vitalsでアプリとコマンドをまとめてインストールできます。 - 02
問い合わせる
Mac全体は
vitals status、今日CPUを最も多く使ったものはvitals top cpu day、リッスン中のポートはvitals ports、コーディングエージェントはvitals agents、AIプランはvitals limits。vitals helpですべてのコマンドが一覧になり、man vitalsでそれぞれの説明を読めます。 - 03
スクリプトで使う
どのコマンドにも
--jsonを付けてjqにパイプするか、表計算用に--csvを付けます。--watchは、Control-Cを押すまで2秒ごとに答えを更新します。 - 04
必要ないものを停止する
vitals can-quit --port 3000は、そのポートを何が使っていて、停止しても安全かを伝えます。vitals stop --port 3000はあなたの許可を得てから停止し、vitals stop --idleは誰も使っていない開発サーバをすべて停止します。
topとps、1行に1プロセスvitals、1行に1アプリ、ヘルパーも合算lsofのあとでPIDを調べるvitals ports。プロジェクトと、誰が接続できるかもvitals agentsとvitals limitsvitals historyとvitals top、最長1年分kill、確認なし関連する用語
数値の意味を、アクティビティモニタ用語集から紹介します。
お問い合わせ
コマンドラインについて、購入前によく聞かれる質問。
Vitalsが動いている必要がありますか?
はい。コマンドは実行中のアプリに問い合わせます。アプリはすでに数値と履歴を記録しているので、問い合わせてもMacへの負荷はほとんどありません。Vitalsが動いていないときや、“AIアシスタントがVitalsに問い合わせることを許可”がオフのときは、コマンドがそう伝え、どうすればよいかを示します。
Homebrewでインストールするには?
brew install --cask foredotstudio/tap/vitalsを実行します。アプリがインストールされ、vitalsコマンド、そのマニュアルページ、zsh、bash、fish用のタブ補完がリンクされます。Vitalsは自分でアップデートするので、brew upgradeの対象にはなりません。
すでにVitalsを使っています。コマンドはどうすれば使えますか?
“設定”→“連携”で“AIアシスタントがVitalsに問い合わせることを許可”をオンにします。VitalsがvitalsをPATH上の/opt/homebrew/binまたは/usr/local/binにリンクし、そこにある“ターミナル”セクションに場所が表示されます。フォルダにパスワードが必要な場合は、“インストール”ボタンで一度だけ入力を求められます。
AIエージェントも使えますか?
はい。シェルを使えるエージェントならvitalsを実行して答えを読めます。パイプでは何も切り詰められません。ただし、人の判断が必要なものは停止できません。確認するためのターミナルがなければ、--yesを付けても拒否されます。
MCPサーバとは何が違いますか?
アプリへの接続は同じで、答えも同じです。コマンドにはquitとstopが加わり、ターミナルであなたに確認します。MCPで話すアシスタントは、代わりにVitals専用のウインドウで確認を求めます。そのサーバがvitals mcpです。
無料の試用期間でも使えますか?
はい。試用期間中は、コマンドも含めてVitalsのすべての機能が使えます。
タブ補完が使えるシェルは?
zsh、bash、fishです。アプリ名は実行中のものから補完されます。zshとfish用は、Vitalsがコマンドと一緒にインストールします。bashでは、.bashrcにeval "$(vitals completions bash)"を追加してください。Homebrewなら3つともインストールされます。
関連情報
これを使うガイドと、同じ目的で買われるアプリとVitalsの比較。