Tout ce que voit Vitals, dans votre terminal.

Tapez vitals et obtenez les apps qui utilisent votre Mac, les ports et serveurs de dev de chaque projet, vos agents de code et ce qu’il reste de vos forfaits IA. Un tableau que vous pouvez lire, du JSON que vos scripts peuvent analyser, et rien d’arrêté sans votre accord.

Terminal — zsh
~ vitals status
● CPU 27% · Apple M4 Pro, 14 cores
● Memory 52.6 GB of 64 GB · pressure normal
● GPU 18%
● Disk 412 GB free of 1 TB
● Network down 1.2 MB/s · up 84 KB/s
● Battery 82% · 4h 10m left
● Heat CPU 52° · fans 1,800 rpm
~ vitals top memory 4
APP MEMORY CPU PROCS
Google Chrome 21.2 GB 48% 96
VS Code 8.2 GB 14% 31
Terminal 3.9 GB 3% 12
Figma 2.8 GB 6% 8
62 apps running · by memory
~ vitals ports
PORT PROCESS PROJECT OPEN TO
3000 node storefront-web network
4322 node docs-site this Mac
5432 postgres – this Mac
8080 python api this Mac
4 ports listening · 1 open to the network
~ vitals stop --idle
✓ Safe to quit node (48211) of docs-site · port 4322
Idle for 3 days. Stopping it frees 458 MB.
Continue? [y/N] y
Stopped node (48211). Port 4322 is free.
~ vitals agents
AGENT PROJECT STATUS MEMORY
Claude Code storefront-web working 412 MB
Codex api waiting for you 4m 287 MB
Gemini CLI docs-site working 198 MB
3 sessions · 6 processes started
~ vitals limits
TOOL LIMIT LEFT RESETS PACE
Claude 5-hour session 59% in 2h 10m on pace
Claude This week 72% Mon 9:00 on pace
Codex This week 38% Thu 14:00 runs out Wed
Cursor This month 81% Nov 3 on pace

Les chiffres sont simulés : une page web ne peut pas lire votre Mac, et ne devrait pas.

01Installer

Elle est fournie avec l’app, ou avec Homebrew.

La commande est dans Vitals. Activez Autoriser les assistants IA à interroger Vitals dans Réglages → Intégrations et Vitals place vitals dans votre PATH, avec sa page de manuel et la complétion par tabulation. Ou installez l’app et la commande ensemble avec une seule ligne Homebrew.

  • Liée dans /opt/homebrew/bin ou /usr/local/bin
  • Une page de manuel : man vitals
  • Complétion par tabulation pour zsh, bash et fish
  • Une ligne Homebrew installe l’app et la commande
~ brew install --cask foredotstudio/tap/vitals
==> Installing Cask vitals
==> Linking Binary 'vitals'
==> Linking Manpage 'vitals.1'
==> Linking Zsh Completion '_vitals'
🍺 vitals was successfully installed!
~ vitals version
vitals 1.8.0
Vitals is running and answering.
L’app et la commande, ensemble Ou depuis Réglages → Intégrations
02Lecture

Ce que montre la fenêtre, sous forme de tableau.

vitals status donne une ligne par relevé, avec une barre. vitals top liste les apps qui utilisent le plus de mémoire, de processeur, de puissance, de disque ou de réseau, en ce moment ou sur un an. Les ports, projets, conteneurs, agents et limites IA ont chacun leur commande, et chaque réponse indique l’heure de la mesure.

  • Les apps, utilitaires compris, comme dans la fenêtre
  • Chaque relevé dans la couleur de l’app
  • Quels ports sont ouverts au réseau, et lesquels à ce Mac seulement
  • --watch actualise la réponse toutes les deux secondes
~ vitals status
● CPU 27%
● Memory 52,6 GB of 64 GB
● GPU 18%
● Disk 412 GB free
● Battery 82%
Measured just now
Une ligne par relevé Dans les couleurs de l’app
03Scripts

Du JSON pour les scripts, du CSV pour les tableurs.

Ajoutez --json et chaque réponse devient du JSON qu’un script peut lire, la même réponse que donne le serveur MCP. --csv donne la liste principale pour un tableur. Dans un pipe, rien n’est coupé : un script ou un agent lit chaque mot.

  • --json sur chaque commande
  • --csv pour la liste principale
  • Du texte brut dans un pipe, rien de coupé
  • Code de sortie 1 quand Vitals n’a pas répondu
~ vitals top --json | jq '.apps[0]'
{
"name": "Google Chrome",
"memory_mb": 21709,
"cpu_percent": 48,2,
"processes_count": 96
}
~ vitals ports --csv > ports.csv
Du JSON qu’un script peut lire Du CSV pour un tableur
04Arrêt

Elle demande avant d’arrêter quoi que ce soit.

