用途:让 AI 智能体通过命令行控制 Chrome 完成网页操作,如导航、点击、输入、下拉选择、数据提取与等待,复用浏览器既有登录状态,无需密码,也不需要 LLM API 密钥。
前置条件:需 Chrome 运行并安装 OpenCLI Browser Bridge 扩展,可用 opencli doctor 检查扩展与守护进程连通性。
核心规则:优先用 state 查看页面,返回带 [N] 索引的结构化 DOM,即时且不耗 token;screenshot 仅用于用户明确需要保存图像时。交互一律用 click/type/select,不用 eval 模拟点击输入。输入后用 get value <index> 验证。页面变化后重新运行 state,不要猜测索引。命令可用 && 串联以减少调用次数,open、back、导航型 click 放在链路末尾。eval 仅用于只读数据提取,复杂逻辑用 IIFE 包裹。可优先用 network 发现站点的 JSON API,API 适配器比 DOM 抓取更可靠。
常用命令:open/back/scroll 导航;state、screenshot 查看;get title|url|text|value|html|attributes 读取;click/type/select/keys 交互;wait time|selector|text 等待;eval 提取;network 查看捕获的请求;init/verify 生成并测试适配器;close 关闭。别名 opencli op 等同 opencli browser。
完整流程:open 打开页面并用 state 查看结构与索引,用索引执行交互,必要时 wait,再用 state 或 get value 验证。浏览器在命令间保持打开。
沉淀为可复用 CLI:init hn/top 在 ~/.opencli/clis/hn/top.ts 生成脚手架,编辑适配器逻辑,verify hn/top 端到端测试。策略方面:公开 API 无鉴权用 Strategy.PUBLIC,需登录 cookie 用 Strategy.COOKIE,纯 DOM 交互用 Strategy.UI,均优先 API。保存后即可作为 opencli <site> <command> 使用。
限制与注意:适配器内 page.evaluate() 在浏览器上下文运行,不可用 Node.js 的 fs、path、process 等;以 JSON 存储时应避免模板字面量反引号。表单可用直接构造搜索 URL 导航代替 form.submit()。SPA 页面在 open 或点击后需先 wait 再 eval。页面变化后索引会失效,需重新 state。常见故障可参考:浏览器未连接运行 opencli doctor;扩展报 attach failed 可暂时关闭 1Password;元素找不到先 scroll down 再 state。
收费标准、平台范围及具体效果暂未提供。