核心用法
JS Eyes 是一款面向 OpenClaw 的浏览器自动化技能栈,通过本地 Node.js 服务器与浏览器扩展建立 WebSocket 连接,实现网页操控、元素定位、表单填写、截图、脚本注入等自动化能力。
典型工作流:
1. 安装 JS Eyes 技能包并执行 npm install 安装依赖(需 Node.js 22+)
2. 在 OpenClaw 配置中注册 {baseDir}/openclaw-plugin 路径
3. 配置 ~/.js-eyes/config/config.json 启用安全策略与第一方技能
4. 安装浏览器扩展并通过 Native Messaging 或手动粘贴完成 Token 同步
5. 使用 js_eyes_get_tabs、js_eyes_open_url、js_eyes_click 等工具进行浏览器自动化
6. 通过 js_eyes_discover_skills 安装额外平台技能(B站、GitHub、知乎等)
关键配置要点:
- 插件路径必须以
openclaw-plugin结尾 tools.alsoAllow需包含js-eyes以暴露可选工具security.allowRawEval: true为 SKILL 合约默认要求(doctor会标记为预期不安全)- 第一方技能通过
skillsEnabled字段启用,支持热重载无需重启 OpenClaw
显著优点
- 零重启扩展能力:技能启用/禁用、外部技能链接/解链、配置热重载均无需重启 OpenClaw
- 双路径技能生态:内置 10+ 第一方平台技能(B站、知乎、YouTube 等)+ 支持任意目录的外部自定义技能
- 分层安全策略:egress 出站控制、敏感工具确认机制、Token 认证、匿名连接禁用等多重防护
- 原生消息同步:2.4.0+ 支持通过 Native Messaging 自动同步服务器 Token,告别手动配置
- 实时诊断工具:
js-eyes doctor全面检测部署姿态,js-eyes audit tail实时追踪连接与策略事件 - 技能完整性校验:2.2.0+ 引入
.integrity.json机制,防止文件篡改导致的加载失败
潜在缺点与局限性
- 浏览器分离安装:扩展需单独从 GitHub/官网下载,非 ClawHub 一键 bundle 部署
- Node.js 版本硬性要求:必须 22+,旧版本会导致依赖解析失败
- Raw Eval 安全风险:默认
allowRawEval: true为 SKILL 合约要求,doctor会明确标记为不安全配置 - Native Messaging 平台差异:Windows/macOS/Linux 安装脚本不同,需手动处理权限与浏览器重启
- 策略拦截学习成本:egress 策略、敏感工具确认、任务来源绑定等机制需理解后才能高效排障
- 无官方卸载命令:需手动禁用后删除目录,CLI intentionally 不提供
uninstall子命令
适合人群
- 需要将 AI Agent 与真实浏览器交互的自动化开发者
- 运营/数据分析人员需要批量操作网页(填写表单、抓取数据、截图存档)
- 已有 OpenClaw 使用经验,熟悉 JSON 配置与命令行操作的技术用户
- 愿意接受
allowRawEval安全风险以换取完整脚本执行能力的场景
常规风险
| 风险类别 | 具体表现 | 缓解措施 |
|---------|---------|---------|
| 远程代码执行 | `execute_script` 可注入任意 JavaScript | 限制 `allowRawEval` 为 false(功能受限),或通过 `toolPolicies` 细粒度管控 |
| 敏感信息泄露 | `get_cookies`、表单自动填写可能暴露登录态 | 敏感工具默认 `confirm` 策略,需人工审批 |
| 出站数据泄露 | 自动化访问恶意站点导致数据外泄 | egressAllowlist 白名单机制,未知域名需显式批准 |
| 配置误泄露 | server.token 文件权限不当或手动粘贴暴露 | Token 文件默认用户只读,优先使用 Native Messaging 同步 |
| 技能供应链攻击 | 外部技能目录被篡改引入恶意工具 | `verifyExtraSkillDirs` 选项启用完整性校验,或仅使用 registry 安装的技能 |
| 匿名连接劫持 | `allowAnonymous=true` 时任意扩展可连接 | 默认 `allowAnonymous=false`,强制 Token 认证 |
版本兼容性说明
- 2.6.3:Native Messaging 安装器自动初始化 Token,修复首次同步
token-missing问题 - 2.6.x:SKILL 合约要求
allowRawEval: true,doctor输出中标记为预期不安全 - 2.5.2+:安全策略支持热重载(
egressAllowlist、toolPolicies等) - 2.4.0+:新增 Native Messaging 自动 Token 同步能力
- 2.2.0+:引入技能完整性校验与待安装计划机制(approve/enable 两阶段)