核心用法
JS Eyes 是 OpenClaw 的浏览器自动化技能栈,将 ClawHub 安装的 bundle 转化为完整的浏览器控制环境。核心部署流程包括:
1. 环境准备:确认 Node.js ≥22,在 {baseDir} 运行 npm install
2. OpenClaw 配置:注册 {baseDir}/openclaw-plugin 路径,启用 js-eyes 插件,配置 tools.alsoAllow: ["js-eyes"]
3. 主机安全配置:在 ~/.js-eyes/config/config.json 中设置 security.allowRawEval: true(默认部署需要),并启用捆绑的 first-party 技能
4. 浏览器扩展连接:安装 Chrome/Firefox 扩展,通过 Native Messaging 或手动粘贴完成服务器 token 同步
5. 技能管理:使用 js_eyes_discover_skills / js_eyes_install_skill 安装 registry 技能,或用 js-eyes skills link <path> 挂载外部自定义技能
显著优点
- 零重启热加载:技能目录变更通过 chokidar watcher 实时生效,无需重启 OpenClaw(仅新增工具名时需重启)
- 双轨技能系统:内置 10+ 平台技能(Bilibili、GitHub、YouTube 等)+ 支持任意目录的外部技能
- 精细化安全策略:支持 egress 白名单、工具级 consent 策略、token 认证、匿名连接控制
- Native Messaging 集成:2.4.0+ 支持从主机自动同步 token,告别手动复制粘贴
- 安全策略热重载:
security.egressAllowlist、toolPolicies等字段可在运行时切换
潜在缺点与局限性
- 依赖较重:需要 Node.js 22+、npm 依赖安装、浏览器扩展独立安装
- 默认启用 raw eval:
allowRawEval: true虽为默认部署所需,但本质降低沙箱隔离;安全敏感场景需显式关闭 - 跨平台配置差异:Windows 路径处理、Native Messaging 注册脚本需区分 PowerShell/Bash
- 浏览器扩展分离:扩展需单独从 GitHub/网站下载,不在 bundle 内
- 敏感操作需审批:
execute_script*、get_cookies*等工具默认进入confirm队列,可能中断自动化流
适合人群
- 需要 AI 驱动浏览器自动化的开发者/运维人员
- 已有 OpenClaw 环境、愿意维护 Node.js 运行时栈的技术用户
- 需要跨平台(Bilibili、Xiaohongshu、知乎等)社交媒体自动化场景的用户
常规风险
| 风险项 | 说明 |
|--------|------|
| **代码执行** | `allowRawEval=true` 时 `execute_script` 可运行任意 JavaScript |
| **Token 泄露** | `server.token` 若被截获可导致未授权浏览器控制 |
| **Egress 逃逸** | 策略配置不当可能导致自动化流程访问未授权外网资源 |
| **Native Messaging 权限** | 浏览器扩展与本地主机通信需操作系统级 manifest 注册 |
| **技能完整性** | 手动修改技能文件会破坏 `.integrity.json` 验证导致加载失败 |