caffeinate 开源生态调研:让电脑保持唤醒的工具们

调研时间: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 进程退出——进程退出即自动释放,无需清理。 ...

October 14, 2026 · 8 min · SatsumaH