glidercli
v0.3.2
Published
Browser automation CLI. Control Chrome from terminal via CDP, run YAML task files, autonomous loops until completion.
Maintainers
Readme
Table of Contents
📝About
Control Chrome from terminal. Run YAML tasks. Loop until complete (Ralph Wiggum pattern).
- CDP-based - Direct Chrome DevTools Protocol control
- YAML tasks - Define automation steps declaratively
- Autonomous loops - Run until completion marker found
- Safety guards - Max iterations, timeout, exponential backoff
💻Install
npm i -g glidercli
glider install # start daemon (runs forever, auto-restarts)Requirements
Node 18+
Glider Chrome Extension - Install from Chrome Web Store
🚀Usage
glider connect # connect to browser
glider status # check connection
glider goto "https://x.com" # navigate
glider eval "document.title" # run JS
glider run task.yaml # execute task file
glider loop task.yaml -n 50 # autonomous loopDaemon
The daemon keeps the relay server running 24/7. Auto-restarts on crash.
glider install # install daemon (runs at login)
glider uninstall # remove daemonLogs: ~/.glider/daemon.log
🔄The Loop
The loop (or ralph) command runs your task repeatedly until:
- Completion marker found (
LOOP_COMPLETEorDONE) - Max iterations reached
- Timeout hit
glider loop scrape-feed.yaml -n 100 -t 3600
glider ralph task.yaml # same thingSafety: max iterations, timeout, exponential backoff on errors, state persistence.
📄Task Files
name: "Get timeline"
steps:
- goto: "https://x.com/home"
- wait: 3
- eval: "document.querySelectorAll('article').length"
- screenshot: "/tmp/timeline.png"⚡Commands
Setup
| Command | What |
|---------|------|
| glider install | Install daemon (runs at login) |
| glider uninstall | Remove daemon |
| glider connect | Connect to browser |
| glider status | Server/extension/tab status |
| glider test | Run diagnostics |
Navigation
| Command | What |
|---------|------|
| glider goto <url> | Navigate |
| glider eval <js> | Execute JavaScript |
| glider click <sel> | Click element |
| glider type <sel> <text> | Type into input |
| glider screenshot | Capture page |
| glider html <sel> | Get element HTML |
| glider title | Get page title |
| glider text | Get page text |
Multi-Tab
| Command | What |
|---------|------|
| glider fetch <url> | Fetch URL with browser session (authenticated) |
| glider spawn <urls...> | Open multiple tabs |
| glider extract [opts] | Extract content from all connected tabs |
| glider explore <url> | Crawl site, capture links/network |
Automation
| Command | What |
|---------|------|
| glider run <file> | Run YAML task |
| glider loop <file> | Autonomous loop |
| glider ralph <file> | Alias for loop |
🗺️Roadmap
- [x] CDP-based browser control via relay
- [x] YAML task file execution
- [x] Ralph Wiggum autonomous loop pattern
- [x] Daemon mode (auto-start, auto-restart)
- [x] macOS notifications
- [x] Multi-tab orchestration (spawn, extract)
- [x] Authenticated fetch via browser session
- [x] Site exploration/crawling
- [x] Chrome Web Store extension publish
- [ ] Linux support
- [ ] Windows support
- [ ] Headless mode
- [ ] Task chaining (output of one -> input of next)
- [ ] Built-in scraping templates
- [ ] Session recording/playback
- [ ] AI-assisted task generation
- [ ] Web dashboard for monitoring loops
