一日一技:今年的Aha Moment,WSL 里的 OpenClaw 反向控制 Windows 宿主机

摄影:产品经理

昨天下班回家的路上,我突然心血来潮,想看看推特上的技术圈最近都在聊什么。

于是我习惯性地给我的 OpenClaw 发了一条指令:“帮我连上宿主机上的浏览器,看一下我推特时间流上面最近有什么内容。”

关于使用 OpenClaw 配合 WSLg 绕过浏览器风控的细节,详见:一日一技:骚操作,利用 WSLg 实现人机接力,让OpenClaw绕过浏览器检测

没想到,它竟然给我报错了:无法连接远程浏览器调试端口 (9222)。

看着手机屏幕上的报错信息,我才猛然想起:糟糕,早上出门前那台 ThinkPad 因为系统更新自动重启过! 虽然 OpenClaw 服务我是设了开机自启,但 Chrome 浏览器的远程调试模式并没有自动启动。

这下尴尬了。人还在地铁上,家里的电脑虽然开着,但浏览器没开,AI 就像是个盲人,啥也干不了。

0x01 思路:能不能远程把它打开?

作为一个技术宅,第一反应当然是:能不能远程连回家里的电脑,手动把浏览器打开?

我的 iPhone 和家里的 Windows 电脑虽然在同一个虚拟局域网(Tailscale)下,但这台 ThinkPad 预装的是 Windows 11 家庭版。众所周知,微软为了区分产品线,把家庭版的 RDP(远程桌面服务)给阉割了。

也就是说,我想用手机上的微软远程桌面 App 连回家,这条路是堵死的。

那怎么办?装 TeamViewer?向日葵?但我人不在电脑前,怎么点击安装包的“下一步”?

0x02 试探:WSL 的边界在哪里?

这时候,我的目光重新落回到了 OpenClaw 上。它虽然跑在 WSL (Windows Subsystem for Linux) 的 Ubuntu 环境里,但这毕竟是 WSL,而不是那种完全隔离的 VMware 虚拟机。

如果是虚拟机, guest OS 想要控制 host OS,除了通过极其复杂的网络穿透或者特定的 API,基本是不可能的。

但 WSL 不一样。 它本质上是和 Windows 共享内核资源的。

于是,我抱着试一试的心态,向 OpenClaw 抛出了一个问题:

“你能不能查一下这台宿主机 Windows 的系统版本?”

我原本预期它会告诉我:“对不起,我在 Linux 容器里,无法访问宿主机信息。”

结果秒回:

它竟然真的查到了!

这说明 WSL 确实打通了通往 Windows 的管道。既然能读取信息,那能不能写入(执行)操作呢?

于是我继续追问,这次更加大胆:

“那你能不能帮我在宿主机上面安装一个远程控制软件?”

其实我已经做好了被拒绝的心理准备。毕竟安装软件这种高权限操作,跨系统环境大概率是会被拦截的。

没想到,AI 的回答让我大吃一惊:

“当然可以!只要宿主机上有 winget(Windows 包管理器),我就可以通过命令行静默安装软件。要我帮你装 RustDesk 吗?”

卧槽?还有这种操作?

0x03 实战:AI 在 Linux 里指挥 Windows

接下来的过程,简直就是见证奇迹的时刻。

我让OpenClaw帮我安装RustDesk,它竟然真的很快就完成了

3. 获取连接信息

软件装好了,但我还是看不到界面上的 ID 和密码啊。我进一步提问,能不能帮我设置ID和密码,没想到OpenClaw又完成了。

0x04 结局:掌控一切

我在 iPhone 上打开 RustDesk App,输入 ID 和密码。

屏幕一闪,熟悉的 Windows 桌面出现在了我的手机上。

我熟练地滑到任务栏,右键点击 Chrome 图标,选择“以调试模式启动”。然后切回 OpenClaw 的对话框:

“好了,现在再去帮我刷推特吧。”

“好的主人,正在为您读取推特时间流……”

0x05: 原理

我非常好奇OpenClaw是怎么做到这些的,它给我的回答是,RustDesk有非常好的命令行接口,所以可以通过命令完成账号密码的设置。

0x06 总结

这件事给了我两个重要的启示:

  1. WSL 的互操作性 (Interop) 被严重低估了。 它不仅仅是一个能在 Windows 上跑 bash 的工具,它实际上给了我们一个极其强大的、可编程的 Windows 控制台。只要你的脑洞够大,利用 Linux 强大的脚本能力去驱动 Windows,玩法多得是。
  2. AI + CLI = 无限可能。 现在的 GUI 软件如果没有 CLI 接口,在 AI 时代将变得寸步难行。而像 Winget、RustDesk 这样提供了完善命令行支持的工具,在 AI 的加持下,能爆发出惊人的自动化潜力。

下次谁再说 Linux 和 Windows 是两个世界,我就把这篇文章甩给他看。在 AI 手里,它们明明就是一家人。