Top AI Repos โ open-source AI, indexed and scored
Top AI Repos tracks AI repositories on GitHub and answers two different questions about each one: is it moving right now, and would you bet a product on it.
Top AI Repos tracks AI repositories on GitHub and answers two different questions about each one: is it moving right now, and would you bet a product on it.
๐๏ธ A CLI Tool to Automate Your Everyday Web Browser.
| Date | Stars |
|---|---|
| 2026-07-24 | 916 |
| 2026-07-25 | 916 |
| 2026-07-28 | 916 |
| 2026-07-30 | 916 |
| 2026-08-06 | 916 |
Today
โ stars today
This week
โ stars this week
This month
โ stars this month
Momentum
0.0
growth rate 0.00%/day
# Beachpatrol: Browser's End-user Automation CLI Hub. Potentialize All Tasks Regarding Online Life.
<p align="center">
<img src="https://github.com/sebastiancarlos/beachpatrol/assets/88276600/49fbdf4f-eeec-42f8-a0aa-dd1c1c6c1617">
</p>
_Essential software should be fully automatable. Web browsers aren't. Let's change that._
## Introduction
Beachpatrol is a CLI tool to replace and automate your everyday web browser.
https://github.com/sebastiancarlos/beachpatrol/assets/88276600/bc3bf9e8-28e2-48ef-a1f4-8754b4918916


Run `beachpatrol` to launch a Chromium or Firefox browser which can be
controlled externally through [Playwright](https://playwright.dev/) scripts.
You can use it as your daily driver; it works like a regular browser.
Use also `beachpatrol --profile <profile-name>` to launch a specific profile,
or `beachpatrol --incognito`.
To automate it, create a custom Playwright script in the `beachpatrol/commands`
folder. Then, run `beachmsg <script-name> [<argument>...]`, and it will run it.
You can use the Playwright API to work on the currently focused tab, move to an
existing tab, open a new one, or use a headless tab instead.
If you don't want to go back and forth to the CLI to automate your browser, you can
install the `beachpatrol-browser-extension`. Its UI allows you to select a
command and call it with arguments. It will call `beachmsg` itself through the
browser extension's Native Messaging feature. Also, the UI will highlight commands
which are meant to run on the current URL, will provide GUI elements for common
situations (such as pagination and dropdowns), and will support hotkeys:

### What can you automate with Beachpatrol? The sky is the limit:
- Check your email.
- Check your bank transactions.
- Download a file from a website.
- Dump the text from the current tab into a file.
- Fill an online form.
- Check for messages in your social media or work communication platform.
- Integrate with your OS: Add browser task to your Bash/Python scripts.
- **All of this right there on your everyday browser!**
## Requirements
- Linux (Wayland or X11), macOS or Windows
- Node.js LTS (v22)
- Chromium or Firefox (installed automatically by Playwright)
## Installation
- Clone the repo: `git clone https://github.com/sebastiancarlos/beachpatrol`
- Move to the folder: `cd beachpatrol`
- Run `npm install` to install dependencies.
- Run `make` to install symlinks to the executables (in `/usr/local/bin` by
default, which should be in your `PATH`)
- On Windows, you can instead run `npm install -g .` to install it globally.
## Example
- Launch a browser with `beachpatrol`
- Optionally launch it in the background with `beachpatrol &`
- Use it as your regular browser.
- Install browser extensions if you want.
- If you close it. Run `beachpatrol` again and you should still be logged-in
to all your sites.
- If you want a different profile, use `beachpatrol --profile
new-profile-name`
- Note: Due to a Chromium's limitation, it is not possible to use the
in-browser's profile features to switch profiles. However, this might be
fixed in the future.
- Run `beachmsg smoke-test` to run the pre-installed test command, which
performs the classic [Selenium smoke
test](https://www.selenium.dev/documentation/webdriver/getting_started/first_script/).
- If it reads "Form submitted", it worked correctly.
- Now create your own automation commands!
### Writing Your First Command
Suppose you want to automate web search. You can create a `commands/search.js`
file (relative to the cloned repo directory) with the following content:
```javascript
export default async ({ context, activePage }, ...searchTerms) => {
const page = await contExcerpt of 14,967 characters
Read on GitHub16
3
Slava Kurilyak
1
1
Would you bet a product on this? Bounded 0โ100 and slow moving.
matched fp:79924e51fc537e6c, topic:browser-automation, topic:playwright, topic:selenium