Capsomnia

Capsomnia 把 Caps Lock 變成一個物理開關,讓 MacBook 合蓋後繼續執行 AI 代理、SSH 會話和構建任務

深度報告

  • Capsomnia 是一款輕量級的 macOS 選單欄應用,它把鍵盤上最被忽視的 Caps Lock 鍵變成了一個物理「保持喚醒」開關。合上 MacBook 蓋子,按下 Caps Lock,AI 代理繼續跑、SSH 會話不斷、編譯和下載照常進行——這個日本開發者用 Swift 寫的小工具在 Product Hunt 上拿到了當日第 5 名,在日本本土更是收穫了 230 萬+ 的瀏覽量和 6000+ 下載量。免費、開源、無遙測,乾淨得不像這個時代的軟體。

  • Capsomnia 由日本開發者 Taketo Fujimaki(藤巻雄飛)獨立開發,以 MIT 許可證開源在 GitHub 上(github.com/fuji-mak/Capsomnia)。專案從 2026 年 6 月開始活躍開發,到 7 月 27 日已釋出 v2.0.3,共 188 次提交。Fujimaki 本人是一位活躍在 AI 和開發者工具領域的程式設計師,Capsomnia 的誕生源於他自身的痛點:跑 Claude Code 這類 AI 編碼代理時,合上 MacBook 蓋子就被迫中斷,而 Mac 自帶的「合蓋不休眠」設定又不夠方便。 產品一經發布就在日本開發者社群引爆了關注——230 萬次曝光、6000 多次下載,隨後登上了 Product Hunt 首頁並獲得當日第 5 名。沒有融資、沒有團隊、沒有營銷預算,純粹靠口碑在 Reddit、Hacker News 和日本技術社群擴散。

  • Capsomnia 的核心邏輯極其簡單:按下 Caps Lock,系統禁用睡眠;再按一下,恢復睡眠。Caps Lock 鍵上的 LED 指示燈同步顯示休眠防護的狀態——燈亮著說明在跑任務,燈滅說明正常休眠。 但這個簡單機制的背後藏著不少精妙設計。首先是許可權分離架構:選單欄應用本身不以 root 許可權執行,而是透過一個極小的特權輔助工具(capsomnia-pmset)來呼叫系統 pmset 命令修改睡眠設定。這個輔助工具只接受 on、off 和 display-sleep 三個引數,攻擊面被壓縮到極致。應用本身不發任何網路請求、不收集遙測資料、不需要註冊賬號——程式碼完全公開可審計。 對於已經把 Caps Lock 鍵對映成其他功能的使用者,Capsomnia 支援自定義快捷鍵,而且即使使用自定義快捷鍵,Caps Lock 燈仍然會同步顯示狀態,這是一個非常貼心的設計。還有一個可選功能是「防止全大寫輸入」——開啟 Capsomnia 後,Caps Lock 不再輸入大寫字母(但 Shift 鍵仍可輸入大寫),避免誤觸導致滿屏大寫字母的尷尬。 系統要求 macOS 14+ 和 Apple Silicon 晶片,安裝包已簽名並經過 Apple 公證。支援英語、日語、簡體中文和韓語四種介面語言。 在實際使用中,合上蓋子後螢幕會關閉,但系統繼續執行。應用會每 10 秒驗證一次系統 SleepDisabled 狀態,如果狀態漂移或無法應用更改,選單欄會顯示紅點提示。日誌檔案存放在 ~/Library/Logs/Capsomnia/,方便排查問題。 與同類工具(如 Amphetamine、Caffeine、InsomniaX)相比,Capsomnia 最大的差異化優勢在於物理開關式的互動——不需要開啟選單欄點選、不需要記住快捷鍵組合,按鍵+指示燈的狀態反饋比任何軟體介面都來得直接。缺點是功能相對單一,沒有 Amphetamine 那種基於觸發條件的精細控制(如特定應用執行時禁用睡眠、Wi-Fi 網路變化時切換等)。

  • Capsomnia 完全免費,沒有 Pro 版本、沒有應用內購買、沒有廣告。開發者透過 GitHub Sponsors 接受捐贈,但捐贈並非產品的主要變現方式。從專案定位來看,這更像是一個解決自身痛點後順手開源的工具,而不是一個商業產品。對使用者來說這是一個好訊息——無需付費就能獲得一個簽名公證、質量可靠的系統工具。但同時也有隱憂:缺乏可持續的商業模式意味著長期的維護和更新可能完全依賴開發者的個人熱情和時間。

  • 在 Product Hunt 和中文技術社群中,Capsomnia 獲得了壓倒性的正面評價。使用者普遍稱讚其「用一個物理按鍵解決一個系統級痛點」的設計哲學。 正面評價集中在幾個方面:一是解決了 MacBook 合蓋休眠中斷 AI 編碼代理的實際問題,尤其是 Claude Code 和 Codex 使用者;二是免費開源無廣告、無遙測的乾淨作風贏得了開發者社群的信任;三是 Caps Lock 指示燈做狀態指示的設計被認為「優雅又實用」;四是在日本市場的火爆證明了其需求真實存在。 負面反饋主要集中在散熱和電池兩個維度。多位使用者指出,合蓋執行對 MacBook Air 這類無風扇機型來說散熱壓力很大,長時間跑編譯或 AI 任務可能會導致過熱降頻。另一個未解決的問題是電池安全機制——當 Capsomnia 啟用時如果電池電量耗盡到極低水平,系統會不會強制休眠保護電池?目前似乎完全依賴於 macOS 自身的電源管理,沒有在應用層面做安全兜底。

  • 多家科技媒體對 Capsomnia 進行了報道。少數派(sspai)將其推薦為「按下 Caps Lock 鍵就不會休眠」的實用小工具,強調其對 SSH 會話、編譯任務和大檔案下載場景的價值。中文 Product Hunt 站點的編輯評價是「小巧、免費、開源、無廣告——這才是開發者工具該有的樣子」。日本技術社群的討論尤為熱烈,多個技術博主製作了影片測評。 從行業視角看,Capsomnia 的走紅與其說是單個工具的勝利,不如說是 AI 編碼代理爆發式增長的副產品。隨著 Claude Code、Codex、Cursor 等 AI 編碼工具成為開發者的日常裝備,「合蓋繼續跑 AI 代理」變成了一個真實且高頻的需求。Capsomnia 恰好在對的時機出現在對的市場。

  • 主要風險來自散熱和安全性兩個維度。散熱方面,在無風扇的 MacBook Air 上合蓋執行高負載任務,熱量積聚是一個不可忽視的問題。開發者雖然已在路線圖中標註了「散熱感知」功能,但目前尚未實現。 安全方面,Capsomnia 雖然採用了合理的許可權分離設計,但安裝過程需要管理員許可權建立一個特權輔助工具和一個 sudoers 規則,這始終是一個需要使用者自己判斷的風險點。好在 MIT 開源和簽名公證降低了這方面的顧慮。 此外還有一個更根本的問題:強制禁用系統休眠是一種「與 macOS 設計哲學對抗」的行為,長期使用是否會影響系統穩定性或電池壽命,目前缺乏足夠的長期測試資料。對於插電使用的場景問題不大,但如果經常在電池供電時使用,電池的健康度可能會加速下降。

  • Capsomnia 最對口的使用者群是用 MacBook 做 AI 開發的人群——Claude Code、Codex、Cursor 等 AI 編碼工具的深度使用者。其次是運維工程師(需要保持 SSH 會話不斷)、前端開發者(經常跑長時間編譯)、以及任何需要遠端訪問自己 Mac 的使用者。 不太適合那些對合蓋執行溫度敏感的使用者,特別是 MacBook Air 使用者,建議在插電且有良好散熱條件的情況下使用。如果你需要更復雜的睡眠管理策略(如按時間段、按網路、按特定應用觸發),Amphetamine 可能是更好的選擇。 最佳實踐建議:儘可能在插電時使用 Capsomnia,避免電池供電下長時間合蓋執行高負載任務。執行完畢後記得關閉 Capsomnia,讓系統恢復正常的睡眠行為。如果遇到狀態漂移,可以手動執行 `sudo pmset -a disablesleep 0` 強制恢復。

  • Capsomnia 是一個極致專注的開發者工具——它只做一件事,但做得足夠好。用 Caps Lock 物理按鍵控制睡眠狀態的設計看似簡單,背後卻是對 macOS 安全模型、鍵盤硬體特性和開發者實際工作流的深刻理解。免費開源讓它獲得社群信賴,日本市場的火爆則驗證了需求的真實性。對於每天和 AI 代理打交道的 Mac 開發者來說,這 5MB 的小工具可能就是那個「早該有人做出來」的東西。如果開發者能解決散熱感知和電池安全兜底兩個短板,Capsomnia 完全有機會從「小眾工具」進化成「Mac 開發者標配」。

