一键导入
opensteer
Direct browser control via CDP. Use when the user wants to automate, inspect, scrape, test, or interact with web pages.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Direct browser control via CDP. Use when the user wants to automate, inspect, scrape, test, or interact with web pages.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
| name | opensteer |
| description | Direct browser control via CDP. Use when the user wants to automate, inspect, scrape, test, or interact with web pages. |
Opensteer is a global browser-control runtime. It exposes small CDP primitives to agents and harness packs.
opensteer -c "print(page_info())"
Python snippets run with helpers pre-imported:
opensteer -c "new_tab('https://docs.opensteer.com'); wait_for_load(); print(page_info())"
For harness code, import helpers from the installed package:
from opensteer.helpers import goto_url, js, click_at_xy, type_text, wait_for_load
Use OPENSTEER_NAME to route commands to a named browser session:
OPENSTEER_NAME=linkedin opensteer -c "print(page_info())"
Remote browser sessions can be started from a Python snippet when OPENSTEER_API_KEY is set:
opensteer -c "start_remote_daemon('linkedin', profileId='bp_...')"
OPENSTEER_NAME=linkedin opensteer -c "new_tab('https://example.com')"
A browser profile is a saved, logged-in browser identity (cookies, auth state) a cloud browser can launch with. Profile access is grant-based: the server tracks which profiles this agent may use, and there is no per-agent default profile.
list_cloud_profiles() lists visible profiles; each entry carries a
granted flag saying whether this agent may use it.start_remote_daemon(name) without a profile lets the server resolve it:
exactly one granted profile auto-attaches, none launches a fresh signed-out
session, and several granted profiles is rejected with an error telling you
to pass profileName or profileId.start_remote_daemon('linkedin', profileName='LinkedIn work') or
start_remote_daemon('linkedin', profileId='bp_...'). Durable scripts
should pin profileId — it survives profile renames.Generic browser mechanics live in interaction-skills/:
Use them when a page mechanic is tricky. Put domain-specific selectors, workflows, APIs, local databases, and task tools in the harness pack.
capture_screenshot().click_at_xy(x, y).js(...) for DOM inspection, extraction, and page API discovery.cdp("Domain.method", ...) for raw CDP operations not covered by helpers.wait_for_load().list_tabs() and switch_tab(target_id) only when the user explicitly asks for a specific existing tab.Opensteer owns generic browser primitives, local attach, remote attach, cloud browser attach, and generic interaction skills.
Harness packs own domain-specific tools, selectors, workflows, storage, setup docs, and agent skills.