调研时间:2026-10-13;调研方式:公开网络资料检索(GitHub 仓库页、官方文档、技术博客)。 约定:Star 数据为 2026-10-13 检索当日快照;凡检索中未能确认的信息统一标注为「未核实」,不做臆测;明确区分「开源」与「免费但闭源」。

Summary(摘要)

  • caffeinate 是 macOS 官方自带工具(/usr/bin/caffeinate,有官方 man page),通过向 IOKit 电源管理子系统申请 power assertion(IOPMAssertionCreateWithName 等 API)阻止休眠。常用参数 -d/-i/-m/-s/-u/-t/-w。它不能阻止笔记本合盖休眠。
  • macOS 开源明星项目是 KeepingYouAwake(~6.9k stars,MIT,活跃维护,本质是 caffeinate 的菜单栏 GUI 封装)。经典 Caffeine(Lighthead,2006)在 2018 年开源后由社区继续维护。2025–2026 年涌现出一大批合盖防休眠开源小工具(lidless、decaf、stayawake 等),多由 AI coding agent 长任务场景驱动。
  • Owly(joaolourencoo/owly):该 GitHub 地址不存在(404),无法核实;同名开源实现为 aarontaken/owly(2026 年新项目,仅 3 stars);Mac App Store 上的 Owly(FIPLAB)是闭源免费软件。
  • Windows:开源首选 Microsoft PowerToys(含 Awake,MIT,~139k stars);轻量开源有 CHerSun/NoSleep(The Unlicense,269 stars)、stewardfurnace/caffeine-for-windows(MIT,Zhorn Caffeine 的开源复刻)。任务中提到的 “Insomnia(djoslin0)“在 GitHub 上无此仓库;经典 Windows 版 Insomnia 是 djoslin 的免费闭源小工具。
  • Linux:caffeine-ng 的 GitHub 仓库已于 2022-11 归档,迁移至 Codeberg 后低活跃但未死(过去一年 22 次提交,GPL-3.0);GNOME Shell Caffeine 扩展活跃(支持到 GNOME 50);系统自带 systemd-inhibit 是最直接的"Linux 版 caffeinate”;Wayland 有 Rust 写的 caddyglow/caffeinate 托盘抑制器。
  • 开发者库:Python wakepy(MIT,253 stars,活跃)、Rust keepawake crate(MIT,月下载 ~2.9 万)、usrivastava92/wakeup(MIT,Rust,参数与 caffeinate 完全兼容的跨平台 CLI,可作库用)。Go、Java 均无主流专用库(Java 有 mrrpiano02/my-caffeine-app 小项目)。
  • 特殊场景:NAS/服务器/Docker/CI 本质都是"宿主机防休眠”,用各平台自带方案即可(systemd-inhibit / caffeinate / PowerToys Awake),无专门开源项目;合盖场景是 macOS 开源工具的主战场。

1. caffeinate 命令本身:工作原理、参数与官方文档

工作原理

caffeinate 通过向系统电源管理子系统创建断言(create assertions)来改变系统休眠行为(man page 原文:“caffeinate creates assertions to alter system sleep behavior”)。底层是 IOKit 电源管理框架的 power assertions 机制,应用层 API 为 IOPMAssertionCreateWithName(断言类型如 PreventUserIdleSystemSleep、PreventUserIdleDisplaySleep 等)。如果指定了 utility,断言在该工具运行期间持续;否则断言持续到 caffeinate 进程退出——进程退出即自动释放,无需清理。

各平台原生机制对照(wakeup 项目文档整理的映射关系):

caffeinate 参数macOS(IOKit 断言)Linux(systemd-inhibit)Windows(Power Request API)
-dkIOPMAssertPreventUserIdleDisplaySleep(桌面相关,无通用等价)PowerRequestDisplayRequired
-ikIOPMAssertPreventUserIdleSystemSleep--what=idlePowerRequestSystemRequired
-mkIOPMAssertPreventDiskIdle(无等价)(无等价)
-skIOPMAssertPreventSystemSleep--what=sleepPowerRequestSystemRequired
-ukIOPMAssertUserIsActive(无等价)(无等价)

