Skip to content

About

An embeddable AI browser agent for web automation, Chrome extension control, and multi-tab workflows.

Resources

Code of conduct

Contributing

Security policy

Stars

7 stars

Watchers

0 watching

Forks

Repository files navigation

Page Steer

License: MIT TypeScript GitHub stars

AI-Powered Browser Assistant β€” Control any web interface with natural language, with a built-in Skill system for platform-specific precision automation.

🌐 English | δΈ­ζ–‡

πŸ“– Docs | πŸ’» Source


✨ What is Page Steer?

Page Steer is a browser extension + JS library that lets AI directly operate web pages. Instead of taking screenshots and guessing, it reads the live DOM, understands the page structure, and executes precise actions.

Page Steer sidepanel chat

What makes it different:

  • Skill System β€” Platform-specific recipes (like Twitter/X, Google Trends) that bypass DOM guesswork. Skills use stable selectors (data-testid, aria-label) for reliable, token-efficient automation.
  • No screenshots, no vision models β€” Pure text-based DOM understanding. Works with any LLM.
  • Three ways, one engine β€” Chrome extension (sidepanel chat) for everyday users, MCP server for Cursor/Claude Desktop, or embed as JS for your own app.
  • Learns from use β€” AI records successful runs and replays them as reusable skills. Import/export to share.

🧩 Skill System

Skills are platform-specific automation recipes that give the AI precise, reliable actions instead of relying on DOM parsing every time.

Page Steer Skills panel with built-in Twitter/X and Google Trends skills

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚  User: "Post a tweet saying hello world"    β”‚
β”‚                                             β”‚
β”‚  Agent detects: x.com β†’ twitter skill       β”‚
β”‚  Agent calls: twitter_post_tweet({          β”‚
β”‚    text: "hello world"                      β”‚
β”‚  })                                         β”‚
β”‚                                             β”‚
β”‚  Skill executes via data-testid selectors   β”‚
β”‚  β†’ Reliable, fast, no DOM guessing          β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Three Sources of Skills

Source Description
Built-in Ships with the extension (Twitter/X, Google Trends)
Learned AI records successful interactions and saves as reusable recipes
Community Import/export skills, share via the project repo

Built-in Skills

Skill Actions
Twitter/X get_timeline, post_tweet, like, retweet, reply, search, get_profile, get_tweet_detail
Google Trends search_explore, compare_terms, get_page_data, set_location, set_time_period, set_category, get_trending_now, get_trending_detail

Skills target stable selectors (React data-testid, aria-label) for reliable, CSP-safe automation. More platforms coming β€” or write your own.

πŸ—οΈ Architecture

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚  Chrome Extension                                   β”‚
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚
β”‚  β”‚ Sidepanel β”‚  β”‚   MCP    β”‚  β”‚   Background     β”‚ β”‚
β”‚  β”‚ (Chat UI) β”‚  β”‚  Server  β”‚  β”‚  (Skill Registry β”‚ β”‚
β”‚  β”‚  + Slash  β”‚  β”‚ (Native  β”‚  β”‚   + Executor)    β”‚ β”‚
β”‚  β”‚   Menu    β”‚  β”‚  Host)   β”‚  β”‚                  β”‚ β”‚
β”‚  β””β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”˜  β””β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”˜  β””β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚
β”‚        β”‚              β”‚                  β”‚           β”‚
β”‚        β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜           β”‚
β”‚                       β”‚                              β”‚
β”‚              PageSteerCore (Agent Loop)              β”‚
β”‚              β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”                     β”‚
β”‚              β”‚  Skill Tools    β”‚ ← Auto-injected     β”‚
β”‚              β”‚  + DOM Tools    β”‚   based on URL       β”‚
β”‚              β””β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”˜                     β”‚
β”‚                       β”‚                              β”‚
β”‚              PageController (DOM Ops)                β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                        β”‚
                   Target Tab

Monorepo Packages

Package Purpose
@page-steer/page-controller DOM extraction + visual feedback
@page-steer/llms LLM client with reflection-before-action
@page-steer/core Headless agent core
@page-steer/ui Panel UI + i18n
page-steer Main entry with UI (JS library)
packages/mcp MCP server for external AI clients
packages/extension Chrome extension (WXT + React)

πŸš€ Quick Start

Chrome Extension

  1. Clone and build:
git clone https://github.com/cookiebody/PageSteer.git
cd page-steer
npm install
npm run build:ext
  1. Load in Chrome:

    • Go to chrome://extensions
    • Enable Developer mode
    • Click "Load unpacked" β†’ select packages/extension/.output/chrome-mv3
  2. Open sidepanel, configure your LLM endpoint, and start chatting.

MCP Server (for Cursor / Claude Desktop)

cd packages/mcp
node src/install.js

Then add to your MCP client config. See MCP docs.

JS Library (embed in your app)

npm install page-steer
import { PageSteer } from 'page-steer'

const agent = new PageSteer({
    model: 'your-model',
    baseURL: 'https://your-api-endpoint/v1',
    apiKey: 'YOUR_API_KEY',
})

await agent.execute('Fill in the contact form with test data')

πŸ’‘ Use Cases

  • Browser Automation β€” "Check my timeline" / "Post a tweet" / "Search AI agents"
  • SaaS AI Copilot β€” Embed in your product, ship AI copilot in lines of code
  • Smart Form Filling β€” Turn 20-click workflows into one sentence
  • Multi-tab Operations β€” Agent works across browser tabs via the extension
  • MCP Integration β€” Let Cursor/Claude Desktop control your browser

πŸ› οΈ Development

npm run dev:ext         # Extension dev mode
npm run dev:demo        # Demo dev server
npm run build           # Build all packages
npm run build:ext       # Build + zip extension
npm run typecheck       # Type check
npm run test            # Run tests

🀝 Contributing

We welcome contributions! See CONTRIBUTING.md for guidelines.

βš–οΈ License

MIT License

πŸ‘ Acknowledgments

DOM processing components derived from browser-use (MIT License, Copyright (c) 2024 Gregor Zunic).


⭐ Star this repo if you find Page Steer useful!

About

An embeddable AI browser agent for web automation, Chrome extension control, and multi-tab workflows.

Resources

Code of conduct

Contributing

Security policy

Stars

7 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages