同步自我的 L站點
问题引入
各位佬习惯 vibe coding 了吗
,是否习惯了在电脑前坐一天,看看视频,偶尔同意下权限,偶尔补一条prompt的生活。
对我来说,还有几个痛点:
- 必须坐在电脑前面。偶尔出门唱个 KTV、出门散个步,可能就会因为 agent 等待授权/等待 prompt 停止。同时也难以监控 agent 的运行状态。再比如,早上刚起床不想下床,想马上用手机启动一个任务跑起来。
- 对于 openclaw (或其它类似产品) 用户,让它去工作/监控 agent 感觉不是那么靠谱——编程的事还是让专业的 code agent 来吧。
所以我研究出了能无缝切换、允许多设备同步访问的 agent 工作流!
工作流配置
我使用 OpenCode 自带的网页端 + tailscale 实现了多端访问。
注:OpenCode 可能比较冷门,但它是相当好用的一个 agent,还自带网页端。如果你用 claude code/codex 等,也有一些启动网络服务的第三方项目;整体替换掉文中的 OpenCode 应该没有问题。欢迎大家留言推荐这些项目!
1. Agent 配置
1.1. 服务端
通过以下命令启动一个 opencode web server:
$ opencode serve --hostname 127.0.0.1 --port 56666
随后访问 http://localhost:56666 就可以进入 OpenCode 的网页版了:
你可以使用 systemd (for linux) 或其它的软件去自动开机运行该命令;由于各个系统不同,恕不给出相关配置方法,直接问 AI 如何配置就好。
1.2 客户端
如果你觉得这个网页不错,那以后就都使用这个网页就可以了。
但是要注意的是,直接像原来一样使用 OpenCode TUI 是不行的。 opencode 命令会自行再启动一个 server + tui client。所以,再按 Ctrl + C 退出 TUI 会同时中断该新启动的服务器,从而会中断任务。推荐使用 opencode attach 命令,attach 到现存的这个服务器。可以设置一个 shell alias,比如在 bash/zshrc 下,向 .bashrc/.zshrc 中加入:
alias opencode='opencode attach http://localhost:56666 --dir "$PWD"'
这样启动的 opencode,即使退出 TUI 任务也不会中断。所以你可以在任何时候直接 Ctrl + C 掉当前 TUI,用手机打开页面继续监测/给指令(比如去上厕所)。统一使用一个 OpenCode server 对于多端同步的好处多相当大的。
2 使用 tailscale 配置私有 VPN,让手机能访问 OpenCode 网页
tailscale 可以帮助你在自己的多台设备之间建立通道(可以穿透 NAT 等),我们会使用它来将 127.0.0.1:56666 这个 web 服务暴露给你的手机/另一台电脑等其它设备。
- 首先在本机上下载 tailscale;
- 然后登录:
sudo tailscale login,点击弹出的连接,用谷歌等账号登录。结果大概如图:
- 开启服务:
tailscale serve --bg --tcp=56666 localhost:56666。你可能会遇到需要 sudo 等问题,按照它的报错信息添加OPERATOR即可。该命令输出类似于:
记下第一行这个形如<device>.<id>.ts.net结尾的网址,之后会用到 - 在手机上/其它设备上再下载 tailscale,并用与之前相同的谷歌等账号登录。开启 tailscale 的 VPN 后,浏览器访问
https://<device>.<id>.ts.net:56666——这时,你就能看到 OpenCode 的网页端了:
以后你就可以随时在多设备间切换了——事实上所有的项目都还是在起了 OpenCode server 的那台机器上跑。
如果你的多设备本身就可以直连(比如在同一个 WLAN 中),那 tailscale 会直接直连;否则可能需要使用公共服务,速度会比较慢(但是能用)。在附录中给出了解决方法。
附录
A.1 使用 peer relay 减少延迟
要解决设备不能直连时使用公共服务的延迟过大的问题,可以使用 tailscale 的 peer relay 功能。这需要你有一台(最好是国内、直连速度快的)云服务器,不需要公网 IP,能直连就行。我个人是使用腾讯云最便宜的 2c2g。
具体细节可以参考如下博客,我也是根据这篇博客配置的。
A.2 (安卓)手机端同时使用 tailscale 和其他 VPN
安卓在同一时间只能启用一个 VPN,所以会造成 tailscale 和其他一些软件的冲突。你可以参考以下博客使用工作空间去解决这个问题:
如果你是小米手机,炼妖壶会有些问题;可以看如下 issue: 小米12手机用炼妖壶分身每一个软件都得在壶中界设置里点击“修缮壶中界” · Issue #360 · oasisfeng/island · GitHub 。需要在开发者模式中关闭“应用优化”,并在克隆每个应用前点击“修缮壶中界”。
A.3 除了 OpenCode,我还想用其它软件!
我还启了 CPA, FileBrowser, ttyd, code-server 这几个 web 服务,然后以相同道理用 tailsclae 代理端口即可。其中 FileBrowser 还是挺必要的,可以用来上传、下载文件。另外,直接使用 10.xxx.xxx.xxx 的设备 IP 还能 ssh 上去。
<domain>.<id>.ts.net和<10.xxx.xxx.xxx>的区别在于,前者必须要tailscale serve挂上去才能用,但后者可以由任意 taiscale 网内设备访问任何端口,效果就像在当前设备访问127.0.0.1一样。



