Js Eyes

👁 浏览器自动化,一键热加载扩展技能

OpenClaw 浏览器自动化工具链安装与配置指南,支持动态扩展技能热加载,需开启 allowRawEval 以实现完整功能。

收藏
9.5k
安装
2k
版本
2.8.0
CLS 安全扫描中
预计需要 3 分钟...

使用说明

核心用法

JS Eyes 是 OpenClaw 生态的浏览器自动化基础设施,通过 Chrome/Firefox 扩展与本地 WebSocket 服务器联动,实现网页浏览、表单填充、数据提取等自动化操作。技能以「主插件 + 扩展技能」架构运行:主插件提供核心 js-eyes 工具,扩展技能(如 bilibili、GitHub、知乎等平台适配)通过 skill.contract.js 声明能力,支持热加载无需重启。

典型部署流程

1. 环境准备:Node.js ≥22,运行 npm install 安装依赖
2. OpenClaw 配置:注册 {baseDir}/openclaw-plugin 路径,启用 js-eyes 插件,允许 js-eyes 工具

3. 安全配置:合并 ~/.js-eyes/config/config.json,设置 security.allowRawEval: true(SKILL 合约必需),启用默认捆绑技能

4. 浏览器扩展:安装扩展后,通过 Native Messaging 或手动粘贴同步 server token

5. 验证openclaw js-eyes status 查看服务器与浏览器连接状态,browser/get-tabs 返回真实标签页即成功

扩展技能管理

  • 注册表技能skills/discoverskills/plan-installskills/approveskills/enable 四步安装
  • 外部自定义技能js-eyes skills link <绝对路径> 零重启挂载,unlink 移除
  • 热加载机制SkillRegistry + chokidar 监听配置变更,300ms 内生效

显著优点

| 维度 | 说明 |
|------|------|
| **零重启架构** | 技能增删改、安全配置更新均无需重启 OpenClaw,开发迭代效率极高 |
| **分层安全策略** | 支持 egress 出站白名单、敏感操作确认(consent)、工具级策略(toolPolicies)、raw eval 开关等多层管控 |
| **双模部署** | ClawHub  Bundle 模式与源码开发模式无缝切换,后者支持扩展热重载 |
| **Native Messaging** | 2.4.0+ 支持从主机自动同步 token,消除手动配置摩擦 |
| **完整性校验** | 注册表技能带 `.integrity.json`,防止运行时篡改 |

潜在缺点与局限性

1. 安全权衡:默认 SKILL 合约要求 allowRawEval: true,允许浏览器端执行任意 JavaScript,虽便利但扩大攻击面;doctor 会标记为「预期不安全」
2. Node.js 版本锁定:严格依赖 Node ≥22,旧版本不兼容

3. 浏览器扩展分离:扩展需单独从 GitHub Releases 安装,非一键部署

4. Windows 路径敏感:JSON 中需用正斜杠或转义反斜杠,易配置出错

5. 外部技能无完整性保护extraSkillDirs 中的自定义技能跳过 .integrity.json 校验,需手动审计

适合人群

  • 自动化测试工程师:需要跨平台浏览器自动化与多站点技能复用
  • RPA 开发者:构建基于浏览器的数据采集、表单提交工作流
  • OpenClaw 高级用户:愿意接受 allowRawEval 风险以换取完整 JS 执行能力
  • 技能开发者:利用热加载机制快速迭代 skill.contract.js

不适合:追求极致沙箱安全、拒绝任何 raw eval 场景的企业合规环境(除非接受功能受限的 Safe Default Mode)

常规风险

| 风险项 | 说明与缓解 |
|--------|-----------|
| **Token 泄露** | `server.token` 是 WebSocket 认证凭据,泄露可导致本地权限丧失;建议绑定 loopback、启用 Native Messaging 自动同步而非手动粘贴 |
| **恶意扩展技能** | 外部技能目录可被任意代码执行;生产环境应启用 `verifyExtraSkillDirs` 或仅使用注册表技能 |
| **XSS  via  raw  eval** | `execute_script` 等操作注入恶意 JS;通过 `toolPolicies` 限制敏感工具为 `confirm` 策略 |
| **Native  Messaging 劫持** | 主机启动器脚本若被篡改,可能截获 token;建议从可信源运行 `bin/js-eyes-native-host-install.*` |
| **依赖供应链** | `npm install` 及 `npx` 回退路径接触 npm registry; air-gap 环境需预下载依赖 |

> 注:安全认证报告显示为占位符,未执行实际安全扫描,生产部署建议补充 SAST/依赖审计。

Js Eyes 内容

clients文件夹
openclaw-plugin文件夹
fs-utils文件夹
packages文件夹
client-sdk文件夹
policy文件夹
protocol文件夹
server-core文件夹
server文件夹
手动下载zip · 97.1 kB
js-eyes-client.jstext/javascript
请选择文件