Claude Code 应该放在一个私有 PWA 里
长时间的Claude Code任务不应该依赖于笔记本保持开着或Wi-Fi是否在线。在笔记本上运行Claude Code,盖上盖子后它会停止。通过SSH在服务器上运行,断线会停止。
合适的形式是私有的PWA(渐进式网页应用):一个像应用一样安装的网页,只有你能打开。代理在你自己的机器上工作,机器一直开着,你携带的每个设备都是它的窗口。
在笔记本上:你不能盖上盖子
大家从这里开始:claude在项目的终端文件夹里。
然后一个任务需要二十分钟,你得离开。盖上盖子,笔记本进入睡眠状态,客服也带着它进入睡眠状态。一小时后打开它,任务还在你离开的地方,还有二十分钟。
笔记本电脑可以被命令不要睡觉。然后它必须保持原位,供电和Wi-Fi,直到客服完成,你离开时才会失去它。
通过SSH传输:你不会失去Wi-Fi。
所以代理会切换到一台永不休眠的机器:角落里的台式机、Mac mini、租来的服务器。你通过SSH登录并运行claude好了。
现在,盖子无法停止机器。它仍然可以停止连接,代理只能在连接结束时存活。一旦失去Wi-Fi超过一瞬间,让笔记本进入睡眠或切换到其他网络,SSH会话就会中断。
Claude Code在工作中途被切断。claude --resume这让对话回来了,但暂时不会带来它本应带来的效果。
TMUX修复了这一点。它让服务器上的终端保持活跃,没有人连接,所以代理继续工作,你稍后再连接。它还会给你一份任务清单:
- 每次都先开始TMUX操作。结果变长的任务就是你没用它开始的那个。
- 记住每场对话,每次掉帧后都连接到正确的对话。
- 在你想查看的设备上安装终端应用和SSH密钥。在手机上,每个多变操作指令都以Ctrl-B开头,按触摸键盘输入。
- 偶尔看看它是否完成了,因为没有什么能告诉你。
这些都不难。这只是后勤问题,每天都会回来。
作为PWA:两者都无关紧要
把这两条教训结合起来。特工属于那台永远开着的机器。你手中的东西应该只是它的一个视角,随时可能消失,回来时无所损失。
网页就是这种视图。每个设备都已经有浏览器,所以不需要设置终端应用,也不需要复制SSH密钥。失去连接的页面可以自己重新找到它。
而作为PWA安装的页面会有一个图标、自己的窗口和通知,这样它就能告诉你代理完成了什么时候。
exe 就是这样构建的。它是你浏览器中的桌面,由你拥有的机器运行,Claude Code 是其中一个窗口。
- 每次对话都是机器上的一次会话。关闭标签页,盖上盖子,切断Wi-Fi:代理继续工作。
- 一栏列出了会议内容。一个跳动的绿色点标记着仍在运行的窗口,一个黑点标记着等待你的窗口。一个连接中断的窗口会自动重新连接。
- 每个设备都会触发同一个对话。在笔记本上启动一个任务,然后用手机查看。
- 手机会告诉你完成了。打开通知时,显示Claude代码已完成,点击即可打开该对话。
窗口下仍然是 tmux:每个会话都是 tmux 会话,exe 会启动、命名并附加给你。tmux 的功能没有改变。后勤工作已经从你转移到了应用上。
只有你能打开它
Claude Code 的窗口是你机器上的一个 shell,背后是你的代码和登录。它不能是开放互联网上的页面。
exe 依赖于 Tailscale。Tailscale 是你设备之间的私有网络,它从你所在的位置访问机器。exe 监听机器在该网络中的地址,所以桌面只能从你的笔记本、平板和手机打开,其他地方都无法访问。
在这上面有一个 API 令牌,也就是桌面的密码。
在你拥有的机器上
那就只剩下机器了。理想情况下是家里一台小机器:NVIDIA DGX Spark或Mac mini。这两台都很安静,占用空间小,可以白天夜晚都用。
Tailscale可以直接到达那里,路由器上没有开端口。
那台机器的工作远不止是终端。代理的构建和测试都运行在那里。虚拟机执行文件也提供代理作为沙盒,以及你自己运行的任何模型。这需要核心、内存和GPU,而DGX Spark有20个核心和一个与它们共享128GB内存的GPU。
你可以在云端租用。但那么多内存的GPU是按小时计费的,这台机器不能在任务间关机,因为客服住在上面。全年开着,租金比盒子成本还高。
你拥有的盒子一次性付清了一次。
试试看吧
你需要一台Linux机器或Mac,保持开机状态,安装tmux并安装Claude代码并登录。Tailscale可以安装在那台机器上,以及你查看的每一台设备上。
curl -fsSL https://exe.v2core.com/install.sh | sh
- 当安装程序询问exe应监听哪里时,选择Tailscale地址。它会建议API令牌,并打印桌面地址。
- 把HTTPS放在桌面前面,用Tailscale 服务这会让它保持在你的私有网络中。作为应用安装和通知都需要 HTTPS。
- 打开手机桌面,提示时粘贴令牌,然后安装它: 添加到iPhone主屏幕。
- 打开通知.
剩下的都在入门指南,且源点为github.com/livid/exe.
然后打开Claude Code,给它写个长的,盖上盖子。