终端性能监控工具

MacJet 是一个高性能的终端仪表盘,提供实时进程监控、热力智能和AI原生MCP服务器功能,专为开发者设计,帮助用户理解和管理Mac性能问题。

  • by jeppsontaylor
  • Rust
  • 本地部署
  • 7 星标
  • 更新于
在 GitHub 查看 jeppsontaylor/MacJet

使用说明

🔥 MacJet v2.0.1

The flight deck for your Mac. 100% Rust.

Idle CPU, reference Mac (M4 Max, macOS 15.5) — methodology:
benchmark_compare (same session): Activity Monitor ~1.2% avg CPU · MacJet v2.0.1 (Rust) ~2.8% avg · historical MacJet v1 (Python) 14.7% avg (65-sample session)

Real-time process monitoring, thermal intelligence, and an AI-native MCP server — all in your terminal.

Still frames — Apps, Energy, Reclaim


Apps

Energy

Reclaim

MacJet是一款高性能、开发者优先的终端仪表板,旨在回答每个Mac用户最终会问的一个问题: “为什么我的笔记本电脑听起来像喷气发动机?”

版本 2.0.1 是一次彻底的重写 锈 使用 ratatui 和 tokio.下表使用 benchmark_compare (系统信息,占一个核心的百分比):a 2026-03-27 与MacJet一起跑步 --no-ml, 37 样品, 10秒 间距(~6分钟墙)。在该会话中, MacJet 版本 2.0.1 平均 ~2.8% CPU vs 活动监视器~1.2%;历史 Python/文本v1 数字(14.7% 平均CPU,65个样本,2个窗口)来自 docs/benchmarks.md (与v2.0.1 Rust版本一起发布)。这大致是 ~5× Rust的平均CPU低于Python基线。完整的方法论和较旧的会议: docs/benchmarks.md.JSON工件: benchmark_compare_1774606304.json 在repo根目录(复制到 benchmarks/results/ 之后 mkdir -p benchmarks/results 如果使用默认基准输出路径)。使用以下命令从提交的JSON重新生成表 python3 scripts/benchmark_readme_snippet.py.

⚡ 快速开始

git clone https://github.com/jeppsontaylor/MacJet.git
cd MacJet
cargo install --path .

然后,启动它:

sudo macjet

来自GitHub发布

每个标记的版本都会附加 macjet-macos-universal.tar.gz (胖二进制:苹果硅+英特尔)。提取 macjet,把它放在你的 PATH,如果macOS阻止了网守隔离,请清除它: xattr -dr com.apple.quarantine /path/to/macjet.

到 sudo 或不 sudo?

MacJet旨在在有或没有root权限的情况下优雅运行,但 sudo 通过允许访问苹果的低级传感器来释放其真正的力量。

随着 sudo (推荐):

  • 🌡️ 热数据:访问CPU/GPU芯片温度和风扇速度(RPM)。
  • 🔋 能源影响:通过以下方式进行准确的硬件级能量评分 powermetrics.
  • 🛡️ 完全控制:能够分析和管理系统上的任何流程,而不仅仅是您自己的用户流程。

没有 sudo:

  • 📊 应用分组和UI:完全访问终端UI、以应用程序为中心的分组和Chrome选项卡映射。
  • 📉 基本指标:标准CPU/内存指标。
  • 🔒 受限控制:只能与您自己的用户级进程交互。热数据和能量指标将被禁用。

🚀 性能:活动监视器vs MacJet v1(Python)vs v2.0.1(Rust)

CPU和RSS是 %一个核心 和 兆字节 从 benchmark_compare /历史文档。 Python v1与2026-03-27行的采样会话不同。

进程 平均CPU P95 CPU 最大CPU 平均RSS 源/会话
活动监视器 1.22% 1.51% 1.56% 88.2 MB benchmark_compare 2026-03-27;37×10s; --no-ml MacJet;空闲 TUI
MacJet v2.0.1(Rust) 2.77% 3.30% 3.44% 53.2 MB 同一会话-- benchmark_compare_1774606304.json
MacJet v1(Python) 14.7% 20.1% 26.2% 26.8 MB 历史记录:65个样本,2个窗口-- docs/benchmarks.md (v1数字与v2.0.1 Rust行一起发布,例如commit 2feed08)

外卖: 在 基准比较 会话,两个应用程序都显示 小非零 CPU空闲(测量噪声+后台工作);MacJet是 高于活动监视器 这里的CPU平均值,但 在极下处 记录在案的 Python v1 平均值(~5× 与14.7%相比)。

内存: 在那 相同 会话, MacJet RSS (~53 MB)曾经是 降低 比活动监视器(约88 MB).另外,A 较旧的记录 会议(docs/benchmarks.md)已报告 约27 MB (v1)--v2本机为Tokio、缓存和更丰富的UI交换了一些静态RAM,但使用的CPU要少得多。


✨ 特性

🎯 飞行甲板布局

五种专用视图,可通过以下方式切换 1–5 或 Tab:

查看 目的
应用 按应用程序分组的进程,具有角色桶扩展功能
树 原始流程层次结构
压力 记忆压力焦点
能量 唤醒、热状态、电池冲击
回收 带有评分建议的智能杀人名单

🧠 回收发动机(报废清单)

多因素评分引擎根据以下因素对每个进程组进行100分的评分:持续的CPU负载、内存占用、内存增长(泄漏)、进程风暴和高唤醒率。瞄准高分应用程序来回收你的系统。

🌐 Chrome标签映射

连接到Chrome的DevTools协议,将每个渲染器PID映射到其实际的网站选项卡标题。停止猜测哪个“谷歌Chrome助手(渲染器)”正在绘制100%的CPU。启用 open -a "Google Chrome" --args --remote-debugging-port=9222.

🤖 内置MCP服务器

MacJet 船舶 模型上下文协议(MCP) 服务器本机向AI代理(如Claude Desktop)公开10个工具。

要使用它,只需配置您的MCP客户端:

{
  "mcpServers": {
    "macjet": {
      "command": "/Users/YOU/.cargo/bin/macjet",
      "args": ["--mcp"],
      "description": "macOS process monitor — CPU, memory, energy, Chrome tabs, process management"
    }
  }
}

📖 阅读中的完整MCP功能 docs/mcp.md


⌨️ 键绑定

关键 行动
1–5 切换视图(应用程序/树/压力/能量/回收)
Tab 循环浏览视图
↑ ↓ 导航行
Enter 展开/折叠组或角色桶
s 循环排序模式(CPU/内存/名称/PID)
/ 按名称筛选进程
Esc 清除过滤器
h 隐藏/显示系统进程
k 已选择杀死(SIGTERM)
K 强制击杀(SIGKILL)
z 暂停/恢复
w 在检查器中显示上下文
? 帮助
q 退出

🤝 贡献与架构

我们欢迎捐款!看 架构文档, 基准,以及 贡献.md 开始使用Rust代码库。

📜 许可证

麻省理工学院 © 杰普森·泰勒