用途:在需要自动化已登录的真实 Chrome(如 ChatGPT、LinkedIn 等需认证会话的站点)时,避免干扰用户正在使用的浏览器。传统做法要求 Chrome 以 --remote-debugging-port 运行,往往需先退出 Chrome,从而破坏用户打开的标签页;browser-mate 改为运行专用调试实例,因数据目录不同,Chrome 允许并发实例,无需退出。
主要能力:按 profile 管理调试 Chrome 的启动与复用,每个 profile 拥有独立 user_data_dir 和端口,登录状态各自持久保存;提供 list、status、stop 等子命令。
使用方式:先确保某 profile 的调试 Chrome 已启动并输出端口,例如 PORT=$(python3 scripts/browser.py chatgpt);再用 agent-browser 驱动,始终传入 --cdp $PORT,例如 agent-browser --cdp $PORT --session $SID open "https://chatgpt.com/" 与 agent-browser --cdp $PORT --session $SID snapshot -i。其他子命令:python3 scripts/browser.py list、status [profile]、stop chatgpt。完整 agent-browser 命令集见 references/agent-browser.md。
配置:~/.config/browser-mate/profiles.json,首次运行从 assets/profiles.example.json 自动创建;每个 profile 含 binary、user_data_dir、port,可选 default_url。新增 profile 需选唯一端口与专用数据目录,启动器会校验唯一性并拒绝指向用户真实 Chrome 配置的目录。
认证:无法也不应输入密码;首次登录需用户在该窗口手动完成一次,会话随后持久保存在该 profile 的数据目录中。
限制与安全:调试端口仅绑定 127.0.0.1,CDP 无认证,本机任何人都可驱动,仅限可信机器,切勿传 --remote-debugging-address;数据目录不得是用户真实 Chrome 配置;若目录已被非调试 Chrome 占用,启动器会报错而非终止它。该技能只负责启动步骤,交互仍由 agent-browser 完成。