浏览器助手扩展
LCXL Chrome 扩展是AI助手唯一支持的浏览器适配器。它运行在被控端 Chrome 中,通过带认证的 loopback bridge 与被控端连接。DevTools MCP 适配器、配置开关和启动逻辑均已移除。
一次配对
- 在被控端 Chrome 打开
chrome://extensions,启用“开发者模式”,选择“加载已解压的扩展程序”,然后选择仓库中的browser-extension目录。 - 在本机 OSS AI助手页面点击“显示配对码”。该接口仅允许设备 owner 访问,并返回
no-store。 - 打开扩展弹窗,填入 bridge 地址和配对码,再点击“配对这个浏览器”。认证连接成功后,弹窗会显示已连接。
- Gmail 与 Slack 已内置。操作其他 HTTPS 站点前,先打开该站点,再在扩展弹窗点击“允许当前站点”;这次站点授权由 Chrome 自己提示。
配对信息保存在当前 Chrome profile 中。后续浏览器操作通过该配对连接执行,仍受逐操作权限约束。切换 Chrome profile、清除扩展存储或轮换被控端数据都会使原配对失效。
安全边界
扩展只接受AI助手公开的版本化 typed action:打开或导航页面、获取有界 accessibility 快照、等待 opaque element、填写审核过的字段、上传经过精确验证的工件字节,以及在对应 grant 下激活 opaque element。它不开放任意 JavaScript、原始 DOM、Cookie、Storage、历史记录、网络日志、下载管理或本机文件路径。
密码不会进入投影。附件在跨越 edge bridge 前会核对大小与 SHA-256,扩展内部还会再次核对。页面和元素引用绑定 Chrome profile、标签页、文档 incarnation、origin 与 revision;页面导航或扩展重连后,旧引用会 fail closed。
填写、上传或激活引用控件前,扩展会复核控件角色及可访问名称是否仍与观察结果一致。任一变化都会使旧引用被拒绝;需要重新观察页面后再请求新操作。
Gmail 与 Slack 的草稿准备不会激活“发送”。exact-send 必须绑定单独封存的 SendExternal payload 并取得中心授权。被控端本地 computer_use.communication_send 上限默认关闭,与草稿开关独立;还必须开启总开关、浏览器语义控制并配对 Chrome 扩展,扩展断开时不能执行浏览器操作。worker 派发前会再次检查本地发送上限。
exact-send 回执检查会排除激活前已存在的成功提示和同正文消息,包括隐藏提示,并要求出现新的可见确认信息。页面复用旧提示或无法确认结果时,保持结果未知,不能据此认定已送达或自动重试。
并发请求只有在幂等键、快照 ID 和快照摘要全部相同时才能共用发送结果。回执存储按顺序更新,避免不同发送的回执互相覆盖。回执缓存不能确定浏览器崩溃时中断的发送结果。
精确发送还要求能够识别当前登录账号。Gmail 使用账号地址;Slack 要求可见账号控件提供 workspace 与 member 标识,并与当前工作区网址一致。身份缺失或有歧义时拒绝发送。扩展在激活发送前及等待回执期间复核同一身份;激活后账号发生变化时,结果保持未知。
本机配对验证码
在被控机本地终端,以运行被控端的普通 OS 用户执行 lcxl-remote-desk-server browser-pairing-proof;自定义配置添加 --config-file-path <路径>。通过 localhost 或 127.0.0.1 打开本机助手页面,输入命令返回的一次性验证码,再点击“显示配对码”。验证码五分钟有效,生成新码会使旧码失效。HTTP 请求同时要求 owner 登录、同源本机来源及本机 OS 用户验证码;旧 GET 接口不再返回配对密钥。
如果桥尚未初始化或配对信息读取失败,本次请求不会消耗有效验证码;排除故障后可在原有效期内重新提交。成功兑换仍只允许一次,重试不会延长五分钟有效期。
将显示的桥地址和配对码填入扩展。端口首次分配后持久保存,正常重启不需重配;端口冲突只使浏览器能力不可用,处理冲突进程后重新启动即可。扩展没有默认端口,也不会扫描端口。从旧明文桥升级时必须重新配对;新连接对服务端和扩展双向认证,并认证加密命令和响应。
打开或导航页面后,扩展同时检查当前加载状态和完成事件。初始化期间错过完成事件时,无需因此等待整个导航超时;状态查询无响应也不会延长原有超时。
本机配对面板会在两分钟后或点击“隐藏配对码”时清除显示的配对码;这不会撤销扩展配对。剪贴板复制失败时,可以手动选择并复制配对码。
扩展保存前会校验完整的本机桥地址。修改桥地址或配对码时,先关闭旧连接,再读取新配置;配置无效时保持断开,不搜索其他主机。
页面动作丢失响应时,扩展不会重发该动作;请先检查页面,再请求新操作。重新配对或桥连接中断后,等待中的旧命令不能再发起新的浏览器写操作;已经提交给 Chrome 的操作仍可能完成。
桥命令的总时限为 32 秒。到期后关闭连接,并禁止延迟恢复的旧任务继续提交动作;这不会取消已经交给浏览器的操作,其结果仍可能未知。