让远程AI的“眼睛”长在你桌面上:解决反爬与验证码介入的终极方案
引言:当AI遇到验证码,谁来按下“确认键”?
在追求极致自动化的工作流中,我们往往希望Hermes一类的AI助手能像“打工人”一样,24小时不眠不休地替我们处理网页任务。
然而,现实往往是骨感的。现代网站的登录认证反爬机制卷到了极致,单纯让AI在服务器上开启Headless(无头)模式盲操,成功率低得可怜。
我们不得不面对的残酷事实:
| 验证类型 | 难度等级 | AI 自动化成功率 |
|---|---|---|
| 短信验证码 | ⭐ | 30% - 50% |
| 滑动验证码 | ⭐⭐ | 10% - 30% |
| 点选验证 | ⭐⭐⭐ | < 10% |
| 图形验证码 | ⭐⭐⭐⭐ | < 5% |
| 人脸识别 | ⭐⭐⭐⭐⭐ | ≈ 0% |
核心痛点: 如果AI在远程服务器上遇到了验证码,它无法把“图片”传给你,你也无法把“操作”传给它。这时候,你只能看着任务失败,然后回归手操作业,这完全违背了自动化的初衷。
现有方案的局限
Hermes官方提供了两种浏览器自动化方案:
- 商业云模式:效果好,但成本高(太氪金)。
- 本地Linux模式:要求用户在本地电脑安装Linux,这在中国用户普遍使用Windows作为主力机的环境下,显得格格不入,而且就算用上WSL,也有隐私泄露风险,极不安全。
我们的使用场景其实很简单: 我有一台Windows电脑(用来观察和Debug),我有一个云端hermes或者openclaw 助手(在云端linux服务器)。我希望服务器上的浏览器能“投屏”到我的Windows桌面上。如果遇到验证码,我能第一时间看到并手动输入,然后把控制权交还给AI。
解决方案:利用 X11 转发实现
要实现这一目标,我们需要利用Linux的图形界面底层协议——X11。简单来说,X11允许图形程序的“计算”和“显示”分离。我们可以让浏览器在Linux上跑,但把画面通过SSH隧道传输到Windows上显示。
以下是保姆级配置教程,只需三步。
第一步:本地 Windows 配置 (X11 服务器)
我们需要在Windows上安装一个X11服务器软件,用来接收Linux传来的画面。
1. 下载 VcXsrv 访问 VcXsrv 的 GitHub 发布页,下载最新版本的安装包。
- 下载地址: VcXsrv Releases
- 文件选择: 下载
vcxsrv-xxx.x64.exe
2. 安装与配置 (关键步骤) 安装过程很简单,一直点 “Next” 即可。安装完成后,通过开始菜单启动 XLaunch。
在配置向导中,请严格按照以下步骤操作:
-
Step 1 (Multiple windows): 选择 “Multiple windows”,点击 Next。

-
Step 2 (Start no client): 选择 “Start no client”,点击 Next。

-
Step 3 (Extra settings): 这一步至关重要!必须勾选 “Disable access control” (禁用访问控制)。如果不勾选,Linux服务器将无法连接到你的Windows显示器。

- (注:由于安全策略,这里建议仅在内网或信任环境下勾选)
-
点击 Next → Finish。
3. 验证运行 配置完成后,任务栏会出现VcXsrv图标。你可以打开CMD,输入 netstat -an | findstr "6000",如果看到 0.0.0.0:6000 LISTENING,说明你的Windows已经准备好接收远程画面了。
第二步:SSH 客户端配置 (建立隧道)
为了让画面安全传输,我们需要在SSH连接中开启X11转发功能。
请根据你使用的SSH工具进行设置:
-
Tabby 用户:
- 打开 Settings (设置)。
- 找到 SSH Profiles (连接配置)。
- 在 “Terminal” 或 “SSH” 选项卡下,勾选 “X11 forwarding”。
-
MobaXterm 用户: MobaXterm 默认支持,无需额外配置,它内置了X11服务器。
-
PuTTY 用户:
- 打开 Connection → SSH → X11。
- 勾选 “Enable X11 forwarding”。
- (可选) 在 “X display location” 填入
localhost:0.0。
连接服务器后,系统会自动设置环境变量 DISPLAY。你可以输入 echo $DISPLAY 检查,通常会显示为 localhost:10.0 或类似内容。
第三步:启动远程浏览器 (Linux端)
现在,一切准备就绪。在你的SSH终端中运行以下命令,启动一个支持远程显示的Chrome浏览器实例:
google-chrome \
--remote-debugging-port=9222 \
--user-data-dir=/tmp/chromium-session \
--no-sandbox \
--disable-gpu \
--display=$DISPLAY \
https://stock.51longterm.cn:9443
** 参数解析:**
--display=$DISPLAY: 这是最关键的参数,它告诉浏览器:“你的屏幕在SSH隧道的另一头(也就是我的Windows电脑上)”。--no-sandbox: 在服务器环境下通常需要关闭沙盒以避免权限问题(生产环境请谨慎)。--remote-debugging-port: 为Hermes提供连接接口。
如果一切顺利,一个Chrome浏览器窗口会突然弹出在你的 Windows 桌面 上!然后用/browse connect指令,让hermes接管这个浏览器。虽然它的内核在千里之外的Linux服务器上运行,但你可以在本地看到它的一举一动,看着AI怎么愉快地玩耍。
结语:
通过这套配置,我们成功构建了一个完美的工作流闭环:
- Hermes 在Linux服务器上指挥浏览器自动浏览网页。
- 当遇到图形验证码或短信验证时,画面实时传输到你的Windows桌面。
- 你 作为“安全员”,手动完成验证步骤。
- 验证通过后,Hermes 检测到页面变化,继续接管后续的自动化任务。
一切都很完美,明天就用它来搬砖!
后台有朋友私信问如何安装google-chrome,我这里有deb安装包,请自行下载 :https://download.csdn.net/download/zhanggxlinux/92846611?spm=1001.2014.3001.5501
安装方法:
sudo apt install ./google-chrome-stable_current_amd64.deb
openEuler 是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持 ARM、x86、RISC-V、loongArch、PowerPC、SW-64 等多样性计算架构
更多推荐
所有评论(0)