前言
Vibe Coding,相信读者都应该清楚其概念。简单的Vibe Coding方式需要你持续端坐在电脑前面,和那些TUI或者GUI页面进行交互。交互的本质其实很简单,人与Agent之间的交互都可以规约于文字,或许再添加一个可选的图像。而这两部分,并不必须要求你使用电脑与其交互,电脑实质上只是提供了一个供程序运行的环境。也就是说,技术上来说,我们完全可以在交互这一流程脱离电脑,使用更加方便的手机进行交互。这一理念在之前的文章(好久之前,或许是去年了)也有介绍。
最近把Coding Agent换成了OpenCode,下面补充一下目前我使用的一套还算顺手的OpenCode流程。
主要方法
有一种方法最为简单,即利用远程控制软件,用手机远程控制电脑完成任务。但这一步实际上违背了我们前面的初衷,没有利用手机便捷易操作的特性,转而还是使用类似电脑的方式来进行操作。这种方法仅在应急或不需要经常操作的情况下推荐使用。
opencode其实不仅只能通过像Claude Code的TUI来进行交互,它还允许用户通过opencode web的方式启动一个服务器,并且官方还自带一个精简的前端(似乎也是桌面端应用所用的)来和后端进行交互。更惊喜的是,通过这种方式进行交互,从我的体验反馈来看,自定义的插件(如OMO,oh-my-opencode)都工作良好。
因此一种最简单的方式是,在电脑上运行一个绑定到可被远程访问的ip上的服务器,然后在远程进行访问即可。如果在家中,想要使用手机操控非常简单,因为WLAN局域网直接将手机和电脑进行组网,只要电脑保持打开,运行服务器后,手机就可以打开浏览器访问了。官方自带的基本前端看似简陋,但实际用下来常用的功能有95%可以使用手机代替了。唯一不太方便的是涉及到一些需要我们在电脑上当作用户来验收成果的时候,这种情况下还是建议使用电脑来进行操作。
对于我们人和电脑不在一个WLAN的情况下,我们还可以使用Tailscale等软件,进行远程组网。只需要在电脑和移动设备上都安装Tailscale软件,并且添加到一个网段里面,在手机上就可以实现远程访问了。更近一步,如果你在一些远程主机上也有OpenCode进行开发的需求,也可以把这些机器使用Tailscale组网。这里仅提供一个思路,具体配置方法相信对读者来说不是问题,希望思路对您有所启发。
对于Windows,你可以参考我编写的一个.bat脚本,可以以一个命令启动服务器,使之可以用远程进行访问。出于安全的原因,建议设置访问密码。设置完成后,浏览器打开相应地址输入密码的时候,用户名默认为opencode。
1 | @echo off |
运行脚本即在后台启动服务器,手机就可以连接了。
更近一步,我最近发现了一个第三方的开源OpenCode WebUI,整体体验更加美观好用,但目前还处于早期开发阶。该WebUI不需要单独部署,在里面填入上面一步部署的后端地址就可使用。注意对于一些后端实例可能需要在命令中添加--cors "https://lehhair.github.io" 来解决CORS跨域问题,感兴趣的读者可自行体验。
上述主要是思路和经验分享,具体技术细节和安全问题请读者自行查阅与调研。
后记(碎碎念)
许久未和读者见面了,之前几个月其实有很多所见所思未能分享。这篇文章是纯手写的,在AIGC泛滥的当下,还是想真正给互联网贡献一些更有价值和思考的内容。并不是说用AI辅助写出来的文章就没有可读性。之前一直在怀疑动手写文章的必要性,因为似乎让Agent帮你按照思路生成一篇文章是更加方便的事情,也因此好几个月没有写博客的打算。后来我发现写文章并不是只是为了读者,更是为了自己能把一些事情想得更加深入和透彻,在动手的过程中,思路更加清晰了。再不济,也未尝为一种娱乐与体验。或许之前被称为“工作”的东西,在未来大多会成为一种“娱乐”或“艺术”。请允许我这次更多地为自己而写。