Js Eyes

👁️ OpenClaw浏览器自动化中枢

JS Eyes是OpenClaw的浏览器自动化插件,通过WebSocket控制浏览器实现网页操作、标签管理、脚本执行等自动化能力,支持热加载扩展技能,需Node.js 22+及浏览器扩展配合运行。

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

使用说明

核心用法

JS Eyes是OpenClaw生态的浏览器自动化中间件,架构分为三层:Node.js服务端(js-eyes核心)、浏览器扩展(Chrome/Firefox插件)和OpenClaw插件(openclaw-plugin)。部署后,用户可通过OpenClaw调用js_eyes_*系列工具实现网页自动化,包括标签管理(get_tabs/switch_tab)、页面操作(open_url/click/type)、脚本执行(execute_script)及文件上传等。

安装需执行:1)在技能根目录运行npm install(要求Node.js 22+);2)将{baseDir}/openclaw-plugin注册到OpenClaw的plugins.load.paths;3)配置~/.js-eyes/config/config.json启用security.allowRawEval: true;4)安装浏览器扩展并同步Server Token。支持"ClawHub bundle"和"源码开发"两种部署模式,后者支持热重载。

扩展技能系统

核心设计采用"最小内核+动态扩展":基础安装仅含核心协议,功能通过skills/目录下的扩展技能动态加载。技能来源分两类:

  • 注册表技能:通过js_eyes_discover_skills发现 → js_eyes_install_skill下载 → approveenable流程安装
  • 外部自定义技能:使用js-eyes skills link <路径>零重启挂载,编辑skill.contract.js实时热重载

所有技能需包含skill.contract.js定义工具集、package.json声明依赖,遵循examples/js-eyes-skills/js-hello-ops-skill/的规范结构。

显著优点

零重启热加载架构:2.5.2+版本通过chokidar监控配置与技能目录,技能增删改、安全策略调整(egressAllowlist/toolPolicies等)均无需重启OpenClaw,开发迭代效率极高。

分层安全模型:提供token认证、匿名连接控制、allowRawEval脚本执行开关、出站策略(egress policy)、敏感工具 consent 审批、域级cookie保护等多层防护,且支持运行时热重载安全策略。

双轨技能管理:注册表技能(完整性校验、自动更新)与外部技能(任意目录链接)并存,兼顾可信分发与灵活定制。

Native Messaging集成:2.4.0+支持通过js-eyes native-host install自动同步Server Token,消除手动配置的繁琐与泄露风险。

潜在缺点与局限性

安全妥协设计:标准部署需启用allowRawEval: true,允许执行任意JavaScript代码,虽被doctor标记为不安全,但这是功能完整性的必要权衡。生产环境若禁用将丧失execute_script能力。

Node.js版本硬门槛:要求Node.js 22+,旧版本环境需额外升级步骤。

浏览器扩展分离:扩展需单独从GitHub Releases安装,非一键集成,首次连接易因Token配置失误失败。

工具策略摩擦:敏感工具默认进入confirm状态等待人工审批,自动化流水线需预配置toolPolicies或实时处理consent队列,增加运维复杂度。

外部技能无完整性保护extraSkillDirs挂载的技能跳过.integrity.json校验,依赖操作系统的权限控制,存在供应链风险。

适合人群

  • Web自动化开发者:需通过AI操控浏览器完成测试、数据采集、工作流自动化的工程师
  • OpenClaw高级用户:已运行OpenClaw CLI/MCP,寻求扩展浏览器能力的现有用户
  • 技能作者:计划开发自定义自动化技能并分发的开发者(需遵循skill.contract.js规范)

不适合:无Node.js环境的纯浏览器用户、对eval执行敏感的安全极客、寻求无代码解决方案的非技术用户。

常规风险

供应链攻击面:技能热加载机制若被恶意利用,攻击者可通过写入extraSkillDirs或替换skills/目录文件注入恶意代码。建议启用requireLockfile、定期运行js-eyes skills verify、限制配置目录权限。

Token泄露风险:Server Token是WebSocket认证凭证,若通过截图/日志泄露,本地18080端口可能被未授权访问。建议绑定localhost、设置强token、启用allowAnonymous: false

浏览器沙箱逃逸execute_script在网页上下文运行,虽受同源策略限制,但XSS漏洞可能导致权限提升。建议配合security.allowedOrigins严格限制自动化目标域。

策略误拦截:egress策略过于严格时,正常网页导航可能被阻断,需理解pending-egress机制并及时审批或配置allowlist。

Js Eyes 内容

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