cobiao
V2EX  ›  Claude

写了两个脚本, Claude Code 干活时 Mac 不睡觉(合盖也行),干完自动恢复睡眠

  •  
  •   cobiao · 17h 2m ago · 1019 views
    我经常用 Claude Code 跑长任务,然后离开一会,回来发现 Mac 睡着了,任务还没做完。后来,我就跑下 caffeinate 让它一直醒着,但有时候出去比较长时间,任务做完了还在一直耗电,而且不能合盖,在外面咖啡厅办公就不是很适合。我希望能够 Claude 干活时醒着(可以合盖),干完活正常 sleep 。有个软件 Amphetamine 是 ok 的,但太重了。

    于是写了两个小脚本,cc 帮忙写的,心跳 + 看门狗:

    - 心跳:挂在 cc 的 hooks 上,提交 prompt 和每次工具调用后 touch 一个会话状态文件,回合结束删掉。文件新鲜 = 正在干活,多开几个窗口互不干扰。
    - 看门狗:LaunchAgent 常驻,每 20 秒看一眼,如果有活跃会话且 CPU 不过热,就 `pmset -a disablesleep 1`,合盖也不睡;否则翻回 0 ,恢复正常睡眠。

    状态文件 30 分钟没刷新就按孤儿清掉,所以 Claude 崩了、终端直接关了,机器也不会被永远钉住不睡。过热时看门狗会主动放行睡眠。

    跑了一个多月,还挺稳定的。任务跑着的时候可以随时走开,回来时要么它还在干,要么任务结束,该睡就睡,省电。

    脚本、安装步骤、已知边界(比如后台命令的盲区)都在 gist 里:
    https://gist.github.com/whitefoxx/3579ba4370bdc82eacb0e7ab1f29057b

    好奇大家跑长任务是怎么处理睡眠这事的?
    6 replies    2026-08-02 21:20:49 +08:00
    batnss
        1
    batnss  
       16h 47m ago
    用 mac mini 😅
    Tink
        2
    Tink  
       13h 12m ago
    你是用的桌面客户端?CLI 不存在这个问题吧
    Doragd
        3
    Doragd  
       11h 10m ago
    这类脚本感觉已经不需要了,直接让 cc 帮想办法就行
    cobiao
        4
    cobiao  
    OP
       9h 55m ago
    @Doragd 脚本还是需要的,只是不用你自己手写了,可以让 cc 写
    cobiao
        5
    cobiao  
    OP
       9h 54m ago
    @Tink CLI,你试试吧,跑一个长任务,中途合盖看看是否会中断
    Tink
        6
    Tink  
       9h 25m ago
    @cobiao 用 Claude agents 不会中断呀
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   952 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 22:46 · PVG 06:46 · LAX 15:46 · JFK 18:46
    ♥ Do have faith in what you're doing.