常用参数

  • -d:防止显示器休眠
  • -i:防止系统空闲休眠(无参数时的默认行为)
  • -m:防止磁盘休眠
  • -s:防止系统睡眠(默认仅 AC 供电时有效;加 -b 则电池供电也有效)
  • -u:声明用户活跃(并唤醒显示器)
  • -t N:持续 N 秒后自动退出
  • -w pid:等待指定进程退出(wakepy 项目文档确认该参数存在;macOS 10.9 之前疑似缺失)

典型用法:

caffeinate                  # 一直保持唤醒,Ctrl+C 结束
caffeinate -u -t 3600       # 保持 1 小时
caffeinate -i make build    # 编译期间不休眠
caffeinate -s caffeinate -t 7200 &  # 后台运行示例
pmset -g assertions         # 查看当前生效的断言

是否有官方文档

有。Apple 随 macOS 发布 caffeinate(8) man page(BSD System Manager’s Manual 第 8 节,位于 /usr/bin/caffeinate),Apple Developer Library 也曾托管该 man page(现可通过 Web Archive 访问)。这是官方文档。

重要限制:合盖

caffeinate 不能阻止 MacBook 合盖休眠(clamshell sleep)。KeepingYouAwake 的 README 明确回答 “Does it work on a MacBook with a closed lid? No."——合盖是另一套独立机制。合盖防休眠需要 sudo pmset -a disablesleep 1(全局开关,有风险,见第 6 节)或 Apple Silicon 外接显示器+电源时的官方 clamshell 模式。

来源:


2. macOS 平台开源项目(重点)

