gianlucamazza

pagouse

Community gianlucamazza
Updated

Chromium page agent for coding agents

pagouse

CILicense: MITPython 3.13+

Coding agents should not click web pages by pixel. pagouse is a pageagent: a Chromium extension on the daily profile that returns anaccessibility tree with ref_N labels, and (with a grant) clicks, fills,and navigates those nodes.

It observes by default. Mutation needs --allow-input. The optional MCPserver is observe-only and cannot be talked into typing.

$ pagouse --json snapshot --tab 1840 | jq -r '.snapshot.tree' | head
RootWebArea "Inbox" [ref_1]
  textbox "Search" [ref_2]
  button "Compose" [ref_3]

How it works

  • The MV3 extension builds the accessibility tree inside the page, wherethe refs stay valid across separate CLI invocations.
  • Native messaging starts pagoused, a local daemon on an owner-only unixsocket. No remote-debugging port, no chrome.debugger.
  • A zero-dependency Python core wraps it all in a versioned --jsonenvelope (schema: 1).

The layers and the non-goals: docs/architecture.md.

Requirements

  • Linux
  • Python 3.13+ and uv
  • A Chromium-family browser (Chrome, Chromium, Brave, Edge) on the dailyprofile

The core itself has zero dependencies. magick is optional for --fitdownscaling.

Install

git clone https://github.com/gianlucamazza/pagouse
cd pagouse
./install.sh

install.sh installs pagouse as a uv tool, writes~/.config/pagouse/config.toml if missing, links the agent skill into anyexisting skill root, and registers the native-messaging host. It isidempotent. Details in docs/quickstart.md.

Then load extension/ unpacked (chrome://extensions → Developer mode).pagouse --json doctor should report ready once the popup is green.

Usage

Observe — never needs a grant:

pagouse --json tabs
pagouse --json snapshot --tab ID

Drive — add --allow-input, click by ref, never by coordinates:

pagouse --json --allow-input click --ref ref_4 --tab ID --then snapshot

Every command and flag: docs/cli-reference.md. Theenvelope and error codes: docs/json-contract.md.

MCP extra and agent skill

uv tool install 'pagouse[mcp]' provides pagouse-mcp: read-onlyobservation tools only. There is no mutate tool; drive the page through theCLI and a grant.

install.sh also links skills/pagouse/SKILL.md into any existing agentskill root, so your agents get the playbook without setup.

Security

Observation never asks permission; mutation refuses without an explicitgrant. Scheme deny, origin policy, and secret redaction are enforced in thecore. Tab titles, URLs, tree text, and shot pixels are untrusted input.Read docs/security-model.md before enablinginput. Report vulnerabilities per SECURITY.md.

Documentation

Page For
docs/quickstart.md Install, load the extension, first commands
docs/cli-reference.md Every command and flag, and the MCP surface
docs/json-contract.md The --json envelope, per-action keys, error codes. Authoritative
docs/configuration.md config.toml keys and every environment variable
docs/architecture.md What problem this solves, the layers, the non-goals
docs/security-model.md The page grant, scheme deny, untrusted data

License

MIT. See LICENSE.

MCP Server · Populars

MCP Server · New

    Get-Concord-AI

    Concord MCP

    Live messaging for coding agents

    Community Get-Concord-AI
    alijancb

    Subio MCP

    Open-source MCP server for discovering fast-growing internet conversations with Subio

    Community alijancb
    ruezo

    MCP Video Digest (视频内容提取总结)

    MCP Server for transcribing videos via video links and summarizing video content

    Community ruezo
    LastSearch-HQ

    LastSearch

    Reliable research infrastructure for AI agents. Evidence-backed web search with citations, confidence scores, and Clarity anti-hallucination. MCP server, REST API, Python SDK.

    Community LastSearch-HQ
    gtfodevs

    Autonomo MCP

    Tired of 'it works' lies? Autonomo MCP makes your AI prove it—on real hardware, right in your editor.

    Community gtfodevs