@saiden/browse 0.2.12 → 0.2.13-pre.0
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 +42 -93
- package/dist/cli.js +4 -32
- package/dist/cli.js.map +1 -1
- package/dist/index.d.ts +0 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +0 -1
- package/dist/index.js.map +1 -1
- package/package.json +1 -5
package/README.md
CHANGED
|
@@ -6,96 +6,22 @@
|
|
|
6
6
|
[](https://nodejs.org)
|
|
7
7
|
|
|
8
8
|
#### Headless browser automation for Claude Code using Playwright WebKit.
|
|
9
|
-
## Installation
|
|
10
|
-
|
|
11
|
-
```bash
|
|
12
|
-
npm install @saiden/browse
|
|
13
|
-
npx playwright install webkit
|
|
14
|
-
```
|
|
15
|
-
|
|
16
|
-
## CLI Usage
|
|
17
|
-
|
|
18
|
-
```bash
|
|
19
|
-
# Take a screenshot
|
|
20
|
-
browse https://example.com
|
|
21
|
-
|
|
22
|
-
# Custom viewport and output
|
|
23
|
-
browse -o page.png -w 1920 -h 1080 https://example.com
|
|
24
|
-
|
|
25
|
-
# Query elements
|
|
26
|
-
browse -q "a[href]" https://example.com
|
|
27
|
-
browse -q "img" -j https://example.com # JSON output
|
|
28
|
-
|
|
29
|
-
# Click and interact
|
|
30
|
-
browse -c "button.submit" https://example.com
|
|
31
|
-
browse -t "input[name=q]=hello" -c "button[type=submit]" https://google.com
|
|
32
|
-
|
|
33
|
-
# Chain actions
|
|
34
|
-
browse -c ".cookie-accept" -c "a.nav-link" -q "h1" https://example.com
|
|
35
|
-
|
|
36
|
-
# Interactive mode (visible browser)
|
|
37
|
-
browse -i --headed https://example.com
|
|
38
|
-
```
|
|
39
|
-
|
|
40
|
-
## Server Mode
|
|
41
|
-
|
|
42
|
-
Start a persistent browser server that accepts commands via HTTP:
|
|
43
|
-
|
|
44
|
-
```bash
|
|
45
|
-
browse -s 3000 # headless
|
|
46
|
-
browse -s 3000 --headed # visible browser
|
|
47
|
-
```
|
|
48
|
-
|
|
49
|
-
Send commands:
|
|
50
|
-
|
|
51
|
-
```bash
|
|
52
|
-
# Navigate
|
|
53
|
-
curl -X POST localhost:3000 -d '{"cmd":"goto","url":"https://example.com"}'
|
|
54
|
-
|
|
55
|
-
# Click
|
|
56
|
-
curl -X POST localhost:3000 -d '{"cmd":"click","selector":"button.submit"}'
|
|
57
|
-
|
|
58
|
-
# Type
|
|
59
|
-
curl -X POST localhost:3000 -d '{"cmd":"type","selector":"#search","text":"hello"}'
|
|
60
|
-
|
|
61
|
-
# Query elements
|
|
62
|
-
curl -X POST localhost:3000 -d '{"cmd":"query","selector":"a[href]"}'
|
|
63
|
-
|
|
64
|
-
# Screenshot
|
|
65
|
-
curl -X POST localhost:3000 -d '{"cmd":"screenshot","path":"page.png"}'
|
|
66
|
-
|
|
67
|
-
# Get current URL
|
|
68
|
-
curl -X POST localhost:3000 -d '{"cmd":"url"}'
|
|
69
|
-
|
|
70
|
-
# Get page HTML
|
|
71
|
-
curl -X POST localhost:3000 -d '{"cmd":"html"}'
|
|
72
|
-
|
|
73
|
-
# Navigation
|
|
74
|
-
curl -X POST localhost:3000 -d '{"cmd":"back"}'
|
|
75
|
-
curl -X POST localhost:3000 -d '{"cmd":"forward"}'
|
|
76
|
-
curl -X POST localhost:3000 -d '{"cmd":"reload"}'
|
|
77
|
-
|
|
78
|
-
# Wait
|
|
79
|
-
curl -X POST localhost:3000 -d '{"cmd":"wait","ms":2000}'
|
|
80
|
-
|
|
81
|
-
# Close server
|
|
82
|
-
curl -X POST localhost:3000 -d '{"cmd":"close"}'
|
|
83
|
-
```
|
|
84
|
-
|
|
85
9
|
## Claude Code Plugin (Recommended)
|
|
86
10
|
|
|
87
11
|
Install as a Claude Code plugin for the best integration:
|
|
88
12
|
|
|
89
13
|
```bash
|
|
90
|
-
#
|
|
14
|
+
# Add the saiden marketplace (one-time)
|
|
91
15
|
claude plugin marketplace add https://github.com/saiden-dev/claude-plugins
|
|
92
|
-
claude plugin install browse
|
|
93
16
|
|
|
94
|
-
#
|
|
95
|
-
claude plugin install
|
|
17
|
+
# Install the plugin
|
|
18
|
+
claude plugin install browse@saiden
|
|
19
|
+
|
|
20
|
+
# Update to latest version
|
|
21
|
+
claude plugin marketplace update saiden && claude plugin update browse@saiden
|
|
96
22
|
```
|
|
97
23
|
|
|
98
|
-
**Prerequisites:** Node.js 18
|
|
24
|
+
**Prerequisites:** Node.js 18+, Playwright WebKit (`npx playwright install webkit`)
|
|
99
25
|
|
|
100
26
|
### Plugin Features
|
|
101
27
|
|
|
@@ -124,6 +50,39 @@ claude plugin install github:saiden-dev/browse
|
|
|
124
50
|
| `@browse:browser://html/full` | Complete page HTML |
|
|
125
51
|
| `@browse:browser://screenshot` | Page screenshot as base64 PNG |
|
|
126
52
|
|
|
53
|
+
---
|
|
54
|
+
|
|
55
|
+
## Installation (npm)
|
|
56
|
+
|
|
57
|
+
```bash
|
|
58
|
+
npm install @saiden/browse
|
|
59
|
+
npx playwright install webkit
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
## CLI Usage
|
|
63
|
+
|
|
64
|
+
```bash
|
|
65
|
+
# Take a screenshot
|
|
66
|
+
browse https://example.com
|
|
67
|
+
|
|
68
|
+
# Custom viewport and output
|
|
69
|
+
browse -o page.png -w 1920 -h 1080 https://example.com
|
|
70
|
+
|
|
71
|
+
# Query elements
|
|
72
|
+
browse -q "a[href]" https://example.com
|
|
73
|
+
browse -q "img" -j https://example.com # JSON output
|
|
74
|
+
|
|
75
|
+
# Click and interact
|
|
76
|
+
browse -c "button.submit" https://example.com
|
|
77
|
+
browse -t "input[name=q]=hello" -c "button[type=submit]" https://google.com
|
|
78
|
+
|
|
79
|
+
# Chain actions
|
|
80
|
+
browse -c ".cookie-accept" -c "a.nav-link" -q "h1" https://example.com
|
|
81
|
+
|
|
82
|
+
# Interactive mode (visible browser)
|
|
83
|
+
browse -i --headed https://example.com
|
|
84
|
+
```
|
|
85
|
+
|
|
127
86
|
## MCP Server (Standalone)
|
|
128
87
|
|
|
129
88
|
Use with any MCP-compatible client:
|
|
@@ -160,6 +119,7 @@ Add to Claude Code's MCP config (`~/.claude/settings.json`):
|
|
|
160
119
|
| `upload` | Upload files to a file input |
|
|
161
120
|
| `back`, `forward`, `reload` | Browser navigation |
|
|
162
121
|
| `wait` | Wait for a specified time |
|
|
122
|
+
| `close` | Close the browser and end session |
|
|
163
123
|
|
|
164
124
|
**Debugging & Inspection:**
|
|
165
125
|
| Tool | Description |
|
|
@@ -222,9 +182,8 @@ Add to Claude Code's MCP config (`~/.claude/settings.json`):
|
|
|
222
182
|
## Programmatic Usage
|
|
223
183
|
|
|
224
184
|
```typescript
|
|
225
|
-
import { ClaudeBrowser
|
|
185
|
+
import { ClaudeBrowser } from '@saiden/browse';
|
|
226
186
|
|
|
227
|
-
// Direct browser control
|
|
228
187
|
const browser = new ClaudeBrowser({
|
|
229
188
|
headless: true,
|
|
230
189
|
width: 1280,
|
|
@@ -242,10 +201,6 @@ await browser.type('#input', 'hello');
|
|
|
242
201
|
await browser.screenshot('page.png');
|
|
243
202
|
|
|
244
203
|
await browser.close();
|
|
245
|
-
|
|
246
|
-
// Or start a server
|
|
247
|
-
const server = await startServer({ port: 3000, headless: false });
|
|
248
|
-
// Server runs until closed via HTTP or SIGINT
|
|
249
204
|
```
|
|
250
205
|
|
|
251
206
|
## API
|
|
@@ -304,12 +259,6 @@ const server = await startServer({ port: 3000, headless: false });
|
|
|
304
259
|
**Commands:**
|
|
305
260
|
- `executeCommand(cmd)` - Execute a command object
|
|
306
261
|
|
|
307
|
-
### BrowserServer
|
|
308
|
-
|
|
309
|
-
- `start()` - Start HTTP server
|
|
310
|
-
- `stop()` - Stop server and close browser
|
|
311
|
-
- `getPort()` - Get server port
|
|
312
|
-
|
|
313
262
|
## License
|
|
314
263
|
|
|
315
264
|
MIT
|
package/dist/cli.js
CHANGED
|
@@ -5,7 +5,6 @@ import { fileURLToPath } from 'node:url';
|
|
|
5
5
|
import { parseArgs } from 'node:util';
|
|
6
6
|
import { ClaudeBrowser } from './browser.js';
|
|
7
7
|
import * as image from './image.js';
|
|
8
|
-
import { startServer } from './server.js';
|
|
9
8
|
const __dirname = dirname(fileURLToPath(import.meta.url));
|
|
10
9
|
const pkg = JSON.parse(readFileSync(resolve(__dirname, '../package.json'), 'utf-8'));
|
|
11
10
|
const { values, positionals } = parseArgs({
|
|
@@ -71,25 +70,8 @@ Image processing examples:
|
|
|
71
70
|
browse https://example.com --resize 800x600
|
|
72
71
|
browse https://example.com --compress 60
|
|
73
72
|
|
|
74
|
-
Server
|
|
75
|
-
browse
|
|
76
|
-
browse --headed # Start with visible browser
|
|
77
|
-
|
|
78
|
-
# Send commands via curl:
|
|
79
|
-
curl -X POST http://localhost:13373 -d '{"cmd":"goto","url":"https://example.com"}'
|
|
80
|
-
curl -X POST http://localhost:13373 -d '{"cmd":"click","selector":"button"}'
|
|
81
|
-
curl -X POST http://localhost:13373 -d '{"cmd":"type","selector":"input","text":"hello"}'
|
|
82
|
-
curl -X POST http://localhost:13373 -d '{"cmd":"query","selector":"a[href]"}'
|
|
83
|
-
curl -X POST http://localhost:13373 -d '{"cmd":"screenshot","path":"shot.png"}'
|
|
84
|
-
curl -X POST http://localhost:13373 -d '{"cmd":"url"}'
|
|
85
|
-
curl -X POST http://localhost:13373 -d '{"cmd":"html"}'
|
|
86
|
-
curl -X POST http://localhost:13373 -d '{"cmd":"close"}'
|
|
87
|
-
|
|
88
|
-
# Image processing via server:
|
|
89
|
-
curl localhost:13373 -d '{"cmd":"favicon","input":"screenshot.png","outputDir":"./favicons"}'
|
|
90
|
-
curl localhost:13373 -d '{"cmd":"convert","input":"img.png","output":"img.webp","format":"webp"}'
|
|
91
|
-
curl localhost:13373 -d '{"cmd":"resize","input":"img.png","output":"small.png","width":400}'
|
|
92
|
-
curl localhost:13373 -d '{"cmd":"compress","input":"img.png","output":"compressed.png","quality":60}'
|
|
73
|
+
MCP Server (for Claude Code integration):
|
|
74
|
+
browse-mcp # Run as MCP server (stdio transport)
|
|
93
75
|
`;
|
|
94
76
|
function getViewportConfig() {
|
|
95
77
|
return {
|
|
@@ -98,16 +80,6 @@ function getViewportConfig() {
|
|
|
98
80
|
height: Number.parseInt(values.height),
|
|
99
81
|
};
|
|
100
82
|
}
|
|
101
|
-
async function runServerMode() {
|
|
102
|
-
const port = 13373;
|
|
103
|
-
const server = await startServer({ port, ...getViewportConfig() });
|
|
104
|
-
process.on('SIGINT', async () => {
|
|
105
|
-
console.log('\nShutting down...');
|
|
106
|
-
await server.stop();
|
|
107
|
-
process.exit(0);
|
|
108
|
-
});
|
|
109
|
-
await new Promise(() => { });
|
|
110
|
-
}
|
|
111
83
|
async function processTypeActions(browser) {
|
|
112
84
|
const typeActions = values.type;
|
|
113
85
|
if (!typeActions?.length)
|
|
@@ -235,8 +207,8 @@ async function main() {
|
|
|
235
207
|
process.exit(0);
|
|
236
208
|
}
|
|
237
209
|
if (positionals.length === 0) {
|
|
238
|
-
|
|
239
|
-
|
|
210
|
+
console.log(HELP);
|
|
211
|
+
process.exit(0);
|
|
240
212
|
}
|
|
241
213
|
await runBrowserMode();
|
|
242
214
|
}
|
package/dist/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,KAAK,KAAK,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,6 +1,4 @@
|
|
|
1
1
|
export { ClaudeBrowser } from './browser.js';
|
|
2
|
-
export { BrowserServer, startServer } from './server.js';
|
|
3
2
|
export { createFavicon, convert, resize, crop, compress, thumbnail, type FaviconResult, type ImageResult, type FitType, type FormatType, type ThumbnailSize, } from './image.js';
|
|
4
3
|
export type { BrowserOptions, BrowserCommand, CommandResponse, ElementInfo, SuccessResponse, ErrorResponse, GotoCommand, ClickCommand, TypeCommand, QueryCommand, ScreenshotCommand, UrlCommand, HtmlCommand, BackCommand, ForwardCommand, ReloadCommand, WaitCommand, NewPageCommand, CloseCommand, EvalCommand, FaviconCommand, ConvertCommand, ResizeCommand, CropCommand, CompressCommand, ThumbnailCommand, } from './types.js';
|
|
5
|
-
export type { ServerOptions } from './server.js';
|
|
6
4
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EACL,aAAa,EACb,OAAO,EACP,MAAM,EACN,IAAI,EACJ,QAAQ,EACR,SAAS,EACT,KAAK,aAAa,EAClB,KAAK,WAAW,EAChB,KAAK,OAAO,EACZ,KAAK,UAAU,EACf,KAAK,aAAa,GACnB,MAAM,YAAY,CAAC;AACpB,YAAY,EACV,cAAc,EACd,cAAc,EACd,eAAe,EACf,WAAW,EACX,eAAe,EACf,aAAa,EACb,WAAW,EACX,YAAY,EACZ,WAAW,EACX,YAAY,EACZ,iBAAiB,EACjB,UAAU,EACV,WAAW,EACX,WAAW,EACX,cAAc,EACd,aAAa,EACb,WAAW,EACX,cAAc,EACd,YAAY,EACZ,WAAW,EACX,cAAc,EACd,cAAc,EACd,aAAa,EACb,WAAW,EACX,eAAe,EACf,gBAAgB,GACjB,MAAM,YAAY,CAAC"}
|
package/dist/index.js
CHANGED
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EACL,aAAa,EACb,OAAO,EACP,MAAM,EACN,IAAI,EACJ,QAAQ,EACR,SAAS,GAMV,MAAM,YAAY,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@saiden/browse",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.13-pre.0",
|
|
4
4
|
"description": "Headless browser automation for Claude Code using Playwright WebKit",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -50,19 +50,15 @@
|
|
|
50
50
|
"dependencies": {
|
|
51
51
|
"@modelcontextprotocol/sdk": "^1.26.0",
|
|
52
52
|
"chalk": "^5.6.2",
|
|
53
|
-
"express": "^5.2.1",
|
|
54
53
|
"log-symbols": "^7.0.1",
|
|
55
54
|
"playwright": "^1.41.0",
|
|
56
55
|
"sharp": "^0.34.5"
|
|
57
56
|
},
|
|
58
57
|
"devDependencies": {
|
|
59
58
|
"@biomejs/biome": "^1.9.0",
|
|
60
|
-
"@types/express": "^5.0.6",
|
|
61
59
|
"@types/node": "^20.11.0",
|
|
62
60
|
"@types/sharp": "^0.31.1",
|
|
63
|
-
"@types/supertest": "^6.0.3",
|
|
64
61
|
"@vitest/coverage-v8": "^4.0.18",
|
|
65
|
-
"supertest": "^7.2.2",
|
|
66
62
|
"typescript": "^5.3.0",
|
|
67
63
|
"vitest": "^4.0.18"
|
|
68
64
|
},
|