page-agent-browser

通过 page-agent CLI(CDP)驱动浏览器;CLI 当前仅从 GitHub Release 的 .tgz 安装(npm 官方包尚未发布)。

Safety Notice

This listing is from the official public ClawHub registry. Review SKILL.md and referenced scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "page-agent-browser" with this command: npx skills add sdyuyouth/page-agent-browser

Page Agent Browser Control

page-agent 连本机 Chrome/Edge 的远程调试端口,按 state 给出的索引 调用原语。命令、选项、JSON 形状、退出码一律以 page-agent --helpCLI_REFERENCE.md 为准;本文件只给 Agent 最短工作路径。

阅读顺序CLI_REFERENCE.mdARCHITECTURE.md(分层与本地 platforms/)→ 若做安全熟悉再读 EXPLORATION_PROTOCOL.md。自建站点包时读 platforms/<site>/SKILL.md(若有)。


安装 CLI(skill 内不含二进制)

Skill 只携带 Markdown 说明;CLI 单独安装

@page-agent/cli 尚未发布到 npm 公共 registry;当前请只从 GitHub Releases 附件获取 .tgz,在任意目录安装(不要把 tgz 打进 skill 目录):

# 示例:仓库与 Tag 以发布页为准(以下为常用 fork 线)
gh release download page-agent-cli-1.8.2 -R sdyuyouth/page-agent-cli -p "page-agent-cli-1.8.2.tgz"
npm install -g ./page-agent-cli-1.8.2.tgz
page-agent --version

gh 时:在发布页手动下载同名 .tgz 后执行 npm install -g ./page-agent-cli-<version>.tgz

本 monorepo 内开发:npm pack -w @page-agent/cli 生成 tgz,再 npm install -g ./<generated>.tgz

将来若 npm install -g @page-agent/cli 可用,以 README / Release 说明为准;届时可在此 skill 中补充 metadata.openclaw.installkind: node)声明。


全局选项(常用)

