glidercli 0.1.0 β 0.1.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +47 -83
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -1,112 +1,76 @@
|
|
|
1
|
-
#
|
|
1
|
+
# glidercli
|
|
2
2
|
|
|
3
|
-
Browser automation
|
|
4
|
-
|
|
5
|
-
## Install
|
|
3
|
+
Browser automation with autonomous loops. Run tasks until done.
|
|
6
4
|
|
|
7
5
|
```bash
|
|
8
|
-
npm
|
|
6
|
+
npm i -g glidercli
|
|
9
7
|
```
|
|
10
8
|
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
- Node.js 18+
|
|
14
|
-
- [bserve](https://github.com/vdutts/glider-crx) relay server
|
|
15
|
-
- Glider Chrome extension
|
|
9
|
+
## What it does
|
|
16
10
|
|
|
17
|
-
|
|
11
|
+
Control Chrome from terminal. Run YAML tasks. Loop until complete (Ralph Wiggum pattern).
|
|
18
12
|
|
|
19
13
|
```bash
|
|
20
|
-
#
|
|
21
|
-
glider
|
|
14
|
+
glider status # check connection
|
|
15
|
+
glider goto "https://x.com" # navigate
|
|
16
|
+
glider eval "document.title" # run JS
|
|
17
|
+
glider run task.yaml # execute task file
|
|
18
|
+
glider loop task.yaml -n 50 # autonomous loop
|
|
19
|
+
```
|
|
22
20
|
|
|
23
|
-
|
|
24
|
-
glider goto "https://google.com"
|
|
21
|
+
## The Loop
|
|
25
22
|
|
|
26
|
-
|
|
27
|
-
|
|
23
|
+
The `loop` command runs your task repeatedly until:
|
|
24
|
+
- Completion marker found (`LOOP_COMPLETE` or `DONE`)
|
|
25
|
+
- Max iterations reached
|
|
26
|
+
- Timeout hit
|
|
28
27
|
|
|
29
|
-
|
|
30
|
-
glider
|
|
28
|
+
```bash
|
|
29
|
+
glider loop scrape-feed.yaml -n 100 -t 3600
|
|
30
|
+
```
|
|
31
31
|
|
|
32
|
-
|
|
33
|
-
|
|
32
|
+
Safety: max iterations, timeout, exponential backoff on errors, state persistence.
|
|
33
|
+
|
|
34
|
+
## Task Files
|
|
35
|
+
|
|
36
|
+
```yaml
|
|
37
|
+
name: "Get timeline"
|
|
38
|
+
steps:
|
|
39
|
+
- goto: "https://x.com/home"
|
|
40
|
+
- wait: 3
|
|
41
|
+
- eval: "document.querySelectorAll('article').length"
|
|
42
|
+
- screenshot: "/tmp/timeline.png"
|
|
34
43
|
```
|
|
35
44
|
|
|
36
45
|
## Commands
|
|
37
46
|
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
| `glider status` | Check server, extension, tabs |
|
|
47
|
+
| Command | What |
|
|
48
|
+
|---------|------|
|
|
49
|
+
| `glider status` | Server/extension/tab status |
|
|
42
50
|
| `glider start` | Start relay server |
|
|
43
|
-
| `glider
|
|
44
|
-
|
|
45
|
-
### Navigation
|
|
46
|
-
| Command | Description |
|
|
47
|
-
|---------|-------------|
|
|
48
|
-
| `glider goto <url>` | Navigate to URL |
|
|
51
|
+
| `glider goto <url>` | Navigate |
|
|
49
52
|
| `glider eval <js>` | Execute JavaScript |
|
|
50
|
-
| `glider click <
|
|
53
|
+
| `glider click <sel>` | Click element |
|
|
51
54
|
| `glider type <sel> <text>` | Type into input |
|
|
52
|
-
| `glider screenshot
|
|
53
|
-
| `glider
|
|
55
|
+
| `glider screenshot` | Capture page |
|
|
56
|
+
| `glider run <file>` | Run YAML task |
|
|
57
|
+
| `glider loop <file>` | Autonomous loop |
|
|
54
58
|
|
|
55
|
-
|
|
56
|
-
| Command | Description |
|
|
57
|
-
|---------|-------------|
|
|
58
|
-
| `glider run <task.yaml>` | Execute YAML task file |
|
|
59
|
-
| `glider loop <task> [opts]` | Run in Ralph Wiggum loop |
|
|
59
|
+
## Requirements
|
|
60
60
|
|
|
61
|
-
|
|
61
|
+
- Node 18+
|
|
62
|
+
- Chrome with Glider extension
|
|
63
|
+
- bserve relay server
|
|
62
64
|
|
|
63
|
-
|
|
64
|
-
name: "Get page data"
|
|
65
|
-
steps:
|
|
66
|
-
- goto: "https://example.com"
|
|
67
|
-
- wait: 2
|
|
68
|
-
- eval: "document.title"
|
|
69
|
-
- click: "button.submit"
|
|
70
|
-
- type: ["#input", "hello world"]
|
|
71
|
-
- screenshot: "/tmp/shot.png"
|
|
72
|
-
- assert: "document.title.includes('Example')"
|
|
73
|
-
- log: "Done"
|
|
74
|
-
```
|
|
75
|
-
|
|
76
|
-
## Ralph Wiggum Loop
|
|
77
|
-
|
|
78
|
-
The `loop` command implements autonomous execution:
|
|
65
|
+
## Install
|
|
79
66
|
|
|
80
67
|
```bash
|
|
81
|
-
|
|
68
|
+
npm i -g glidercli
|
|
69
|
+
# or
|
|
70
|
+
npm i -g @vd7/glider
|
|
82
71
|
```
|
|
83
72
|
|
|
84
|
-
|
|
85
|
-
- `-n, --max-iterations N` - Max iterations (default: 10)
|
|
86
|
-
- `-t, --timeout N` - Max runtime in seconds (default: 3600)
|
|
87
|
-
- `-m, --marker STRING` - Completion marker (default: LOOP_COMPLETE)
|
|
88
|
-
|
|
89
|
-
The loop:
|
|
90
|
-
1. Executes task steps repeatedly
|
|
91
|
-
2. Checks for completion marker in output or task file
|
|
92
|
-
3. Stops when marker found or limits reached
|
|
93
|
-
4. Saves state to `/tmp/glider-state.json`
|
|
94
|
-
5. Implements exponential backoff on errors
|
|
95
|
-
|
|
96
|
-
## Architecture
|
|
97
|
-
|
|
98
|
-
```
|
|
99
|
-
βββββββββββββββ βββββββββββββββ βββββββββββββββ
|
|
100
|
-
β glider CLI ββββββΆβ bserve ββββββΆβ Extension β
|
|
101
|
-
β (this pkg) β β (relay) β β (Chrome) β
|
|
102
|
-
βββββββββββββββ βββββββββββββββ βββββββββββββββ
|
|
103
|
-
β
|
|
104
|
-
βΌ
|
|
105
|
-
βββββββββββββββ
|
|
106
|
-
β Browser β
|
|
107
|
-
β (CDP) β
|
|
108
|
-
βββββββββββββββ
|
|
109
|
-
```
|
|
73
|
+
Both install the `glider` command.
|
|
110
74
|
|
|
111
75
|
## License
|
|
112
76
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "glidercli",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.2",
|
|
4
4
|
"description": "Browser automation CLI with autonomous loop execution. Control Chrome via CDP, run YAML task files, execute in Ralph Wiggum loops.",
|
|
5
5
|
"main": "index.js",
|
|
6
6
|
"bin": {
|
|
@@ -25,7 +25,7 @@
|
|
|
25
25
|
"license": "MIT",
|
|
26
26
|
"repository": {
|
|
27
27
|
"type": "git",
|
|
28
|
-
"url": "https://github.com/
|
|
28
|
+
"url": "https://github.com/vdutts7/glidercli.git"
|
|
29
29
|
},
|
|
30
30
|
"engines": {
|
|
31
31
|
"node": ">=18.0.0"
|