OpenClaw 接入摄像头实战:WSL2 下的视觉方案探索
最近有个想法,想让 OpenClaw 控制摄像头分析图片。比如有一本没有电子版的书,希望它能通过摄像头读取重点内容并讲解给我听。
尝试 Node.js 方案(失败)
最初的想法是让运行在 WSL2 里的 OpenClaw AI 助手直接调用 Windows 的摄像头。为此我尝试了 OpenClaw Node 配对方案,但遇到了不少阻碍。
环境配置问题
在 WSL 里安装 OpenClaw 后,系统提示需要在 Windows 上安装 Node.js 和 npm。这个过程并不顺利:
-
执行策略限制:PowerShell 默认禁止运行脚本,报错
npm : File ... cannot be loaded。- 解决:设置执行策略为 RemoteSigned。
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser -
依赖缺失:npm 需要 Git 环境才能正常工作。
- 解决:手动下载并安装 Git for Windows (v2.47.1)。
-
配置冲突:之前尝试配置
npm config set git false导致后续安装失败。- 解决:删除错误的 git 配置项。
网络隔离与端口占用
即使解决了环境问题,Node 服务启动后依然无法与 WSL Gateway 建立稳定连接。主要问题集中在 WSL2 的网络架构上:
- 端口占用:WSL Gateway 已占用 18789 端口,Windows Node 无法绑定。
- 网络隔离:WSL2 运行在 Hyper-V 虚拟机中,与 Windows 主机网络隔离。WSL 的 localhost (127.0.0.1) Windows 访问不到。
- 签名验证失败:即使通过端口转发连通,device signature 验证也过不去。
gateway connect failed: Error: device signature invalid node host gateway closed (1008): device signature invalid
经过数小时的排查,确认 WSL2 架构限制导致 Windows Node 无法与 WSL Gateway 建立可靠连接,决定放弃此路径。
浏览器中继方案(临时可用)
作为临时替代,可以使用浏览器插件配合在线测试网站来预览画面。这种方式虽然能直接调用设备摄像头,但依赖 Chrome 扩展且无法实现自动化控制。
- 优点:无需安装额外软件,支持拍照、录像及参数检测。
- 缺点:需手动操作浏览器,无法集成到自动化流程中。
实测摄像头硬件正常,分辨率为 1280×720,帧率 15 FPS,但无法满足自动化需求。
Python + OpenCV 本地方案(推荐)
最终采用 Python 结合 OpenCV 编写本地程序,这是最稳定的方案。只需一条指令,AI 即可调用摄像头获取画面并进行分析。
安装依赖
pip install opencv-python
OpenCV 是成熟的计算机视觉库,支持摄像头访问、图像处理等功能。
编写脚本
我编写了两个版本的脚本,分别用于实时预览和自动拍照。