选项含义
--target <id>CDP tabs list 里的 Tab id
--json结果 JSON 在 stdout,日志在 stderr
--cdp-url覆盖 CDP(默认 http://localhost:9222 / PAGE_AGENT_CDP
--no-mask关闭指针/涟漪动画(PAGE_AGENT_NO_MASK=1

原语一览(与 CLI 一致)

命令说明
tabslist / open / close
state取可交互元素 [n]依赖索引前在探索/新流程上必须执行
click / hover / input / upload / select / scroll索引均对应当前页最近一次 statehover 不点击,用于菜单/tooltip(见 CLI_REFERENCE.md
eval / gotoJS 表达式 / 导航
run内置 LLM 多步(需 LLM_*);与外层 Agent 二选一
repl / teachREPL;阻塞式教学浮窗(teach 全文见 CLI_REFERENCE.md

upload:索引 n锚点最近一次 state,不必是 type=file 行)。CLI 在主文档可枚举<input type=file> 中选与锚点 DOM 树距离最近 的一个(多 file 时同理;不穿透 Shadow、不跨 iframe)。常用:eval/click 打开上传区upload n,使 n 尽量靠近目标 file。大改 DOM 后再 state。详见 CLI_REFERENCE.md「upload」

teach:须 --taskPAGE_AGENT_TEACH_TASK;就绪后超时退出码 124;成功 JSON data 包装;多 Tab、checkpoint、steps 里含 hover/state_refresh 等——细则见 **CLI_REFERENCE.md「teach」**与下节「经验沉淀」。站内 pushState 类 SPA 可能只有 CDP navigatedWithinDocument;CLI 会据此(debounce + URL 变化)再 reinject,避免 Facebook 等场景下浮窗被 DOM 重写后无法恢复。


teach → 经验沉淀(Agent 必读)

CLI 不会在「结束录制」时向 stdout 输出整段会话 JSON;该步只写检查点文件--checkpoint-file / PAGE_AGENT_TEACH_CHECKPOINT_FILE,默认工作目录下 .page-agent-teach-checkpoint.json),stderr 可出现 [teach] checkpoint writtencheckpoint write failed

用户操作CLI 行为Agent / 自动化应做什么
浮窗 「结束录制」原子写入检查点 JSON(草稿);stdout 无最终 success teach 体仅当需要断点续录 / 崩溃恢复时读该路径;不要把检查点当已提交的正式经验
浮窗 「确认写入 Agent 经验」exit 0--json 时整段 teach 成功 JSON 在 stdout(与 state 等命令不同, data 包装)必须在 teach 进程正常退出后读取 stdout 整文件作为正式结果,再更新自建 platforms/<site>/ 下的 elements.md / recipes/*.md 等(字段见 EXPERIENCE_SCHEMA.md

推荐落盘(示例)

# 仅示例:site/task 请换成当次 teach 的 --site / --task;目录须已存在或由脚本 mkdir -p
page-agent --json --target "$TID" teach --site example.com --task post-image --reason "demo" \
  > "${PAGE_AGENT_LESSON_DIR:-./platforms/example.com/lessons}/post-image-$(date +%Y%m%d-%H%M%S).json" 2>./teach.stderr.log
  • 2>:把 [teach] 与 checkpoint 相关日志打到单独文件,避免混进 JSON。
  • 宿主 Exec 超时teach 在用户确认前会长时间阻塞;外层若 SIGKILL 超时,Agent 拿不到 stdout——应放宽 teach 专用超时,或等用户确认后再杀。
  • 仓库内 PAGE_AGENT_TEACH_OUTPUT 环境变量;正式结果只靠进程结束时的 stdout(或你方包装器在 exit 0 后拷贝/上传该缓冲)。

CDP 与 Tab

curl -s http://localhost:9222/json/version   # 通则继续
page-agent --json tabs list
# 示例:按 URL 取 id(主机名换成目标站)
TID=$(page-agent --json tabs list | jq -r '.data[] | select(.url | contains("example.com")) | .id' | head -1)

浏览器需带 --remote-debugging-port(下文以 9222 为例)。默认复用用户已有配置不要--user-data-dir,即与日常登录、扩展、Cookie 同一用户数据目录(先退出已在跑的同品牌浏览器,再带远程调试参数启动,以免「用户目录已被占用」)。仅在与主窗口必须并行等少数场景,才另起独立 --user-data-dir=...

按习惯选 Edge 或 Chrome(Edge 在 Windows 上常与系统账号一致;Chrome 适合已有 Chrome 习惯的用户)。Firefox 不支持本 CLI 所用的 CDP 工作流。

调试端口已被占用时:先查占用者(如 Windows Get-NetTCPConnection -LocalPort 9222 / netstat,Linux/macOS ss / netstat)。若是已有浏览器调试实例,应结束对应浏览器进程后,用目标参数重新启动;若不是浏览器(或其它服务误占),则为本机浏览器另选端口(如 9223)启动,并把 PAGE_AGENT_CDP / --cdp-url 设为同一地址(例如 http://localhost:9223),curlpage-agent 均用该端口。

Windows(PowerShell / cmd)

Edge(示例,路径以本机安装为准)

& "${env:ProgramFiles(x86)}\Microsoft\Edge\Application\msedge.exe" `
  --remote-debugging-port=9222 --no-first-run --no-default-browser-check

Chrome(示例)

& "$env:ProgramFiles\Google\Chrome\Application\chrome.exe" `
  --remote-debugging-port=9222 --no-first-run --no-default-browser-check

macOS(示例)

"/Applications/Google Chrome.app/Contents/MacOS/Google Chrome" \
  --remote-debugging-port=9222 &
# 或 Microsoft Edge
"/Applications/Microsoft Edge.app/Contents/MacOS/Microsoft Edge" \
  --remote-debugging-port=9222 &

Linux(示例)

google-chrome --remote-debugging-port=9222 &
# 或 chromium、microsoft-edge-stable 等发行包提供的可执行文件

WSL 调用 Windows 浏览器

CLI 在 WSL 内调用 upload 时会把 /mnt/c/... 路径转成 Windows 路径供浏览器注入;浏览器本体仍在 Windows 侧启动;PAGE_AGENT_CDP / --cdp-url 端口须与 Windows 侧实际监听端口一致(若改用 9223 等,两处同步修改)。


工作流(摘要)

  1. tabs list--target,全程固定同一 Tab。
  2. 操作 → state:探索/新站每步依赖索引前必须 state;有 teach/recipe 且写明可省略时可少跑,错位立即 state(规则见 CLI_REFERENCE.md「state 与何时刷新」)。
  3. 站点经验:仅当你自建了 platforms/<site>/ 时读其中 recipes / elements / critical仓库内 platforms/ 仅占位 `.gitkeep,不附带具体站数据。
  4. 关键点击CRITICAL_ACTIONS.md + 本地 critical.md;须 AskQuestion 或用户文字确认(宿主无则停顿要确认)。
  5. 复盘:读本地 health.md、失败记录(若有)。

相关文件

文件用途
CLI_REFERENCE.md权威:子命令、teach/upload/hover、环境变量、退出码
ARCHITECTURE.md分层、复用、探索与权限
EXPERIENCE_SCHEMA.md经验 Markdown 字段约定
CRITICAL_ACTIONS.md全局 critical 关键词与策略
EXPLORATION_PROTOCOL.mdactive-safe 探索边界

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

Coding

Agent Comm Hub

多智能体消息转发与上下文共享中间件 — 基于 MCP 协议实现 agent 间通信、任务协同与经验记录。支持多 Agent 接入,提供标准 MCP 工具接口、SSE 实时推送和本地 SQLite 存储。

Registry SourceRecently Updated
Coding

lelogin skill (乐登录凭据管理技能)

Covers lelogin CLI end-to-end: install from official web scripts when missing, auth/config, list/save/delete secrets, and exec usage for MySQL, SSH, app star...

Registry SourceRecently Updated
Coding

Office Document Extractor

Convert Microsoft Office documents (DOCX, XLSX, PPTX) to Markdown without any external dependencies. Use when the user needs to extract text from Word docume...

Registry SourceRecently Updated
Coding

Web Publisher Skill

输入文章 URL **或本地文档(PDF/DOCX/PPTX/XLSX/EPUB/图片/音频/...)**,自动提取正文、可选 AI 改写、并发布到微信公众号;也可只把任意文档转成 Markdown 文本(不发布)。抓取 / 转换 / 改写 / 发布都在服务端 (tools.siping.me) 完成,CLI 不...

Registry SourceRecently Updated
page-agent-browser | V50.AI