2.1 KeepingYouAwake(newmarcel/KeepingYouAwake)—— macOS 开源首选

  • 仓库:https://github.com/newmarcel/KeepingYouAwake
  • Star:约 6,900(检索当日仓库页显示 6,902;2026-09-30 第三方档案记录 6,950)
  • 许可证:MIT
  • 维护状态:活跃。仓库 2026-08-15 仍有 push;当前版本 1.6.8 发布于 2025-09-12(此前 1.6.7 为 2025-07-18);未归档;作者 Marcel Dierkes 自 2014 年起维护
  • 语言:Objective-C;官网 https://keepingyouawake.app/;支持 macOS 10.13+
  • 与 caffeinate 的关系:本质是 caffeinate 的菜单栏 GUI 封装(README 原话:“The app is a small wrapper around Apple’s caffeinate command line utility.")
  • 功能:一键阻止休眠;预定义时长或无限期;brew install --cask keepingyouawake;Sparkle 自动更新;灵感来自已停更的经典 Caffeine
  • 局限:不支持合盖防休眠(官方明确)
  • 来源:仓库页 + README + https://github.com/coreyhaines31/midnightoil/blob/HEAD/competitor-profiles/keepingyouawake.md

2.2 Owly —— 地址核实结论

  • 任务中提到的 joaolourencoo/owly 在 GitHub 上不存在(直接访问返回 404),其 star/许可证/维护状态均无法核实。可能的情况:仓库已删除、改名,或任务中的用户名/仓库名有误。
  • 现存同名开源项目:aarontaken/owly(https://github.com/aarontaken/owly)——2026-05 发布 v1.0.0 的单文件 Swift(~700 行)菜单栏应用,仅 3 stars,极小众。两种模式:IOKit 断言防空闲休眠(无需权限)/ 强力模式 pmset disablesleep(一次性管理员授权,sudoers 严格限定两条 pmset 命令);退出自动恢复。LICENSE 文件存在但具体类型未在检索中确认。
  • 同名闭源产品:Owly(FIPLAB Ltd)——Mac App Store 免费应用(id882812218),闭源,2.5 版(2026-02,重建适配 macOS Tahoe),App Store 4.7/5(382 评价),支持智能触发器/定时。

2.3 其他 macOS 开源菜单栏 / 命令行工具

经典 Caffeine 的开源延续(重要背景):

  • 原版 Caffeine 由 Tomas Franzén(Lighthead Software)2006 年创建,2018 年以开源许可证释出源码,由 Michael Jones / IntelliScape Computer Solutions 继续维护,2022 年再次现代化。菜单栏图标素材在 domzilla/Caffeine 以 MIT 发布。
  • iannuttall/caffeine(https://github.com/iannuttall/caffeinate):独立 Swift 重写版,MIT,macOS 14+,约 61 天前更新(活跃)。保留经典一键切换,新增 Agent Watch(Claude Code/Codex 工作时自动保持唤醒、等待输入时释放)、定时器、电池保护、合盖尽力模式、可查看其他阻止休眠的进程。

其他值得关注的开源项目:

项目仓库许可证维护状态一句话特点
wakeup-machttps://github.com/kartikk-k/wakeup-macMIT活跃(~99 天前)in-process IOKit 断言(与 caffeinate 同机制,不起外部进程),倒计时
ty-teo/stayawakehttps://github.com/ty-teo/stayawakeMIT活跃(~134 天前)面向 AI agent;IOPMAssertion + 精确限定的免密 sudoers 实现合盖
frikkern/insomniahttps://github.com/frikkern/insomnia未核实活跃(~15 天前,2026 新项目)单文件 Objective-C 菜单栏应用,insomnia:// URL scheme 驱动
Owlethttps://github.com/LushBinary/Owlet未核实未核实IOKit 断言 + 可选合盖模式(pmset disablesleep)+ Sparkle 更新
esyenhttps://github.com/dhinsor/esyen未核实未核实Python(rumps)封装 caffeinate+pmset,倒计时,退出即恢复
nightcathttps://github.com/eliolewis77/nightcat开源免费(另有 $4.99 捐赠版)活跃(~19 天前)四档模式 + 合盖 + 安全网(定时关/低电量/过热策略),中英双语
nosleepclaudehttps://github.com/tiredjon/nosleepclaude未核实活跃(~28 天前)极简开关,直接调 IOPMAssertionCreateWithName
wynnwu/nosleephttps://github.com/wynnwu/nosleep开源免费活跃(~51 天前)CLI(brew 安装),pmset disablesleep + 自动关闭定时器 + 15% 低电量熔断

合盖场景专用小工具(2025–2026 年集中涌现,多由 AI agent 长任务驱动,均开源):hord-brayden/lidless(拔电自动关防背包过热)、ch890333/ClosedLidGuard、NewTurn2017/vigil(CLI+热键)、bigbrainw/keepgoing、grishahq/decaf(agent 结束自动休眠)、sanamiy/awake(macOS 26+ 快捷键)、nstranquist/keepawake(Go)、stevenyu113228/keepawake(Bash+launchd 守护进程)、nicest-michael/keepawake(Swift)。

2.4 闭源对比项(注明:闭源,仅作对比)

产品作者价格状态/版本备注
AmphetamineWilliam Gustafson免费闭源;Mac App Store 独占;5.3.2(2023-11-10);4.8/5(3.2K 评价)功能最全(15+ 触发器、合盖模式、AppleScript);仅 helper 插件(Enhancer、Power Protect)在 GitHub 以 MIT 开源
LungoSindre Sorhus$4 一次性(另有 Setapp)闭源;2.8.3(2026-09-15);4.8/5设计极简主义,“focused features and great defaults”
TheineManuel Braun免费闭源(Mac App Store id955848755)定时器、全局热键、低电量自动停用;明确声明合盖时不会阻止休眠
OwlyFIPLAB Ltd免费闭源(Mac App Store id882812218)智能触发器,4.7/5(382 评价)

来源:


3. Windows 平台

3.1 底层机制

  • SetThreadExecutionState(ES_CONTINUOUS | ES_SYSTEM_REQUIRED | ES_DISPLAY_REQUIRED):经典 Win32 API,线程级,进程退出自动释放。
  • PowerCreateRequest / PowerSetRequest / PowerClearRequest:Vista+ 的 Power Request API,可用 powercfg /requests 查看。
  • Electron 应用可用 powerSaveBlocker API。

3.2 开源项目

项目仓库许可证Star(2026-10-13)维护状态一句话特点
PowerToys Awakehttps://github.com/microsoft/PowerToysMIT~139,000活跃(v0.102 预览版 2026-10)微软官方工具集的防休眠模块:无限期/定时/保持屏幕常亮,托盘快捷切换
CHerSun/NoSleephttps://github.com/CHerSun/NoSleepThe Unlicense(公共领域)269(verified live)公开未归档;v1.4.0+ 支持应用监控极轻量(~180KB)托盘工具,每 10 秒调用 SetThreadExecutionState;可按监控应用自动启停;Scoop 安装;README 自述比 PowerToys 更轻、无需管理员权限
stewardfurnace/caffeine-for-windowshttps://github.com/stewardfurnace/caffeine-for-windowsMIT未在检索中给出活跃(15 天前更新)“Caffeine for Windows” 的开源复刻;README 明确声明与 Zhorn Software 无关;一键防休眠/灭屏/锁屏,托盘定时(1/2/4/8 小时),用官方 API 而非模拟按键,个人+商业免费
stanley-projects/Insomniahttps://github.com/stanley-projects/Insomnia未核实未给出活跃(~35 天前,2026 新项目)Electron 应用;powerSaveBlocker + 手动开关/进程监控/Claude Code hook 三信号;winget/scoop 分发
little-insomniac/keep-computer-awakehttps://github.com/little-insomniac/keep-computer-awake未核实未给出活跃(~62 天前)Electron 跨平台(Win/Mac/Linux)
jNizM/stay-awakehttps://github.com/jNizM/stay-awake未核实未给出未核实Windows 开源小工具

3.3 “Insomnia(djoslin0)“核实结论

  • github.com/djoslin0/insomnia → 404,不存在,无法核实其开源状态。
  • 经典 Windows 工具 “Insomnia”(djoslin 发布,约 2007 年):免费但闭源的便携小工具(窗口开着即防休眠;technibble 描述为 “small, freeware and portable application”),未公开发布源码。
  • 注意区分:Kong/insomnia 是 API 客户端(与防休眠无关);nativescript-community/insomnia 是移动端插件。

3.4 闭源对比项(注明:闭源,仅作对比)

产品作者/官网价格备注
Caffeine(Zhorn Software)https://www.zhornsoftware.co.uk/caffeine/免费闭源免费软件;便携(~14–40KB);经典 F15 按键模拟 / -stes(SetThreadExecutionState)模式;官网不提供源码
Don’t SleepNenad Hrg / https://www.softwareok.com/?Microsoft/DontSleep免费(含商业使用)闭源免费软件;阻止关机/待机/休眠/重启/注销/灭屏/屏保;定时器、CPU/网络条件触发、Please Sleep 模式;便携;v9.96+(2026-01 更新),支持 Win11/Server 2025

来源:


4. Linux 平台

4.1 caffeine-ng —— 已迁移、低活跃但未死

  • 原 GitHub 仓库 https://github.com/WhyNotHugo/caffeine-ng:2022-11-06 被作者归档(只读),归档前 183 stars;README 标注已迁移。
  • 现地址:https://codeberg.org/WhyNotHugo/caffeine-ng(Codeberg/Forgejo)。
  • Star:Codeberg 上 13 stars(ecosyste.ms 数据)。
  • 许可证:GPL-3.0(代码),图标 LGPL-3.0。
  • 维护状态:低活跃但未死亡——过去一年 22 次提交、5 位提交者(commits.ecosyste.ms,约 1 个月前同步);40 个 open issues。
  • 语言:Python;托盘常驻;全屏应用自动抑制或手动点击抑制;兼容实现 org.freedesktop.ScreenSaver 的屏保(含 KDE)、gnome/mate-screensaver、XSS、Xorg+DPMS 等。2014 年 fork 自 Caffeine 2.4。

4.2 GNOME Shell 的 Caffeine 扩展 —— 活跃

  • https://github.com/eonpatapon/gnome-shell-extension-caffeine
  • 维护状态:活跃,支持 GNOME Shell 3.4 → 50(master 分支 v59 对应 GNOME 45–50;有用户实测 v60 在 GNOME 50 上 ACTIVE)。
  • 功能:快速设置开关禁用自动挂起/屏保、滚动图标切换、定时器、通知、gsettings 命令行控制。Wayland 原生可用(扩展运行在 compositor 进程内)。
  • 安装:extensions.gnome.org/extension/517/caffeine 或源码构建。许可证未在检索中确认。

4.3 系统自带方案

  • systemd-inhibit(systemd 自带,无需安装)——“Linux 版 caffeinate"最直接的等价物:
    systemd-inhibit --what=idle:sleep:shutdown --who="backup" --why="nightly rsync" --mode=block rsync -a /srv/ /mnt/backup/
    systemd-inhibit --list    # 查看当前抑制锁
    
    底层走 logind D-Bus Inhibitor 接口(org.freedesktop.login1.Manager)。注意:--what=idle 仅对尊重 logind 的桌面环境有效;没有 caffeinate -d 的精确等价物。
  • xdg-screensaver(xdg-utils 自带):xdg-screensaver suspend <window-id> 按窗口抑制屏保(X11 为主)。
  • KDE:PowerDevil 自带电源管理与抑制支持;caffeine-ng 通过 org.freedesktop.ScreenSaver 兼容 KDE。

4.4 Wayland 相关

  • Wayland 空闲抑制依赖 compositor 实现的标准协议(idle-inhibit)与 org.freedesktop.ScreenSaver D-Bus API(GNOME/KDE 实现)。
  • caddyglow/caffeinate(https://github.com/caddyglow/caffeinate):Rust 编写的 Wayland 专用空闲抑制器(注意:名字叫 caffeinate 但仅支持 Linux/Wayland,非跨平台复刻);daemon/client 架构(D-Bus IPC)、系统托盘、全局快捷键、自动关闭定时器、TOML 配置、CLI。更新于约 349 天前(低活跃)。

来源:


5. 跨平台开发者库

语言项目仓库许可证Star/热度(2026-10-13)维护状态支持平台/后端备注
Pythonwakepyhttps://github.com/wakepy/wakepyMIT253活跃(2026 年多次提交)Win: SetThreadExecutionState;macOS: caffeinate;Linux: D-Bus(GNOME/KDE/Cinnamon 的 SessionManager/ScreenSaver/PowerManagement)API:keep.running(仅防挂起)/keep.presenting(防挂起+防锁屏);上下文管理器/装饰器;可白名单 Method;pip install wakepy;崩溃安全
Rustkeepawake(segevfiner/keepawake-rs)https://github.com/segevfiner/keepawake-rsMITcrates.io 月下载 ~28.8k(lib.rs);被 12 个 crate 依赖活跃(53 天前更新)macOS IOKit / Win SetThreadExecutionState / Linux D-Bus库 + CLI(cargo install keepawake -F bin,支持 -d/-i/-s/-w)+ 实验性 C 库
Rustwakeup(usrivastava92/wakeup)https://github.com/usrivastava92/wakeupMIT1(2026-07 新项目)活跃开发中(verified live)macOS IOKit 全断言;Linux systemd-logind(-i/-s);Win Power Request API(-d/-i/-s)参数与 caffeinate 完全兼容(-dimsu -t -w [command]);零依赖 FFI;可作库(wakeup-core crate);Homebrew/crates.io/预编译二进制
Go——————未发现主流 Go 专用库;惯例是 macOS 起 caffeinate 子进程 / Win 经 syscall 调 kernel32 / Linux 起 systemd-inhibit 子进程(例:hegade/kunai 的 internal/awake 设计)
Node.js—(标准:Electron powerSaveBlocker)例:stanley-projects/Insomnia、little-insomniac/keep-computer-awake各异——Electron/Chromium 经各平台原生 API未发现有影响力的纯 npm 通用库;Web 方案 keepawake.dev(Screen Wake Lock API + 静音音频,CC BY-SA 4.0)
Javamy-caffeine-apphttps://github.com/mrrpiano02/my-caffeine-app未核实未给出低活跃(~455 天前)跨平台(Swing GUI)模仿 Zhorn Caffeine 的 F15 按键模拟;Java 无主流专用库
JuliaNoSleep.jl(dev.to 介绍)未核实未给出未核实Win/macOS/Linux 三段式后端with_nosleep() do ... end 块级 API;仅防空闲休眠

“直接命名为 caffeinate 的跨平台复刻"核实结论:

  • ✅ usrivastava92/wakeup:Rust 编写的跨平台 caffeinate 兼容 CLI(参数、默认值、语义完全对齐),可视为真正的跨平台 caffeinate 复刻。
  • ✅ segevfiner/keepawake-rs:Rust 跨平台实现(CLI 参数为长选项风格 -d/-i/-s,与 caffeinate 语义对应但非完全兼容短参数)。
  • ⚠️ caddyglow/caffeinate:虽叫 caffeinate,但仅 Linux/Wayland,不是跨平台复刻。
  • ❌ 未发现 Go 语言编写的、具影响力的 caffeinate 复刻。

来源:


6. 特殊场景

6.1 NAS / 服务器防休眠

  • Linux 服务器标准方案就是 systemd-inhibit(见 4.3):systemd-inhibit --what=idle:sleep:shutdown --mode=block <长任务> 保护夜间备份等;可用 busctl 查询抑制器状态。注意它本质是与 logind 的协作协议,root 仍可强制执行。
  • 未发现专门的"NAS 防休眠"开源项目。NAS 的"休眠"通常指**硬盘休眠(spin down)**而非系统挂起,由 NAS 系统自带设置控制;若 NAS 运行的是标准 Linux 发行版,同样适用 systemd-inhibit。
  • macOS 当服务器:caffeinate -s/-i 常驻,或 KeepingYouAwake 常开。

6.2 Docker 场景

  • 容器本身没有休眠概念;风险在于宿主机休眠(宿主机一睡,所有容器暂停)。无需专门工具,宿主机用各平台自带方案即可。

6.3 CI runner 场景

  • 自托管 runner(GitHub Actions / GitLab Runner)所在机器休眠会导致 job 中断;同样归结为宿主机防休眠。macOS runner 常见做法是 caffeinate -i 常驻;Linux 用 systemd-inhibit 或直接关闭休眠策略。

6.4 笔记本合盖使用(closed-clamshell / lid sleep)

这是 macOS 开源工具 2025–2026 年的主战场:

  • caffeinate 不能阻止合盖休眠(第 1 节)。
  • 标准手段:sudo pmset -a disablesleep 1(全局开关,不分电源——lidless 作者警告:拔电后放进背包会变成"密封隔热箱里的全速 CPU”,过热且耗尽电池);或 Apple Silicon 接电源+外接显示器/键鼠时的官方 clamshell 模式(原生支持,无需工具)。
  • 开源工具的通用做法 = 按需开关 pmset disablesleep + 安全护栏(拔电自动关、低电量熔断、退出/崩溃自动恢复):lidless、ClosedLidGuard、decaf、keepgoing、stevenyu113228/keepawake、wynnwu/nosleep、ty-teo/stayawake 等(详见 2.3)。
  • Linux 笔记本合盖由 systemd-logind 的 HandleLidSwitch=(/etc/systemd/logind.conf)控制;应用可持 handle-lid-switch 低级抑制锁接管(来源:freedesktop.org logind.conf 文档)。
  • Windows 笔记本合盖:在"电源选项 → 关闭盖子时"设为"不采取任何操作"即可,系统设置,无需工具。

7. 对比总结表

Star 统计日期:2026-10-13(检索当日;* 标注为 2026-09-30 第三方档案数据)。“维护状态"以最近提交/发布为准。

项目名平台语言许可证Star维护状态核心能力(一句话)适合人群
caffeinate(系统自带)macOSCApple 系统组件—随系统官方电源断言 CLI,-dimsu -t -w所有 Mac 用户/脚本
KeepingYouAwakemacOSObjCMIT~6,900*活跃caffeinate 的菜单栏 GUI 封装,一键+定时普通 Mac 用户(开源首选)
iannuttall/caffeinemacOSSwiftMIT未给出活跃经典 Caffeine 的现代重写,Agent Watch 联动 AI agentMac 用户(喜欢经典交互+agent 场景)
wakeup-macmacOSSwiftMIT未给出活跃进程内 IOKit 断言,无外部进程,倒计时Mac 用户(极简)
ty-teo/stayawakemacOSSwift/BashMIT未给出活跃AI agent 场景的合盖防休眠,精确限定 sudoers跑 AI agent 的 Mac 用户
wynnwu/nosleepmacOSBash开源免费未给出活跃CLI 合盖防休眠,自动关闭+低电量熔断终端用户/脚本
aarontaken/owlymacOSSwift未核实3新(2026-05)极简菜单栏:IOKit 断言/强力合盖双模式极客(小众)
AmphetaminemacOS—闭源—5.3.2(2023-11)功能最全的免费防休眠(15+ 触发器、合盖)普通 Mac 用户(不介意闭源)
LungomacOS—闭源—2.8.3(2026-09)$4 极简防休眠普通 Mac 用户(愿付费、要设计)
TheinemacOS—闭源—3.4(2021)免费极简,定时器+热键;不支持合盖普通 Mac 用户
Owly(FIPLAB)macOS—闭源—2.5(2026-02)免费,智能触发器普通 Mac 用户
PowerToys AwakeWindowsC#MIT~139,000活跃微软官方:无限期/定时/屏幕常亮Windows 用户(开源首选)
CHerSun/NoSleepWindowsC#/.NETThe Unlicense269公开维护中180KB 托盘工具,SetThreadExecutionState,可按应用自动启停Windows 用户(要轻量)
stewardfurnace/caffeine-for-windowsWindows未给出MIT未给出活跃Zhorn Caffeine 的开源复刻,一键+定时Windows 用户(怀念 Caffeine 交互)
Caffeine(Zhorn)Windows—闭源—1.6.x免费便携经典小工具(F15/-stes)对比项
Don’t SleepWindows—闭源—9.96+(2026-01)免费,防关机/待机/休眠/重启全套对比项
caffeine-ngLinuxPythonGPL-3.0183(GitHub 归档)/ 13(Codeberg)低活跃(年 22 提交)托盘抑制,兼容多屏保/DE传统 X11/Linux 托盘用户
GNOME Caffeine 扩展Linux(GNOME)JS未核实未给出活跃(支持 GNOME 50)快速设置一键禁用自动挂起GNOME 用户
caddyglow/caffeinateLinux(Wayland)Rust未给出未给出低活跃Wayland 空闲抑制+托盘+定时Wayland 用户
systemd-inhibitLinuxC系统组件—随 systemd系统自带的 inhibitor 锁 CLI所有 Linux 用户/脚本
wakepy跨平台(库)PythonMIT253活跃跨平台 keep-awake 库,两种 ModePython 开发者
keepawake(Rust crate)跨平台(库+CLI)RustMIT月下载 ~28.8k活跃跨平台库+CLI,实验性 C 库Rust 开发者
wakeup跨平台(CLI+库)RustMIT1(新)活跃参数与 caffeinate 完全兼容的跨平台 CLI终端用户/多平台脚本

已停止维护/归档:WhyNotHugo/caffeine-ng 的 GitHub 仓库(2022-11-06 归档,只读;项目迁至 Codeberg 继续低活跃维护);经典 Caffeine(Lighthead 原版停更,但 2018 年开源后由 IntelliScape/社区分支继续)。 地址不存在:joaolourencoo/owly(404)、djoslin0/insomnia(404)——任务中提及的这两个地址均无法验证。


8. 结论与推荐

普通 Mac 用户

  1. KeepingYouAwake(开源 MIT,~6.9k stars,活跃):一键菜单栏操作,brew install --cask keepingyouawake 即装即用,c

8. 结论与推荐

普通 Mac 用户

  • KeepingYouAwake(开源,MIT):菜单栏一键操作,brew install --cask keepingyouawake 即装即用,是大多数人的终点。
  • 不介意闭源的话,Amphetamine(免费)功能最全,十几种触发器,还支持合盖模式。

Windows 用户

  • Microsoft PowerToys(含 Awake 模块,MIT):微软官方出品,无限期/定时/屏幕常亮全覆盖,是开源首选。
  • 想要极轻量:CHerSun/NoSleep(The Unlicense,约 180KB),可按正在运行的应用自动启停。

Linux 用户

  • GNOME 桌面:Caffeine 扩展(活跃维护,支持到 GNOME 50),快速设置里一键开关。
  • 通用/脚本场景:系统自带的 systemd-inhibit,无需安装任何东西,是最直接的"Linux 版 caffeinate”。
  • 偏好传统托盘:caffeine-ng(GitHub 已归档,项目迁至 Codeberg 后低活跃维护)。

开发者(需要在自己的程序里防休眠)

  • Python:wakepy(MIT);Rust:keepawake(MIT,月下载近 3 万)。
  • 想要一个开箱即用的命令行:wakeup(Rust,参数与 caffeinate 完全兼容,跨平台)。

运维 / 服务器 / CI

  • 本质都是"宿主机防休眠”:Linux 用 systemd-inhibit 包裹长任务(如夜间备份),macOS 用 caffeinate -i 常驻;笔记本合盖场景参考第 6.4 节的专用工具,注意拔电放包里有过热风险。