mirror of
https://github.com/jackwener/OpenCLI.git
synced 2026-09-14 18:25:42 +08:00
fbdb1b24dc
* fix(browser): harden multi-tab routing and target isolation - make daemon command ids collision-resistant and retry duplicate pending ids\n- add validated tab list/new/select/close flows with persisted default targets\n- keep untargeted browser commands on the default tab unless tab select changes it\n- document tab targeting and add unit, extension, and e2e coverage for concurrent multi-tab execution * fix(browser): keep default tab stable after tab new * fix(browser): close remaining tab routing gates * docs(browser): align target id wording * docs(browser): refine target id examples --------- Co-authored-by: jackwener <jakevingoo@gmail.com>
2.1 KiB
2.1 KiB
Browser Bridge 设置
⚠️ 重要: 浏览器命令复用你的 Chrome 登录会话。运行命令前必须在 Chrome 中登录目标网站。
OpenCLI 通过轻量级 Browser Bridge Chrome 扩展 + 微守护进程连接浏览器(零配置,自动启动)。
扩展安装
方法 1:下载预构建版本(推荐)
- 前往 GitHub Releases 页面 下载最新的
opencli-extension-v{version}.zip。 - 解压后打开
chrome://extensions,启用开发者模式。 - 点击加载已解压的扩展程序,选择解压后的文件夹。
方法 2:加载源码(开发者)
- 打开
chrome://extensions,启用开发者模式。 - 点击加载已解压的扩展程序,选择仓库中的
extension/目录。
验证
opencli doctor # 检查扩展 + 守护进程连接
多 Tab 定位
浏览器命令默认运行在共享的 browser:default workspace 中;如果需要操作指定 tab,可以显式传目标 target。
opencli browser open https://www.baidu.com/
opencli browser tab list
opencli browser tab new https://www.baidu.com/
opencli browser eval --tab <targetId> 'document.title'
opencli browser tab select <targetId>
opencli browser get title
opencli browser tab close <targetId>
规则如下:
opencli browser open <url>和opencli browser tab new [url]都会返回targetId。opencli browser tab list会打印当前已存在 tab 的targetId。--tab <targetId>会把单条 browser 命令路由到对应 tab。tab new只会新建 tab,不会改变默认浏览器目标。tab select <targetId>会把该 tab 设为后续未显式指定 target 的opencli browser ...命令默认目标。tab close <targetId>会关闭该 tab;如果它正好是当前默认目标,会一并清掉这条默认绑定。
Daemon 生命周期
Daemon 在首次运行浏览器命令时自动启动,之后保持常驻运行。
opencli daemon stop # 优雅关停
Daemon 为常驻模式,会一直运行直到你显式停止(opencli daemon stop)或卸载包。