更新日志/Vitals 1.11

Vitals 1.11:为开发者准备的Vitals

Atta 🐬

Vitals创始人

发布于

简要回答

Vitals 1.11是为开发者准备的。“项目”标签页现在变成了“开发者”,有五个部分:“项目”“端口”“打开的文件”“容器”和“Homebrew”。它按来源项目显示正在运行的东西,显示每个正在使用的端口、占用它的是什么和谁能访问它,让磁盘无法推出的App,以及Homebrew装了却从不运行的软件包。同样的答案在vitals命令中和你的AI助手那里也有。你不同意,什么都不会被停止、退出或卸载。

一个标签页,看你正在运行的一切

开发者取代了“项目”标签页,“容器”也并入其中。顶部有五个部分,各带一个数字:项目、端口、打开的文件、容器和Homebrew。

“项目”把每个进程列在启动它时所在的项目下,附上启动它的App(比如“终端”或Codex)、端口,以及CPU和内存。闲置的开发服务器会被指出,带有停止它…,并说明停止后能释放什么。展开一个项目,即可看到每个进程列在它的父进程下面。

“开发者”标签页的“项目”部分:四个项目正在运行,显示它们的内存、CPU、进程和开放的端口,一条提示说docs开发服务器已闲置并占着260 MB,以及每个项目的端口、启动它的App和文件夹 “开发者”标签页的“项目”部分:四个项目正在运行,显示它们的内存、CPU、进程和开放的端口,一条提示说docs开发服务器已闲置并占着260 MB,以及每个项目的端口、启动它的App和文件夹

Docker或其他容器引擎运行时,会出现“容器”部分。

每个正在使用的端口,以及谁能访问它

端口按组列出Mac上有东西在监听的每个端口:你的项目、闲置的开发服务器、Homebrew服务,以及App、程序和macOS。每一行都会说出占用端口的是什么、从哪里运行,以及已经运行了多久。

每一行还会说明谁能访问它。这台Mac表示只有这台Mac上的程序能连接。网络表示你网络上的其他设备也能连接,对开发服务器来说,这一点值得知道。

“端口”部分:32个端口在使用,七个由你的项目占用,四个向网络开放,一个Homebrew服务和一个闲置的开发服务器,下面是每个端口及其程序、项目,以及“这台Mac”或“网络” “端口”部分:32个端口在使用,七个由你的项目占用,四个向网络开放,一个Homebrew服务和一个闲置的开发服务器,下面是每个端口及其程序、项目,以及“这台Mac”或“网络”
  • 在浏览器中打开会在localhost上打开这个端口。
  • 退出会在询问后停止占用端口的东西。
  • 被同一个程序占用的一段端口,比如24015到24034,只占一行。

推出那个推不出的磁盘

macOS会说磁盘正在使用中,却不说是被什么占用。打开的文件把每个磁盘显示为一张卡片,附上用了多少空间、上面打开了多少文件,以及已使用或可以推出。磁盘下面是占用它的App,附上各自打开的文件,以及哪些正在写入。

  1. 01 打开“开发者”标签页,选择打开的文件。Vitals会替你选中第一个外置磁盘。
  2. 02 点按推出。如果磁盘正在使用中,Vitals会说出它要退出的App,并先问你。
  3. 03 你同意后,它会像⌘Q那样退出它们,推出磁盘,并告诉你可以安全拔下了。
“打开的文件”中有三个磁盘:Macintosh HD、标为“已使用”的T7和标为“可以推出”的Photos,下面是占用T7的三个App:Xcode、“音乐”和“终端”,附上各自打开的文件,以及哪些正在写入 “打开的文件”中有三个磁盘:Macintosh HD、标为“已使用”的T7和标为“可以推出”的Photos,下面是占用T7的三个App:Xcode、“音乐”和“终端”,附上各自打开的文件,以及哪些正在写入

要查找某个文件,按⌘F并输入它名称的一部分。打开了它的东西都会列出来,不论在哪个磁盘上;废纸篓说项目正在使用中时,这也能给出答案。

Homebrew:装了什么,哪些从不运行

Homebrew列出你按名称安装的软件包,每个都附上版本、在磁盘上的大小,以及Vitals上次看到它的程序运行的时间。未见运行列出你装了却从没运行过的软件包,以及它们一共占用的空间。

