为了让 claudecode 和 codex 合上盖也能跑完,我折腾出了个小工具

12 小时 42 分钟前
 jinininx

事情是这样的。有天晚上我挂着 Claude Code 跑一个要改一大堆文件的活儿,进度在爬,估摸着得二十分钟。我懒得干等,合上盖打算去洗个澡,回来收工。

回来一看,进度停在我合盖那一秒。Mac 睡了,agent 也跟着断了。

我不死心,查了半天才明白 macOS 就这脾气:想合盖不睡(官方叫 clamshell ),非得插着外接显示器加电源才给你开。我一个人抱着笔记本瘫沙发上,上哪儿找显示器去。

网上翻到唯一能用的招,是一行命令:

sudo pmset -a disablesleep 1

敲下去还真管用,合盖照跑,我美滋滋用了几天。直到某个早上,我从包里掏出发烫的 MacBook ,电量 3%——它前一晚压根没睡过,那行命令我忘了关。

这么被坑了两回,我火了,干脆自己写一个。要求很简单:一个开关,合盖让它跑,跑完自动把休眠还回去,别让我惦记着手动关这种破事。

后来越写越顺手,就成了 Nemuri https://nemuri.app

现在它长这样:合盖的时候替你盯着每个 agent ,谁在等你确认、谁还在跑,一眼就看到;活干完了,它自己去睡。

我还给自己立了条死规矩:绝不能把机器搞成永不睡然后忘掉。所以这 app 哪怕崩了、被你强杀、重启、甚至卸载,它都会先把休眠状态还原回去再走。这条我看得比什么功能都重。

免费版就是那个手动开关,日常够用,开源、签名公证都做了,macOS 13 以上装上就能用,不用注册。

免费版长这样,朴素,但管用。

嫌手动麻烦,有个 Pro 自动挡,能自己认出 agent 是真在干活还是在发呆,¥133 买断绑 3 台。不过真心话,先用免费版,用到觉得离不开了再说。

( Claude Code 和 Codex 都支持。)

官网 https://nemuri.app 代码 github.com/syfssb/nemuri

一个人做的东西,肯定有我没踩到的坑。你要是也经历过「合盖回来发现 agent 死在半路」,抓个免费版试试;顺手的话去 GitHub 点个 star ,我看到会挺高兴,也算有动力接着做下去。有 bug 或者哪儿别扭,评论里吱一声,或者发我 jinininx@gmail.com

561 次点击
所在节点    分享创造
10 条回复
skuuhui
12 小时 36 分钟前
Amphetamine
bootvue
12 小时 33 分钟前
合上盖不怕烤坏屏幕
nyw17
12 小时 27 分钟前
https://github.com/TY-teo/StayAwake
相同的困扰产生类似的轮子
wonderfulcxm
12 小时 3 分钟前
我是运行 caffeinate -dimsu

然后勾选 ChatGPT 里的“在 ChatGPT 运行任务时,让电脑保持唤醒状态”
jinininx
11 小时 32 分钟前
@skuuhui Amphetamine 确实好,免费又成熟,我不觉得它有啥毛病。区别在粒度:它是你手动开一个保持清醒的 session,或者挂个触发器(某 app 在跑 / CPU 高过阈值)。它不知道你的 agent 到底跑完没——你要么开着容易忘,要么设个不太准的触发条件。Nemuri 就盯 Claude Code / Codex 这一件事:读它们的 hook 、notify,分得清在跑、在等你确认、还是真干完了,干完自动放它睡,还带个冷却。说白了 Amphetamine 是通用的「别睡」,Nemuri 是替 agent 收尾的那一下。你要是不嫌手动管 session,Amphetamine 完全够用。
HappyAndSmile
11 小时 25 分钟前
caffeinated 不就可以吗,感觉有点多余了
jinininx
11 小时 21 分钟前
@wonderfulcxm caffeinate(还有 ChatGPT / Codex 那个"保持唤醒"选项)拦的是空闲休眠——屏幕开着别睡。但你盖子一合,macOS 会强制进 clamshell 睡眠,caffeinate 那几个 assertion 一律拦不住,除非插外接显示器。合着盖还要跑,系统层面只有 pmset disablesleep 一条路。所以你要是开着盖用,caffeinate 完全够,Nemuri 对你确实多余;Nemuri 的整个存在意义就是"合盖"那个场景。-dimsu 也一样,合盖照睡。
jinininx
11 小时 18 分钟前
@HappyAndSmile caffeinate 是 macOS 自带的防休眠命令,开着盖用它确实够,这点没错。但它拦的是空闲休眠——你一合盖,macOS 就强制睡了,caffeinate 那套 assertion 拦不住(除非插外接显示器)。Nemuri 专门补的就是"合盖"这一步:合着盖让 agent 接着跑、跑完自动睡。所以你要是习惯开着盖,它对你确实多余;想合盖走人的话,caffeinate 就不管用了,这也是我当初写它的原因。
wonderfulcxm
10 小时 58 分钟前
@jinininx 没有啊,我就是合着盖用的。
alk062003
1 小时 33 分钟前
caffeinate -s

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1229327

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX