Skip to content

Rrollan/PiBrowser

Repository files navigation

PiBrowser 🌐

PiBrowser

Chrome browser-control extension for PiChat + pi
Let your local Pi agent inspect pages, open tabs, click, type, scroll, and answer questions about the browser.

Chrome Extension Native Messaging License

PiBrowser connects Chrome to PiChat. Once paired, the Pi agent can control the browser through real tools instead of a fragile JSON loop.

The extension can:

  • open tabs and navigate pages;
  • inspect the current tab and DOM context;
  • click elements by page id or visible text;
  • type into inputs;
  • press keys;
  • scroll;
  • wait for page updates;
  • capture screenshots when needed.

When the agent controls a page, PiBrowser shows a small page glow and animated cursor so you can see what is happening.


Quick install — no Chrome Web Store account needed

This is the simplest free installation path while PiBrowser is not yet published in the Chrome Web Store.

1. Download PiBrowser

Download the latest release ZIP from:

👉 https://github.com/Rrollan/PiBrowser/releases/latest

Unzip it somewhere permanent, for example:

~/Applications/PiBrowser

Keep the folder. Chrome loads the extension from this folder, so do not delete it after installation.

2. Load it in Chrome

  1. Open Chrome.
  2. Go to:
    chrome://extensions
    
  3. Enable Developer mode in the top-right corner.
  4. Click Load unpacked.
  5. Select the unzipped PiBrowser folder.

That is it — PiBrowser is installed locally.


Connect PiBrowser to PiChat

PiBrowser uses Chrome Native Messaging. The local native host is installed by PiChat, not by Chrome.

  1. Open PiBrowser in Chrome.
  2. If it is not connected, PiBrowser shows a red card with Browspi/PiBrowser ID.
  3. Copy that ID.
  4. Open PiChat → Settings → Browser.
  5. Paste the ID into Browspi ID.
  6. Click Connect Browser.
  7. Reload PiBrowser in chrome://extensions.
  8. Open PiBrowser again and click Connect.

When connected, the PiBrowser panel shows Connected.


Screenshots

PiBrowser connected


How it works

User message
  → PiChat or PiBrowser side panel
  → pi agent
  → browser_* tools
  → PiChat native host / broker
  → PiBrowser extension
  → Chrome tab action
  → result back to pi

PiBrowser is intentionally only an executor. The agent reasoning happens in pi/PiChat, and browser actions go through explicit tools such as:

  • browser_open_tab
  • browser_get_page_context
  • browser_click
  • browser_type
  • browser_press
  • browser_scroll
  • browser_screenshot
  • browser_wait

Safety model

PiBrowser is designed for visible, local browser automation:

  • password field values are not sent in DOM snapshots;
  • cookies and localStorage are not intentionally read or sent to the model;
  • screenshots are only captured when the agent explicitly uses the screenshot tool;
  • destructive/payment/checkout/delete-style actions should require user confirmation;
  • CAPTCHAs should not be bypassed.

You should still treat browser automation as powerful. Only connect PiBrowser to PiChat builds you trust.


Development install

Clone this repository and load the folder directly:

git clone https://github.com/Rrollan/PiBrowser.git

Then open chrome://extensions, enable Developer Mode, and select the cloned folder with Load unpacked.


Build a release ZIP

./scripts/package.sh

The ZIP will be created in:

dist/PiBrowser-extension.zip

Requirements

  • Google Chrome or a Chromium-based browser with Manifest V3 support.
  • PiChat installed locally.
  • pi coding agent installed on the machine running PiChat.

License

MIT

About

Chrome browser-control extension for PiChat and pi

Resources

License

Contributing

Stars

Watchers

Forks

Packages

 
 
 

Contributors