196
Otto is a secure remote browser automation platform that allows you to control real browser tabs from your CLI or scripts without the need to host a browser farm. It achieves this by sending commands over WebSocket to a relay daemon, which then routes them to a Chrome extension that executes actions on live tabs. This makes it ideal for developers and automation teams who require real browser context for tasks such as testing, monitoring, and agent-driven workflows, all without the overhead of managing headless infrastructure.
To get started, ensure you have Node.js 20+ and npm 10+ installed. You will also need Chrome.
For a comprehensive guide, refer to the Installation and Quickstart documentation.
The system operates with a Controller (otto CLI or script) communicating via WebSocket to a Relay daemon, which then forwards authenticated commands to an Extension node running in Chrome. This extension interacts with managed browser tabs.
Otto is optimized for headless automation and agent-driven workflows, offering non-interactive setup, machine-readable output, a programmatic API, and live log streaming for effective integration with AI agents.
Security is paramount, with features like token authentication, ACL grants, replay protection, and log redaction. Otto does not automate credential submission, requiring manual user authentication.
Extensive documentation is available on the documentation site, covering installation, quickstart, architecture, protocol, CLI reference, security, and guides for agents. The repository and npm package are also available.
This project is licensed under the MIT License.
Built with