“Homebrew”部分:已安装13个软件包,占用1.07 GB,三个从未见运行,两个更新,用“清理”可释放2.84 GB,以及每个软件包的版本、上次运行时间和大小 “Homebrew”部分:已安装13个软件包,占用1.07 GB,三个从未见运行,两个更新,用“清理”可释放2.84 GB,以及每个软件包的版本、上次运行时间和大小
  • 更新显示已安装的版本和新版本,每个都有升级,还有一键全部升级的全部升级…。
  • 可释放是Homebrew的旧版本和下载文件占用的空间。清理…会移除它们。
  • 包括依赖项会加上其他软件包需要的软件包,每个都附上依赖它的软件包。

Homebrew服务,带“开始”和“停止”

服务列出每个Homebrew服务,显示是否在运行、登录时是否启动,以及是否以root身份运行。每个服务都有开始、停止和重新启动,服务的端口在“端口”部分中。

Homebrew的“服务”列表:postgresql@16和redis正在运行且登录时启动,sing-box以root身份运行,cloudflared没有运行 Homebrew的“服务”列表:postgresql@16和redis正在运行且登录时启动,sing-box以root身份运行,cloudflared没有运行

从菜单栏

下拉面板的“开发者”标签页中有项目、端口和容器。其他设备能访问的端口排在最前面,闲置的开发服务器带一个月亮,点按一行就会在窗口中打开它。

下拉面板中“开发者”标签页的“端口”:32个端口在使用,四个向你的网络开放,以及每个程序及其项目和端口 下拉面板中“开发者”标签页的“端口”:32个端口在使用,四个向你的网络开放,以及每个程序及其项目和端口

卡住的命令和闲置的终端

编程代理启动的命令有时会挂住,而代理会一直等它,什么也不说。当某条命令十分钟没有使用CPU和磁盘时,它的会话会在“代理”标签页中标为卡住,命令旁边有退出。代理启动的开发服务器或工具服务器永远不会算作卡住。

开着却没有东西在运行、一小时内也没有输入或输出的终端窗口,会作为闲置的终端列在“项目”下,每个都有结束。

内存报告,以及每个标签页都能导出

两种方式,把Vitals显示的内容带到别处。

  • 内存报告在App的导出菜单中,它会在“下载”中为App的开发者生成一个文件夹:App当前和最高的内存,按小时和按天,它的每个进程,一张图表,以及CSV格式的数据。你还可以加上macOS日志中这个App的记录。Vitals不会发送任何内容;这个文件夹归你,可以附到错误报告中。
  • 导出现在出现在每个标签页的工具栏中,带有存储为图像和拷贝图像。“代理”的图像不包含你的会话,账户的电子邮件只显示首字母。

在“终端”中

vitals命令也有这些新部分,可以显示为表格,或用--json输出为JSON。

$ vitals ports
$ vitals files
$ vitals homebrew
$ vitals homebrew --not-seen
$ vitals homebrew --updates

问你的AI助手

Claude、Codex和Cursor可以通过三个新工具ports、open_files和homebrew,向Vitals询问端口、打开的文件和Homebrew。每个工具在“设置”→“集成”的“共享内容”下都有自己的开关。先查看端口的助手,可以直接用已经在运行的开发服务器,而不是再启动一个。

  • 端口3000上是什么?其他设备能访问它吗?
  • 是什么让我的外置磁盘推不出?
  • 哪些Homebrew软件包我从来没运行过?
  • 这个项目的开发服务器已经在运行了吗?

选择Vitals读取什么

“设置”中新增了读数页面,有三个开关:读取温度和风扇、读取容器和留意闲置的开发服务器。关闭其中一项,Vitals就完全不再读取它,适合由其他App控制风扇或从不用Docker的Mac。

常见问题

1.11是免费更新吗?

是的。在Vitals中选取“检查更新”。“开发者”标签页包含在每种许可证中。

我不是开发者,对我有什么变化吗?

Vitals的其他部分保持原样。任何遇到外置磁盘推不出的人都用得上“打开的文件”,“端口”则会显示你Mac上哪些程序能被其他设备访问。

“项目”和“容器”标签页去哪了?

它们现在都是“开发者”标签页中的部分,在标签页顶部。下拉面板中也把它们放在了“开发者”标签页下。