vitals can-quit dit si quelque chose peut être quitté sans risque, pourquoi, et ce qui s’arrêterait avec. vitals quit et vitals stop montrent d’abord ce verdict et attendent votre accord. Ce qui demande une personne est refusé sans terminal, même avec --yes : un script ou un agent ne peut pas le laisser passer.

  • Sans risque, demander d’abord ou non, avec la raison
  • stop --idle arrête chaque serveur de dev que personne n’utilise
  • Les apps quittent comme avec ⌘Q, et peuvent donc proposer d’enregistrer
  • Chaque fermeture est consignée dans Réglages → Intégrations
~ vitals stop --port 4322
✓ Safe to quit node (48211) of docs-site
Idle for 3 days. Stopping it frees 458 MB.
Continue? [y/N] y
Stopped node (48211).
~ vitals stop WindowServer
✗ Leave it alone WindowServer (615) of macOS
Un verdict avant tout arrêt Rien ne s’arrête sans votre accord
Référence

L’installation, puis chaque commande

Depuis l’app

Réglages → Intégrations → Autoriser les assistants IA à interroger Vitals. La section Terminal y indique où se trouve la commande.

$ vitals version
Avec Homebrew

L’app et la commande ensemble, avec la page de manuel et la complétion par tabulation pour zsh, bash et fish.

$ brew install --cask foredotstudio/tap/vitals
vitals help
Commandes
CommandeCe qu’elle répond
vitals status [<part>…] Processeur, mémoire, GPU, Neural Engine, disque, réseau, batterie, puissance et chaleur, une ligne chacun ; ou seulement les éléments que vous nommez
vitals top [<by>] [<period>] [N] Les apps qui utilisent le plus de mémoire, de processeur, de puissance, de disque ou de réseau, maintenant ou sur une heure, un jour, une semaine, un mois, un trimestre, six mois ou un an
vitals app <name> Une app : ses processus, ports, projets et conteneurs, et ce qu’elle a utilisé sur une période
vitals find <name|pid|:port> Un processus par nom, PID ou port
vitals ports [<port>…] Ce qui écoute sur quel port, avec son processus, son app et son projet, et s’il est ouvert à ce Mac ou au réseau
vitals projects [<name>] Les dossiers de projet où quelque chose tourne, leurs ports, leur mémoire et leur processeur, et les serveurs de dev que personne n’utilise
vitals containers [<name>] Les conteneurs en cours dans Docker, OrbStack, Podman ou Colima, avec leur mémoire, leur processeur, leur réseau et leurs ports
vitals agents [<name>] Les agents de code en cours : le projet de chaque session, si elle travaille ou vous attend, et ce qu’elle a lancé
vitals limits [<tool>] Ce qu’il reste de chaque forfait IA, quand chaque limite se réinitialise, et si elle tiendra à votre rythme actuel
vitals awake Ce qui garde le Mac éveillé
vitals battery La batterie, et les apps qui consomment le plus
vitals history [<reading>…] [<period>] À quel point le Mac a été sollicité sur une période, et quand
vitals whats-wrong Ce que Vitals a remarqué : les apps qui sollicitent le processeur ou grossissent en mémoire, la pression sur la mémoire, la chaleur et les serveurs de dev oubliés
vitals can-quit [<app>] Si quelque chose peut être quitté sans risque, avec la raison et ce qui s’arrêterait avec. Par nom, --pid, --port ou --project
vitals quit <app> Quitte une app après le verdict et votre accord. --force la ferme aussitôt
vitals stop [<name>] Arrête l’un de vos processus de la même façon, par nom, --pid ou --port ; --idle arrête chaque serveur de dev inactif
vitals completions <shell> Complétion par tabulation pour zsh, bash ou fish
vitals mcp Parle MCP sur l’entrée et la sortie standard, pour un assistant IA
vitals help Toutes les commandes et options
Options
OptionCe qu’elle fait
--json La réponse en JSON, pour un script
--csv La liste principale en CSV, pour un tableur
--watch Actualise toutes les deux secondes jusqu’à Contrôle + C ; --every N pour un autre rythme
--no-color Texte brut ; NO_COLOR dans l’environnement fait de même
Pourquoi c’est important

Ligne de commande, avant et après

macOS fournit top et ps au terminal. Tous deux listent des processus, un millier environ, sans savoir à quelle app ou à quel projet chacun appartient, et rien sur la veille. Trouver ce qui occupe le port 3000, c’est lsof, un PID, puis une autre commande pour savoir à quoi correspond ce PID.

Les agents de code travaillent aussi dans le terminal. Quand l’un d’eux veut savoir ce qui ralentit le Mac ou ce qui occupe un port, il lance les mêmes commandes et devine à partir de la liste.

vitals interroge plutôt l’app Vitals en cours. Vous obtenez les apps avec leurs utilitaires compris, les projets avec leurs ports, les agents avec ce qu’ils ont lancé, les forfaits IA avec ce qu’il en reste, et jusqu’à un an d’historique, sous forme de tableau à lire ou de JSON qu’un script peut analyser. La commande ne mesure rien elle-même, donc demander ne coûte presque rien à votre Mac.