使用者評論

  • 頭像
    GloriaCollins168
    跑 Claude Code 再也不怕合蓋休眠了,簡直神器。

  • 頭像
    SRuizX
    免費開源無廣告,開發者良心之作,已 star。

  • 頭像
    whitefrog681
    Caps Lock 燈亮著就知道還在跑,一眼就能確定狀態,比看選單欄方便多了。

  • 頭像
    NoahPatel
    在日本已經爆火了,230 萬播放量,確實好用,強烈推薦。

  • 頭像
    JGray_2020
    SSH 會話終於不會斷了,感謝作者!以前每次合蓋就要重新連一遍。

  • 頭像
    zAmye
    最擔心的還是散熱問題,MacBook Air 無風扇機型合蓋跑高負載任務會不會出問題?作者說散熱感知功能在路上了,期待。

  • 頭像
    KylePerryIII
    用了一週,MacBook Pro 上跑 Claude Code 的長時間重構任務,合蓋放那不管它,回來發現程式碼都寫好了,太省心了。

  • 頭像
    BrianYoung
    安裝過程要授權 root 許可權,雖然作者把許可權限制得死死的只讓跑三個命令,但第一次看到還是有點猶豫。

  • 頭像
    BilovidPolovec
    用 Caps Lock 的燈做狀態指示,這個設計太聰明瞭,沒有額外的選單欄圖示占位置。

  • 頭像
    Susan.Hill_X
    電池耗盡時會不會強制休眠?這個官方沒說清楚,我倒是不太敢在電池供電時用。

  • 頭像
    Nicholas_CampbellK
    之前一直用 Amphetamine,功能很全但總覺得太重了。Capsomnia 就一個開關,反而順手。

  • 頭像
    qor0q4o
    給 Mac 上最沒用的鍵一份最有用的工作——官網這句話太對了。

  • 頭像
    StephanieRobinson
    已裝到 M4 MacBook Pro 上,配合 Codex Mobile 使用完美,出門合蓋塞包裡任務繼續跑。

  • 頭像
    GSimmonsQ881
    就是不支援 Intel Mac 有點遺憾,手頭還有臺 19 年的 Intel MBP 用不了。

  • 頭像
    冬雪659
    免費的,簽名公證了的,程式碼開源可審計,這種工具現在真的不多見了。

  • 頭像
    DolphinDefiMartin
    跟 clamshell 模式配合得怎麼樣?我有外接顯示器的時候 Caps Lock 燈還會不會同步狀態?

  • 頭像
    ChristineWright
    下載大檔案終於不用守著了,合蓋走人,回來發現已經下好了。

  • 頭像
    WBennett_2024773
    發現一個問題,如果不小心忘了關 Capsomnia 就把電腦裝包裡,第二天拿出來燙得厲害——已經養成離座前檢查燈的習慣了。

  • 頭像
    Lauren.Flores
    自定義快捷鍵這個功能太貼心了,我 Caps Lock 早就對映成 Esc 了,改成 Cmd+Shift+S 一樣好用。

  • 頭像
    賈靜燕
    試用了兩天,結論是這 5MB 的小工具解決了一個困擾我很久的問題,比改系統配置方便太多了。

  • 頭像
    Jordan_SimmonsZ
    中文介面做得不錯,一個日本開發者能把介面文字翻譯到這種程度,值得點贊。

  • 頭像
    Alexander_Stewart520
    對於每天要和 AI 代理打交道的開發者來說,這個真的是剛需。每次出門按一下 Caps Lock,回來 Claude Code 已經跑完了。

  • 頭像
    FrankWhite_2021
    v2.0.3 更新了啥?有人說說嗎,我正在用 1.0.0 版本還沒升級。

  • 頭像
    蝴蝶455
    看了眼 GitHub,提交很活躍,作者幾乎每天都在更新,這種個人專案能維護成這樣很不容易了。

  • 頭像
    Nicholas.TorresJr
    還是不太敢合蓋跑高負載,被動散熱心裡沒底。插電用的時候還行,溫度感覺正常。

  • 頭像
    Karen.Martin_72
    剛剛部署到生產環境測試了,我司幾個 AI 工程師都在用,反饋很好。有個同事專門測試了合蓋狀態下跑 Codex 寫測試用例的場景,一整個下午合蓋放那跑,最後回來檢查全部透過,沒有斷連也沒有過熱。不過我們用的都是 M3 Pro 有風扇機型,Air 使用者建議慎重。

  • 頭像
    MsAnthonyHarcourt_dev
    跟 NoSleep 和 Amphetamine 這些老牌工具對比了一下,Capsomnia 最大的優勢是互動直接——物理按鍵比選單欄點選快太多,而且燈的反饋很清晰。缺點就是功能單一,沒有按條件觸發這類高階選項。但話說回來,一個開源的小工具能把這個核心功能做好就已經很了不起了,那麼多功能臃腫的軟體反而什麼都做不好。

  • 頭像
    Julie_RiveraIII
    在 GitHub 上仔細看了原始碼的安全設計,特權輔助工具只接受三個引數的這個思路很好,比那些直接以 root 許可權跑整個應用的大部分工具要安全得多。感覺作者對 macOS 的安全模型理解很深,不是那種為了省事直接 sudo 一把梭的風格。已經給專案加了 watch,期待後續版本把散熱感知做出來。

  • 頭像
    萬彤娜
    請教用過的朋友,這個跟系統的「合蓋不休眠」設定有什麼區別?是不是我直接在終端跑 pmset -a disablesleep 1 效果也一樣?還是說 Capsomnia 有什麼更優雅的機制?

  • 頭像
    Jonathan.Gutierrez369
    在 M2 MacBook Air 上試了半小時合蓋跑 Flutter 編譯,開啟蓋子摸了一下底部,確實比平時熱不少。建議 Air 使用者只在插電且通風好的時候用這個,電池供電還是老老實實開蓋跑吧。不過工具本身沒問題,做好散熱預期管理就行。