Vitals会自己改动Homebrew中的东西吗?

不会。它只读取brew报告的内容。只有你点按某个按钮时,它才会运行brew命令:“升级”“清理”“卸载”,或服务上的“开始”“停止”和“重新启动”。

为什么“打开的文件”没有显示我确定打开着的文件?

有些App会把文件读进内存后马上关闭它,所以没有东西占用它。macOS自己占用的文件(比如“聚焦”的)需要在“设置”→“权限”中打开“完整系统指标”。

它会误退出什么东西吗?

“退出并推出”会说出它要退出什么,并等你同意。App会像按⌘Q那样退出,所以有未存储内容的App仍然可以请你存储。

1.11的全部内容

Vitals 1.11是免费更新。在Vitals中选取“检查更新”,或从vitalsmac.com下载。

购买Vitals $29 第一次用Vitals? 首发期间$29即可终身使用,首发期后$49,一次付款,14天内可退款。或一年更新$15。
  • 新增 “开发者”标签页。 “项目”现在变成了“开发者”,顶部有五个部分:“项目”“端口”“打开的文件”“容器”和“Homebrew”。下拉面板中有“项目”“端口”和“容器”。
  • 新增 端口。 Mac上每个正在使用的端口,以及占用它的是什么:你的某个项目、某个App、某个Homebrew服务或macOS。每个端口都会说明谁能访问它,是只有这台Mac还是整个网络,并带有“在浏览器中打开”和“退出”。闲置的开发服务器会被指出。
  • 新增 打开的文件。 每个磁盘一张卡片,显示在上面打开了文件的App,以及能否推出。磁盘推不出时,“退出并推出”会说出占用它的是什么,问过你之后退出它们并推出磁盘。按文件名过滤,就能看到是什么打开了这个文件。
  • 新增 Homebrew。 每个软件包的大小和上次运行时间,从未见运行的软件包及其占用的空间,带“升级”和“全部升级”的更新,清理能释放多少,以及每个服务的“开始”“停止”和“重新启动”。
  • 新增 进程是谁的。 项目会说出启动其进程的App,比如Codex或“终端”,并把每个进程列在它的父进程下面。下面还有其他进程的进程可以折叠,过滤可以按名称、进程或端口找到项目。
  • 新增 卡住的命令和闲置的终端。 编程代理启动的命令如果十分钟毫无动静,它的会话就会标为卡住,旁边有“退出”。没有东西在运行、一小时内也没有输入的终端窗口会列在“项目”下,带有“结束”。
  • 新增 内存报告。 App的导出菜单可以为App的开发者生成一份报告:它当前和最高的内存,按小时和按天,它的每个进程,一张图表,CSV格式的数据,如果你愿意,还有macOS日志中这个App的记录。报告以文件夹形式存储在“下载”中,Vitals不会发送任何内容。
  • 新增 每个标签页都能导出。 工具栏的“导出”按钮现在每个标签页都有:“存储为图像”或“拷贝图像”,内容就是窗口中显示的标签页。“代理”的图像不包含你的会话,账户的电子邮件只显示首字母。
  • 新增 在终端中,也给你的助手。 vitals ports、vitals homebrew和vitals files在“终端”中给出同样的答案。Claude、Codex和Cursor可以询问每个端口及谁能访问它、Homebrew、打开的文件、电池续航,以及按天或按周统计的数据传输量。
  • 新增 “设置”→“读数”。 一个设定Vitals读取什么的页面:“读取温度和风扇”“读取容器”和“留意闲置的开发服务器”。关闭其中一项,Vitals就完全不再读取它,适合由其他App控制风扇或不用Docker的Mac。
  • 改进 在下拉面板中,展开的App的进程会对齐到App自己的各列下,每个进程都使用窗口中的名称,点一下即可在进程检查器中打开。
  • 改进 在有App列表的标签页上,滚动列表时图表和卡片会收起,回到列表顶部时再出现。
  • 改进 Vitals长时间使用后占用的内存更少了。以前每次切换标签页都会残留一些内存,现在会被释放。
  • 修复 助手请求退出某个东西时,回答“退出”或“不退出”会把Vitals窗口带到最前面。现在它会让你留在原来的地方。
  • 修复 在“设置”中,菜单栏预览有时会把两个数字叠在一起显示。

更多