Js Eyes

👁 OpenClaw 浏览器自动化中枢

为 OpenClaw 提供浏览器自动化能力的官方技能,支持网页操作、脚本执行和动态技能扩展,需开启 raw eval 以获完整功能。

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

使用说明

JS Eyes 技能综合评估

核心用法

JS Eyes 是一套面向 OpenClaw 的浏览器自动化技术栈,通过 Node.js 服务端与浏览器扩展的 WebSocket 连接实现远程网页操控。核心工作流包括:

1. 基础部署:在 {baseDir} 执行 npm install,将 {baseDir}/openclaw-plugin 注册到 OpenClaw 的 plugins.load.paths,并启用 js-eyes 插件入口
2. 安全配置:必须配置 ~/.js-eyes/config/config.json 启用 security.allowRawEval: true 以获得完整功能(虽被标记为不安全,但这是该技能的标准部署模式)

3. 浏览器连接:安装浏览器扩展后,通过 Native Messaging 主机或手动输入 Server Token 建立与服务端的认证连接

4. 动态扩展:支持通过 js_eyes_discover_skills/js_eyes_install_skill 安装注册表技能,或通过 js-eyes skills link <path> 热加载外部自定义技能

显著优点

  • 零重启热加载:技能文件变更通过 chokidar 监听自动生效,无需重启 OpenClaw
  • 双轨技能管理:区分注册表技能(需审批/启用流程)与外部技能(直接 link/unlink)
  • 细粒度安全策略:支持 egress 白名单、工具级 consent 策略、会话级权限控制
  • 安全策略热重载egressAllowlisttoolPolicies 等配置可实时生效(500ms 内)
  • Native Messaging 集成:浏览器扩展可自动同步服务端 token,无需手动复制粘贴

潜在缺点与局限性

  • 强制 raw eval:标准部署需开启 allowRawEval: true,本质上放宽了代码执行安全边界;关闭后将禁用 execute_script* 等核心工具
  • Node.js 版本锁定:要求 Node.js ≥22,旧环境需升级
  • 浏览器扩展分离安装:扩展不随技能包分发,需单独从 GitHub Releases 获取
  • 完整性校验刚性.integrity.json 不匹配时技能加载失败,手动修改需重新安装
  • 工具注册限制:全新工具名在运行时被 OpenClaw 拒绝需重启解决(failedDispatchers 场景)

适合人群

  • 需要将 LLM 与浏览器自动化结合的技术用户
  • 愿意承担 allowRawEval 安全风险以换取完整脚本执行能力的场景
  • 需要开发自定义浏览器自动化技能的开发者(参考 js-hello-ops-skill 模板)
  • 对细粒度 egress 控制和审计日志有合规需求的企业用户

常规风险

| 风险类别 | 具体表现 | 缓解措施 |
|---------|---------|---------|
| 代码注入 | `allowRawEval` 允许执行任意 JavaScript | 绑定 loopback 地址、启用 token 认证、禁用 `allowAnonymous` |
| 凭证泄露 | Native Messaging 或 token 配置不当 | 使用本地 launcher 安装(避免 `npx`)、定期轮换 token |
| 越权访问 | egress 策略未限制敏感域名 | 配置 `egressAllowlist` 和 `sensitiveCookieDomains` |
| 供应链攻击 | `npx` 安装时依赖 npm 注册表 | 优先使用本地 `bin/js-eyes-native-host-install.*` 脚本 |
| 热加载竞态 | 并发编辑技能文件导致不一致 | 依赖 `SkillRegistry` 的 300ms debounce 机制 |

部署建议

生产环境建议启用 verifyExtraSkillDirs: true 并定期运行 js-eyes doctor 审计态势;开发环境可利用热加载加速迭代,但需关注 failedDispatchers 提示的强制重启场景。

Js Eyes 内容

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