你的编程代理,以及它们启动的一切。

Claude Code、Codex、Gemini CLI等会按名称显示在“代理”标签页中,附上各自所在的项目、是在工作还是在等你,以及它启动的每个开发服务器、浏览器和工具服务器。退出会话,这些都会一起关闭。

代理 2个会话 · 1.79 GB · CPU 66%
0%
Claude
本周
合拍 · 余量10%
0%
Codex
5小时会话
3h 12m后重置
0%
GitHub Copilot
高级请求
按此速度4d后用完
0%
Cursor
本计费周期
12d 5h后重置
Checkout flow tests 工作中 在等你
Claude Code · storefront · 已运行48 min
410 MB
已启动 · 4 退出会话…
vitest 命令 · CPU 61% 520 MB
node 服务器 · 端口3,001 240 MB
Google Chrome for Testing 浏览器 310 MB
mcp-server-fetch 工具服务器 64 MB
Codex 闲置48分钟
docs · 在Terminal中 · 未启动任何内容
290 MB

这些数字是模拟的:网页读取不了你的Mac,也不应该读取。

01会话

每个会话都按运行它的代理显示,而不是node。

Claude Code、Codex、Gemini CLI等都按名称列出,附上各自所在的项目、运行了多久,以及是在工作、在等你回复还是空闲,这样你就能看出三个会话中哪个真正需要你。

  • Claude Code、Codex、Gemini CLI、Aider、OpenCode、Cursor、Copilot、Amp、Kiro和Goose
  • 项目文件夹,以及运行了多久
  • 工作中、在等你,或空闲
  • 整个会话的内存和CPU,包括帮助程序
会话状态运行时长内存
Claude Codestorefront工作中1小时12分钟1.2 GB
Codexdocs等待中22分钟640 MB
Cursorlanding工作中48分钟890 MB
OpenCodeapi空闲5分钟310 MB
按代理显示,不是node或python 在等你
02它启动了什么

服务器、浏览器和测试,归在启动它们的会话下。

代理会启动一些东西来检查自己的工作。Vitals把它们列在所属的会话下,各附内存和CPU,所以当你的Mac突然变忙时,你能清楚看到是哪个对话造成的。

  • 开发服务器、无头浏览器、测试运行和工具服务器
  • 各附内存和CPU
  • 在“项目”标签页中,同样的东西也会归在所属项目下
  • 一小时前关掉的会话仍然能找到,连同它留下的东西
Claude CodestorefrontWorking · 1 h 12 m
next dev开发服务器,:3000412 MB2%
Chromium无头浏览器1.1 GB31%
vitest测试,2个工作进程380 MB38%
mcp-server工具服务器48 MB0%
会话及其启动的内容3.1 GB · 71%
归在启动它的会话下 在“项目”中也归在storefront下
03退出

退出一次,不留孤儿进程。

退出会话,它启动的一切都会一起关闭,包括服务器和浏览器,所以关掉的对话不会在端口3000上留下一个进程,也不会在一个你看不见的浏览器里占着2 GB内存。Vitals会给你看这份列表,并先询问你。

  • 关闭之前,你能看到哪些会关闭
  • 服务器、浏览器和测试随会话一起关闭
  • 每次都先询问
  • 对已停止响应的代理使用强制退出
要退出这个Claude Code会话吗?
它启动的一切都会一起关闭。
next dev在:3000上
Chromium无头
vitest2个工作进程
取消退出
说明哪些会关闭 不留孤儿进程
04下拉面板

不打开窗口,也能查看你的代理。

菜单栏下拉面板中有一个“代理”标签页,显示你的套餐和会话;“概览”中有一张“代理”卡片;通过MCP询问的助手会被告知每个会话属于哪个对话。

  • 菜单栏下拉面板中的“代理”标签页
  • “概览”中的“代理”卡片
  • 你的AI套餐显示在会话上方
  • 通过MCP,助手可以知道某个会话属于哪个对话
概览内存项目代理容器
62%本周 38%5小时会话 套餐
Claude Codestorefront工作中 · 1小时12分钟
Codexdocs在等你
Cursorlanding工作中 · 48分钟
菜单栏中点一下即可 套餐显示在会话上方
为什么重要

编程代理:之前与之后

编程代理从来不是一个进程。Claude Code以node运行,启动一个开发服务器来检查工作,一个无头Chromium来查看效果,一个测试运行器,一两个工具服务器,每条命令还有一个shell。在活动监视器里,这就是十几行叫node、Chromium和zsh的东西,没有一行说明是哪个对话启动了它们,也看不出那个对话是否还开着。

