mcpField
B
browser-mate

browser-mate

github.com/glebisAgent 工作流40168 次安装1 天前更新
代码仓库

关于 browser-mate

browser-mate 是用于启动和管理专用 Chrome 实例的浏览器自动化技能。它通过独立配置文件和端口保留用户主浏览器,并配合 agent-browser 执行交互。

主要功能

  1. 01启动或复用专用调试版 Chrome
  2. 02管理具名浏览器配置文件
  3. 03检查实例状态并安全停止
  4. 04保留配置文件的登录状态

适用场景

  1. 01自动化操作网站而不关闭现有标签页
  2. 02为自动化任务使用独立浏览器配置文件
  3. 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.json
references/
agent-browser.md
scripts/
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。

评论

支持 Markdown