笔记本休眠时如何让 Claude Code、Codex 和 OpenCode 继续运行(Wi-Fi 断开、合盖、唤醒)

一套实用的连续性方案:把会话放在不会休眠的地方运行,移动时使用更抗断线的连接,并用交接和队列避免丢失工作。

基于版本
CLI
0.2.17
预览 ref
a2c45c8

“笔记本休眠”看起来只是个小麻烦。

但当你运行较长的编程会话(Claude Code、Codex、OpenCode)时,休眠就成了真正的故障:

  • Wi-Fi 断开
  • 合上盖子
  • 终端卡住
  • 网页界面的数据流不再更新

……然后你就得面对一个很难回答的问题:

会话真的停了,还是我只是看不到它了?

这篇指南就是针对这个问题的连续性方案。

它不是某个神奇技巧,而是几层选择的组合,让“合盖、移动、恢复”变得可靠、可重复。

要点

  1. 如果你希望会话在笔记本休眠后依然存活,就不要在笔记本上运行它。
    • 在不会休眠的机器(服务器 / 台式机 / 开发机)上运行会话。
  2. 如果你必须从移动中的笔记本或手机通过 SSH 连接,就用为断线设计的连接方式(Mosh)。
  3. 如果你想要手机优先的工作流:
    • 使用能安全重连并显示“需要处理的事情”的界面,并且
    • 使用队列,这样会话离线或恢复中时,追加消息也不会消失。
  4. Happier 是可以帮上忙的选项之一:它支持会话移交(把正在运行的会话转移到另一台机器)和待发送队列(在就绪前保存消息)。

问题(用大白话说)

有两个经常被混为一谈的问题:

  1. 进程停了。
  2. 进程没问题,但你的连接或视图断了。

笔记本休眠主要破坏的是 (2)。

但身处其中时,感觉像是 (1),于是人们会做出糟糕的选择:

  • 新开一个会话
  • 粘贴一段摘要
  • 丢失上下文

常见做法及其取舍

  • “别让笔记本休眠就好”:在出问题之前都能用。
  • SSH + tmux:聊胜于无,但在移动或切换网络时依然脆弱。
  • 远程桌面:很重,而且仍然解决不了休眠问题。

真正有效的是两项改进:

  • 在稳定的主机上运行会话(笔记本只是客户端)
  • 让“重连和追加消息”变得可靠(连接方式加队列)

对于第二点,Happier 是一款开源应用,让你跨设备运行和编排 Claude Code、Codex、OpenCode 及其他代理。

方案 A(推荐):在不会休眠的地方运行会话

如果会话很重要,就把它运行在:

  • 服务器
  • 台式机
  • 开发机

这样笔记本休眠就是客户端的问题,而不是会话的问题。

这也让手机使用变得合理:你连接的是稳定的主机,而不是押宝在一台马上要塞进包里的笔记本上。

方案 B:如果从移动中的机器 SSH,就用 Mosh

Mosh 正是为这类痛点而生的。

它被设计为能扛住:

  • IP 变化
  • Wi-Fi 断开
  • 笔记本休眠

取舍:它需要 UDP,而且不能直接替代 SSH 的所有功能。

但对于“我只需要终端会话一直存在”的需求,它是省事又见效的办法。

方案 C:使用适合手机的界面,把重连当作核心功能

工具之间的差异在这里显现。

有些产品基本上是“终端优先”,连接问题需要你自己处理。

另一些则提供手机或浏览器界面,能够重连、显示会话状态并突出审批请求。

Happier 的工作流(移交加待发送队列)

如果你的具体问题是:

  • “我在笔记本上开始了,但需要合上它”

那么干净的解决办法不是让笔记本一直开着。

而是把正在运行的会话转移到一台能持续运行的机器上。

在 Happier 中,这就是会话移交(Session handoff):

  • 会话 ID 不变
  • 所属机器改变
  • 对话在目标机器上继续

而对于“我在它离线或恢复中时发了追加消息”这类痛点,Happier 的待发送队列就是安全网:

  • 会话离线或未就绪时保存消息
  • 可以编辑、重新排序、删除
  • 真的需要打断时可以立即发送

故障排查

休眠后数据流不再更新

先把它当作重连问题处理:

  • 刷新或重新连接
  • 确认你指向的是正确的机器和会话

如果工具在休眠后有已知的状态过期问题,升级往往能解决。

我发了一条消息,它消失了

这正是队列的用途。

如果你的工具没有持久的待发送队列,唯一安全的做法就是等到你确定会话已经就绪。

相关指南

mobilecontinuityclaudecodexopencoderemote
最后更新: 2026-10-26