macOS 菜单栏 · 开源 · MIT
跑几个 agent,风扇起飞。Manatee 找出是谁、烫了多久,然后把它挪到能效核——任务照跑。
$ brew install --cask luogao/tap/manatee
70.6 → 44.9℃
8 线程满载实测,峰值到回落
−25.7℃
单次降温的峰值降幅
25秒
真实 Claude Code 跑飞时降 9℃
活动监视器数的是进程。Manatee 数的是会话——同一个 agent 开出的十几个 node,在它这里只有一行。
活动监视器 / Stats / iStat
14 个 node 进程,加起来 340%,看不出是谁的。
Manatee
一个会话,14 个子进程,合并成一行。
别的做法
「杀进程」。温度立刻降下来,任务从头再来一遍。
Manatee
「挪到能效核」。线程还在跑,只是不再抢性能核。
别的做法
「现在多热」。一个瞬时读数,关掉窗口就忘了。
Manatee
「这周谁累计吃最多 CPU」。按会话归档,随时回看。
没有仪表盘首页,没有账号,没有 onboarding 流程。点开就是全部。
芯片最高温挂在时钟旁边,不用为看一眼温度开一个窗口。
同一个 agent 的十几个进程收成一行,按会话报数,不是按 pid。
改调度级别,线程继续跑。上下文、临时文件、未提交的改动都还在。
超过阈值并持续够久才标记,阈值和时长都能自己调。
谁占着 5173、谁还挂着 7788,连同存活时长一起列出来。
1 小时到 30 天,CPU 时间、温度曲线、端口历史,全在本机。
Manatee 调用的是 macOS 自带的 taskpolicy,把目标进程的 QoS 从 User Initiated 降到 Background。性能核让给前台,能效核继续跑你的任务。
这不是 SIGSTOP——进程不会停;也不是 nice——在 Apple Silicon 上,那套优先级管不到核心分配。
恢复同样简单:QoS 改回去,线程回到性能核。全程没有重启,没有丢上下文。
需要 macOS 14 或更新。没有账号,没有订阅。
01 / HOMEBREW
装完直接出现在菜单栏,首次启动允许它读温度即可。
03 / SOURCE
用 Xcode 16 打开工程,Build & Run。
不会。Manatee 只改调度级别,进程不退出,终端里的输出也不会断。想恢复,点一下就行。
看任务类型。算力密集的会明显变慢,等网络和 IO 的基本无感。实测 8 线程满载全程存活,芯片温度从 70.6℃ 落到 44.9℃。
它们按进程报数,Manatee 按会话归并。一个 Claude Code 会话可能开出十几个 node,你只需要看一行:是谁、多热、烫了多久。
不需要。改的是你自己启动的进程的 QoS,普通用户权限就够。
Claude Code、Codex CLI、Cursor、Gemini CLI、Aider、Copilot CLI、Ollama、LM Studio、Xcode Build,共 12 种,可以在设置里逐个开关。
不会。温度、端口、历史记录都只在本机读写,没有账号,也没有遥测。