Comment s’en servir

Où le trouver dans Vitals

L’onglet, l’élément de la barre des menus et le réglage, dans l’ordre où vous irez les chercher.

  1. 01

    Installez-la

    Activez Autoriser les assistants IA à interroger Vitals dans Réglages → Intégrations, et Vitals place la commande dans votre PATH. Si le dossier demande votre mot de passe, un bouton Installer le demande une fois. Avec Homebrew, brew install --cask foredotstudio/tap/vitals installe l’app et la commande ensemble.

  2. 02

    Posez vos questions

    vitals status pour tout le Mac, vitals top cpu day pour ce qui a le plus utilisé le processeur aujourd’hui, vitals ports pour ce qui écoute, vitals agents pour vos agents de code, vitals limits pour vos forfaits IA. vitals help liste toutes les commandes, et man vitals explique chacune.

  3. 03

    Scriptez-la

    Ajoutez --json à n’importe quelle commande et envoyez-la à jq par un pipe, ou --csv pour un tableur. --watch actualise la réponse toutes les deux secondes jusqu’à ce que vous appuyiez sur Contrôle + C.

  4. 04

    Arrêtez ce dont vous n’avez pas besoin

    vitals can-quit --port 3000 dit ce qui occupe le port et s’il peut être arrêté sans risque. vitals stop --port 3000 l’arrête après votre accord, et vitals stop --idle arrête chaque serveur de dev que personne n’utilise.

Comparaison

Ligne de commande : le Moniteur d’activité et Vitals

La comparaison complète se fait ligne par ligne. Voici les lignes côté ligne de commande.

Moniteur d’activité Vitals
Dans le Terminal
Moniteur d’activitétop et ps, un processus par ligne
Vitalsvitals, une app par ligne, utilitaires compris
Ports
Moniteur d’activitélsof, puis chercher le PID
Vitalsvitals ports, avec le projet et qui peut y accéder
Agents de code et forfaits IA
Moniteur d’activitéRien
Vitalsvitals agents et vitals limits
Le passé
Moniteur d’activitéRien
Vitalsvitals history et vitals top, jusqu’à un an en arrière
Pour les scripts
Moniteur d’activitéDu texte à analyser
VitalsDu JSON et du CSV pour chaque commande
Arrêter quelque chose
Moniteur d’activitékill, sans poser de question
VitalsD’abord un verdict, puis votre accord

Le vocabulaire

Ce que veulent dire les chiffres, tiré du lexique du Moniteur d’activité.

Questions

Celles qu’on pose sur ligne de commande avant d’acheter.

Vitals doit-il tourner ?

Oui. La commande interroge l’app en cours, qui garde déjà les relevés et l’historique, donc demander ne coûte presque rien à votre Mac. Si Vitals ne tourne pas, ou si Autoriser les assistants IA à interroger Vitals est désactivé, la commande le dit et indique quoi faire.

Comment l’installer avec Homebrew ?

Lancez brew install --cask foredotstudio/tap/vitals. Cela installe l’app et lie la commande vitals, sa page de manuel et la complétion par tabulation pour zsh, bash et fish. Vitals se met à jour tout seul, donc brew upgrade n’y touche pas.

J’ai déjà Vitals. Comment obtenir la commande ?

Activez Autoriser les assistants IA à interroger Vitals dans Réglages → Intégrations. Vitals place vitals dans votre PATH, dans /opt/homebrew/bin ou /usr/local/bin, et la section Terminal y indique où. Si le dossier demande votre mot de passe, un bouton Installer vous le demande une fois.

Un agent IA peut-il l’utiliser ?

Oui. Un agent qui a un shell peut lancer vitals et lire la réponse, et dans un pipe rien n’est tronqué. Il ne peut rien arrêter de ce qui demande une personne : sans terminal où poser la question, c’est refusé, même avec --yes.

En quoi est-ce différent du serveur MCP ?

C’est la même connexion à l’app, avec les mêmes réponses. La commande ajoute quit et stop, qui vous demandent confirmation dans le terminal. Un assistant qui parle MCP demande plutôt par la fenêtre de Vitals, et vitals mcp est ce serveur.

Fonctionne-t-elle avec l’essai gratuit ?

Oui. Tout Vitals fonctionne pendant l’essai, commande comprise.

Quels shells ont la complétion par tabulation ?

zsh, bash et fish, avec les noms d’apps complétés d’après ce qui tourne. Vitals installe celles de zsh et de fish avec la commande. Pour bash, ajoutez eval "$(vitals completions bash)" à votre .bashrc ; Homebrew installe les trois.

À lire ensuite

Les guides qui s’en servent, et Vitals face aux apps qu’on achète pour ça.

Encore plus de Vitals

Toutes les fonctionnalités

Lifetime à $15 tant que dure le prix de lancement

Plus que 50 à ce prix. Ensuite $39, ou $9 pour un an de mises à jour. Un seul paiement, remboursement sous 14 jours.

Obtenir Vitals pour $15