关于 browser-mate
browser-mate 是用于启动和管理专用 Chrome 实例的浏览器自动化技能。它通过独立配置文件和端口保留用户主浏览器,并配合 agent-browser 执行交互。
主要功能
- 01启动或复用专用调试版 Chrome
- 02管理具名浏览器配置文件
- 03检查实例状态并安全停止
- 04保留配置文件的登录状态
适用场景
- 01自动化操作网站而不关闭现有标签页
- 02为自动化任务使用独立浏览器配置文件
- 03将 agent-browser 连接到专用 Chrome 会话
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ glebis/ claude-skills --skill browser-mate安装后在 Claude Code 中输入/browser-mate确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
assets/profiles.example.jsonreferences/agent-browser.mdscripts/browser.py详细介绍
browser-mate
无损 Chrome 自动化。它解决的问题是:要附加 CDP/agent-browser
会话,Chrome 必须使用 --remote-debugging-port 运行。real-browser 技能通过先退出 Chrome Beta来实现这一点,这会销毁用户已打开的标签页。browser-mate
则会运行一个专用的调试版 Chrome 实例(使用独立的 --user-data-dir 和端口),与用户的主浏览器并行运行——只要数据目录不同,Chrome 就允许多个实例同时运行,因此无需退出浏览器。
唯一准则(绝不违反)
**绝不退出、pkill 或使用 osascript quit 关闭任何浏览器。**该技能只会启动一个新的专用实例,或复用已有实例。唯一的 stop 路径只会向同时匹配我们的专用 user_data_dir 和调试端口的进程发送 SIGTERM——绝不会影响用户的浏览器。
用法
# Ensure a profile's debug Chrome is up (launch or reuse); prints the PORT on stdout
PORT=$(python3 scripts/browser.py chatgpt)
# Then drive it with agent-browser (always pass --cdp $PORT). See references/agent-browser.md
SID=$(LC_ALL=C tr -dc 'a-z0-9' < /dev/urandom | head -c 6)
agent-browser --cdp $PORT --session $SID open "https://chatgpt.com/"
agent-browser --cdp $PORT --session $SID snapshot -i
其他子命令:
python3 scripts/browser.py list # configured profiles
python3 scripts/browser.py status [profile] # up/down
python3 scripts/browser.py stop chatgpt # SIGTERM OUR instance only (graceful)
关于完整的 agent-browser 命令集(click、fill、upload、screenshot、可靠性、升级注意事项),请阅读 references/agent-browser.md。
配置文件
配置:~/.config/browser-mate/profiles.json(首次运行时从 assets/profiles.example.json 自动创建)。每个配置文件:
{ "default": "automation",
"profiles": {
"automation": { "binary": "<chrome binary>", "user_data_dir": "~/.browser-mate/automation", "port": 9222 },
"chatgpt": { "binary": "<chrome binary>", "user_data_dir": "~/.browser-mate/chatgpt", "port": 9223, "default_url": "https://chatgpt.com/" }
} }
- 每个配置文件都有独立的登录状态——每个配置文件只需登录一次,状态会一直保留。
- 编辑 JSON 即可添加配置文件:选择一个唯一端口和一个专用的
user_data_dir(启动器会验证其唯一性,并拒绝指向用户真实 Chrome 配置文件的目录)。
身份验证
无法输入密码(也不得输入)。首次登录时,启动该配置文件,然后请用户在相应窗口中手动登录一次;该会话会保存在配置文件的 user_data_dir 中,供以后每次运行使用。
安全与限制
- **仅限环回地址。**调试端口绑定到
127.0.0.1(Chrome 默认值)。CDP 没有身份验证——任何本地用户都可以控制它。请在可信任的机器上使用;绝不要传入--remote-debugging-address。 - **专用数据目录。**配置文件的
user_data_dir绝不能是用户真实的 Chrome 配置文件(~/Library/Application Support/Google/Chrome*)——启动器会拒绝此类目录。 - 目录已锁定。如果某个配置文件的目录已在非调试版 Chrome 窗口中打开,启动器会明确报错,而不是关闭该窗口。
- 替代
real-browser的启动步骤;交互仍使用agent-browser。