長時間建置與編譯時讓 Mac 保持喚醒
一次漫長的 Xcode archive、cargo build --release、Gradle 或 npm install,或本機 CI 執行,往往正是 macOS 認定機器閒置的經典時刻。螢幕變暗,系統進入睡眠,建置卡住或直接失敗。Keepresso 在任務期間讓 Mac 保持喚醒,工作結束後再讓它休息。
依任務選擇合適做法
1. 定時工作階段(最簡單)
如果你知道建置通常會在某個時間窗內完成:
- 點擊選單列裡的 Keepresso 杯子圖示。
- 選擇時長(1 小時、4 小時、自訂,或直到指定時間)。
- 啟動保持喚醒,再開始建置。
計時結束時,Keepresso 會停止讓系統保持喚醒。詳情:定時工作階段。
2. 處理程序觸發條件(不用動手)
只在建置工具實際執行時保持喚醒:
- 開啟偏好設定 → 觸發條件。
- 打開觸發條件閘控。
- 新增處理程序執行中條件,比對命令,例如
xcodebuild、swift、cargo、rustc、gradle、java、node、npm、pnpm、make、ninja或cmake。 - 若你使用多種工具,以任一方式組合。
處理程序結束後,Keepresso 會結束工作階段(在你設定的任何緩衝期之後),Mac 便可再次睡眠。參見智慧觸發條件。
3. CPU 負載觸發條件(與工具無關)
如果工具名稱會變,但機器明顯正在工作:
- 新增CPU 超過門檻條件(50% 或 75% 是不錯的起點)。
- 保留平滑處理:短暫尖峰不會開啟工作階段;持續負載才會。
這很適合混合工具鏈,或會以不同名稱產生不同子處理程序的 IDE 建置。
4. 媒體渲染 / AI 智能體預設組合
內建預設組合涵蓋常見的長時間任務:
- 媒體渲染 在
ffmpeg執行期間保持喚醒。 - AI 智能體 只在編碼智能體(
claude、codex、gemini等)實際工作時保持喚醒,而不只是開著,因此筆電上的通宵智能體執行能跑完,工作結束後 Mac 仍會睡眠。
從條件選單套用預設組合;它會取代目前的規則組合,並開啟觸發條件。
想知道任務完成的那一刻?在偏好設定、自動化底下的事件 hook,可在工作階段結束或智能體進入閒置時執行捷徑、POST webhook,或執行 shell 指令,包括推播到你的手機。若任務在你醒來前就開始,同一個分頁的排程喚醒也能準時把 Mac 叫醒。
選用:螢幕關閉、闔上上蓋
建置不需要亮著的面板。
- 若你只在意系統保持運作,可關閉防止顯示器睡眠。指南:螢幕關閉時讓 Mac 保持喚醒。
- 在 MacBook 上,啟用閉蓋模式,讓機器在包包或架子上繼續編譯,闔蓋時內部面板會進入睡眠。指南:闔蓋保持喚醒。
電池安全
在筆電上,把保持喚醒與電量感知自動暫停搭配使用,避免被遺忘的工作階段把電池耗盡。在偏好設定裡設定下限(例如 20%);電量低於該值時 Keepresso 會暫停。更多說明:智慧觸發條件。
指令碼與 CI 機器
對於無顯示器的建置機或指令碼化流水線:
# Hold the Mac awake exactly as long as the build runs (app not required)
your-build-command & keepresso -w $!
# Or drive the running app
keepresso start --for 120
keepresso stop
對於無人看管的流水線,自動化租約比一對 start-and-stop 更安全:它是一份有界限的授權,指令碼必須持續續約,因此當掉的任務無法把 Mac 釘在喚醒狀態,租約只會到期。
ID=$(uuidgen)
keepresso lease acquire --id "$ID" --tool ci --task "release build" --ttl 600
# ... heartbeat on a loop while the build runs ...
keepresso lease release --id "$ID"
若任務由 AI 智能體驅動,你甚至不必自己寫這些:內建技能與 MCP 伺服器會教會智能體整套協定。參見讓 AI 智能體保持你的 Mac 喚醒。
安裝與 PATH 說明:keepresso CLI。若 Mac mini 只做建置用,也請跑過無顯示器設定檢查清單,讓登入與睡眠政策符合常駐機器。
相關
更多「使用 Keepresso」內容