于是你的Mac变忙了,列表里却没有谁承认。一小时前关掉的会话,可能还在端口3000上留着一个服务器,还有一个浏览器占着2 GB内存。开着三个会话时,那个已经等你回复二十分钟的,看起来和另外两个正在工作的一模一样。

“代理”标签页按运行它的代理列出每个会话,附上项目、是在工作、在等你还是空闲、运行了多久,以及它启动的一切,都列在下面,各附内存和CPU。退出会话,这些都会一起关闭。菜单栏下拉面板中也有同样的标签页,“概览”中有一张“代理”卡片,通过MCP询问的助手会被告知某个会话属于哪个对话。

使用方法

在Vitals中的位置

标签页、菜单栏项和设置,按你会用到的顺序排列。

  1. 01

    打开“代理”标签页

    它在窗口中、菜单栏下拉面板中,也作为卡片出现在“概览”中。每个正在运行的会话占一行,以代理命名,并附上项目文件夹。

  2. 02

    查看会话

    这一行会告诉你代理是在工作、在等你还是空闲,运行了多久,以及用了多少资源。展开后会列出它启动的一切:开发服务器、浏览器、测试、工具服务器,各附内存和CPU。

  3. 03

    退出会话,连同它启动的一切

    点按会话上的“退出”。Vitals会告诉你哪些会关闭,并先询问你。服务器、浏览器和其他东西都会随之关闭,而不是作为孤儿进程继续运行。

  4. 04

    通过你的助手询问

    通过MCP,Claude、Codex或Cursor可以询问哪些会话正在运行、每个属于哪个对话,并得到同样的列表,附上测量时间。

对比

编程代理:活动监视器与Vitals

完整对比会逐项列出。以下是与编程代理有关的几项。

活动监视器 Vitals
一个编程代理
活动监视器叫node、python和zsh的行
VitalsClaude Code、Codex、Gemini CLI,按名称显示
它启动了什么
活动监视器散落在列表各处
Vitals列在它的会话下,附内存和CPU
在工作还是在等待
活动监视器无从得知
Vitals工作中、在等你或空闲,以及持续多久
退出
活动监视器一次一个进程
Vitals会话和它启动的一切,一起关闭
菜单栏
活动监视器无
Vitals下拉面板中的“代理”标签页,“概览”中的卡片

背后的术语

这些数字是什么意思,摘自活动监视器术语表。

问题

购买前,大家关于编程代理最常问的问题。

Vitals能识别哪些编程代理?

Claude Code、Codex、Gemini CLI、Aider、OpenCode、Cursor、GitHub Copilot、Amp、Kiro和Goose。每个正在运行的会话都会显示它的项目、是在工作还是在等你,以及它启动的一切。

为什么其他工具把代理显示为node或python?

因为代理就运行在那个进程里。Vitals按命令识别代理,所以Gemini CLI虽然运行在node中,仍显示为Gemini CLI,Aider虽然运行在python中,仍显示为Aider。

Vitals会自己停止代理吗?

不会。只有你要求时它才会退出会话,而且在关闭任何东西之前,会先告诉你哪些会关闭。

Vitals会读取代理正在处理的内容吗?

它只读取进程、所在文件夹和它启动了什么,不涉及你的代码或对话。你运行的任何内容都不会离开你的Mac。

它会显示会话已经运行了多久吗?

会。每个会话都会显示它运行了多久,以及此刻是在工作、在等你,还是空闲。

退出会话时,开发服务器会怎样?

它会随会话一起关闭,代理启动的浏览器、测试和工具服务器也一样。关闭之前你会先看到这份列表。

它能看到Cursor、VS Code或Claude App里的代理吗?

能。Cursor和GitHub Copilot的会话会按名称显示,Claude Code也一样,无论它是在终端里运行还是在Claude App里运行。Vitals按命令识别代理,所以它们在哪个窗口里运行并不重要。

它会统计代理用了多少Token吗?

对于Claude Code和Codex,会:今天和本周用了多少、用在了哪里、哪些模型用的,数据来自这些工具保存在你Mac上的日志。

继续阅读

用到它的指南,以及Vitals与大家为此购买的App相比如何。

Vitals的更多功能

全部功能

趁首发价还在,以$15购买Vitals

此价位剩余50份。 常规价格为$39。一次付款,终身更新,14天内可退款。

购买Vitals $15