remote-browser

作者: browser-use

面向无本地图形界面访问的沙盒化代理的云端浏览器自动化。支持导航、页面检查、交互、JavaScript执行及通过30余条CLI命令进行Cookie管理。包含云端会话管理功能,可并行运行自主浏览器代理,并提供任务监控与结构化输出选项。通过Cloudflare实现本地开发服务器隧道,将远程机器端口暴露至云端浏览器。跨命令保持会话状态,支持...

npx skills add https://github.com/browser-use/browser-use --skill remote-browser

Remote Browser

Use this skill when an agent runs on a machine without a usable local Chrome and needs an isolated browser. The current Browser Use CLI runs Python from stdin. Do not use the removed open, state, click, input, tab, cloud connect, or --connect commands.

Check the CLI

browser-use --doctor
browser-use skill show

If setup fails, follow the current Browser Use skill.

Start an isolated browser

Authenticate once:

browser-use auth login

Pick a short unique name. r7k2 below is only an example.

browser-use <<'PY'
start_remote_daemon("r7k2")
PY

Use the same name for every command in this browser:

BU_NAME=r7k2 browser-use <<'PY'
new_tab("https://example.com")
wait_for_load()
print(page_info())
PY

Each remote daemon is a separate Browser Use Cloud browser. Use a different name for each parallel task. Remote browsers can bill until they stop or time out.

Inspect and interact

Helpers are pre-imported. Keep multi-step work in one heredoc when practical.

BU_NAME=r7k2 browser-use <<'PY'
print(page_info())
print(js("document.title"))

fill_input('input[name="q"]', "browser automation")
press_key("Enter")
wait_for_load()

print(page_info())
PY

Useful helpers:

  • Navigate: new_tab(url), goto_url(url), wait_for_load()
  • Inspect: page_info(), js(code), cdp(method, ...)
  • Interact: click_at_xy(x, y), type_text(text), fill_input(selector, text), press_key(key), scroll(x, y)
  • Tabs: list_tabs(), switch_tab(target), close_tab(target)
  • Files and proof: capture_screenshot(), wait_for_element(selector)

Prefer the accessibility tree for element discovery:

nodes = cdp("Accessibility.getFullAXTree")["nodes"]

Use a targeted js(...) query when the accessibility tree lacks the element. Verify each action with page_info(), a focused DOM check, or a screenshot.

Stop the browser

When the work is done, stop the exact named browser:

browser-use <<'PY'
stop_remote_daemon("r7k2")
PY

Do not leave an unused remote browser running.