page-agent

page-agent is a skill for Claude Code, Codex from djblack1209-coder/OpenClaw-Bot. It costs 36 tokens per session (705 once invoked), scanned A, original, Apache-2.0.

A browser-control agent that follows natural-language instructions to operate web pages, instead of relying on fixed page selectors.

In plain words
What is it for?
Use it to click buttons, enter text, upload images, publish social-media posts, and collect information from web pages.
Why use it?
It reduces the need to maintain fragile browser scripts when a website's layout or underlying page structure changes.

Skill for Claude CodeCodex

Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

agentmods
npx agentmods add skills/djblack1209-coder/openclaw-bot/page-agent
Any agent
npx skills add djblack1209-coder/OpenClaw-Bot --skill page-agent
Clone the repo
git clone --depth 1 https://github.com/djblack1209-coder/OpenClaw-Bot

Made for: Claude Code, Codex.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for page-agent

README.md
[![agentmods](https://agentmods.dev/badge/skills/djblack1209-coder/openclaw-bot/page-agent.svg)](https://agentmods.dev/skills/djblack1209-coder/openclaw-bot/page-agent)
Your own site
<a href="https://agentmods.dev/skills/djblack1209-coder/openclaw-bot/page-agent"><img src="https://agentmods.dev/badge/skills/djblack1209-coder/openclaw-bot/page-agent.svg" alt="Measured on agentmods" height="20"></a>
Per session 36 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 705 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5 $0.00036 $0.00705
Opus 5 $0.00018 $0.00352
Sonnet 5 $0.00007 $0.00141
Haiku 4.5 $0.00004 $0.00071

Measured 5d ago against content hash 7d2421ce2784, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade A, and why

page-agent scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 5d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

apps/openclaw/skills/page-agent/SKILL.md · 88 lines

What it actually says

Page-Agent 浏览器 GUI 代理

阿里巴巴开源的网页内 GUI 代理,用自然语言控制浏览器界面。

核心优势

  • 自然语言指令替代 CSS 选择器和 XPath
  • 一行代码集成到现有项目
  • 理解页面语义,不依赖 DOM 结构
  • 比 Playwright 脚本更鲁棒(页面改版不会轻易失效)

安装

pip install page-agent

与 OpenClaw Bot 集成

替代当前 Playwright 社交发布

当前方式(Playwright 脚本,易碎):

await page.click('#post-button');
await page.fill('textarea.content', text);
await page.click('button[type="submit"]');

Page-Agent 方式(自然语言,鲁棒):

from page_agent import PageAgent

agent = PageAgent(page)
await agent.act("点击发布按钮")
await agent.act("在内容框中输入: " + text)
await agent.act("点击提交")

集成到社交发布流程

# tools/social-browser-adapter 升级
from page_agent import PageAgent

async def publish_to_x(content):
    agent = PageAgent(browser_page)
    await agent.act("点击撰写推文按钮")
    await agent.act(f"输入推文内容: {content}")
    await agent.act("点击发布按钮")
    return await agent.act("确认推文已发布成功")

async def publish_to_xhs(content, images):
    agent = PageAgent(browser_page)
    await agent.act("点击发布笔记")
    for img in images:
        await agent.act(f"上传图片: {img}")
    await agent.act(f"输入笔记内容: {content}")
    await agent.act("点击发布")

使用场景

  1. 社交媒体发布 — 替代 social-browser-adapter.mjs 中的 Playwright 硬编码
  2. 网页数据采集 — 替代 crawl4ai 的部分场景
  3. 任意网页交互 — 严总 说"帮我在 xxx 网站上做 yyy"

触发条件

  • 严总 说 "page-agent"、"自然语言控制浏览器"、"网页操作"
  • 需要浏览器自动化但 Playwright 脚本太脆弱时
  • 社交发布流程中 DOM 选择器失效时自动降级

与现有工具的关系

工具 适用场景 优势
Playwright (当前) 结构稳定的页面 速度快、精确
Page-Agent (新增) 页面结构不稳定 鲁棒、自然语言
crawl4ai 数据采集 专注提取

建议: Playwright 作为主路径,Page-Agent 作为降级方案和新页面的快速原型。

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 5d ago First seen · 88 lines · 36 tokens per session scan A 7d2421ce2784

Subscribe to this mod's changes

page-agent is a skill published in the GitHub repository djblack1209-coder/OpenClaw-Bot (5 stars, last pushed yesterday), licensed Apache-2.0. It adds 36 tokens to every session and 705 once invoked, about $0.0002 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.