<p align="center">
<img src="assets/agent-browser-logo.png" alt="Pixel-art computer displaying a globe and pointer, the Agent Browser logo" width="200">
</p>
<h1 align="center">Agent Browser</h1>
<h3 align="center">See what your agent sees.</h3>
<p align="center">
Self-hosted Chrome for AI agents.<br>
Your agent drives one real browser session — and you can watch it happen, and step in.
</p>
<p align="center">
<a href="https://github.com/AetherAI3/agent-browser/actions/workflows/ci.yml"><img alt="CI" src="https://github.com/AetherAI3/agent-browser/actions/workflows/ci.yml/badge.svg"></a>
<a href="https://www.npmjs.com/package/aether-browser"><img alt="npm: aether-browser" src="https://img.shields.io/npm/v/aether-browser?color=cb3837&label=npm%3A%20aether-browser"></a>
<a href="https://pypi.org/project/aether-browser/"><img alt="PyPI: aether-browser" src="https://img.shields.io/pypi/v/aether-browser?color=3775a9&label=PyPI%3A%20aether-browser"></a>
<a href="LICENSE"><img alt="Source license: Apache-2.0" src="https://img.shields.io/badge/source%20license-Apache--2.0-0b7285"></a>
<img alt="Python 3.11+" src="https://img.shields.io/badge/python-3.11%2B-3776ab">
<img alt="Self-hosted" src="https://img.shields.io/badge/runtime-self--hosted-2f9e44">
</p>
<p align="center">
<a href="#quickstart">Quickstart</a> ·
<a href="docs/API.md">API</a> ·
<a href="docs/MCP.md">MCP</a> ·
<a href="docs/SECURITY.md">Security model</a> ·
<a href="clients/node/README.md">Node client</a> ·
<a href="clients/python/README.md">Python client</a> ·
<a href="CONTRIBUTING.md">Contributing</a> ·
<a href="CHANGELOG.md">Changelog</a>
</p>
<p align="center">
<img src="assets/demo.gif" alt="An agent signs in through the Agent Browser JSON API, stops at a two-factor prompt it cannot answer, a human types the code into the displayed browser session, and the agent resumes and reads the dashboard" width="820">
</p>
<p align="center"><sub>
An 18-second recorde