fastbrowser_cli 1.0.35 → 1.0.37
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 +26 -5
- package/examples/linkedin_cli/linkedin_dm.sh +36 -0
- package/examples/whatsapp/whatapp.a11y.txt +1521 -0
- package/examples/whatsapp/whatsapp.sh +10 -0
- package/listitem +3 -0
- package/package.json +2 -2
- package/skills/fastbrowser/SKILL.md +89 -10
- package/examples/linkedin_cli/linked_dm.sh +0 -19
- /package/examples/linkedin_cli/{linked_post.sh → linkedin_post.sh} +0 -0
package/README.md
CHANGED
|
@@ -13,7 +13,8 @@ A lighter alternative to Chrome DevTools MCP or Puppeteer, designed for AI agent
|
|
|
13
13
|
- **Lean output** — reduces LLM input size, parsing complexity, and iteration cost while improving response quality
|
|
14
14
|
|
|
15
15
|
|
|
16
|
-
## How to
|
|
16
|
+
## How to Install it
|
|
17
|
+
### How to install the CLI tool for claude terminal
|
|
17
18
|
|
|
18
19
|
fastbrowser can be used at the cli level, with a SKILL.md that maps CLI commands to tools. To install the SKILL.md into a claude agent folder:
|
|
19
20
|
|
|
@@ -24,8 +25,8 @@ cd ~/.claude
|
|
|
24
25
|
npx fastbrowser_cli install
|
|
25
26
|
```
|
|
26
27
|
|
|
27
|
-
### How to
|
|
28
|
-
It is
|
|
28
|
+
### How to install Playwright chrome extension
|
|
29
|
+
It is used by fastbrowser_mcp to control the browser.
|
|
29
30
|
|
|
30
31
|
[Playwright MCP Bridge](
|
|
31
32
|
https://chromewebstore.google.com/detail/playwright-mcp-bridge/mmlmfjhmonkocbjadbfplnigmagldckm)
|
|
@@ -35,7 +36,7 @@ https://chromewebstore.google.com/detail/playwright-mcp-bridge/mmlmfjhmonkocbjad
|
|
|
35
36
|
How to launch the MCP server that the CLI relies on to control the browser:
|
|
36
37
|
|
|
37
38
|
```bash
|
|
38
|
-
npx -p fastbrowser_cli fastbrowser_mcp mcp_server
|
|
39
|
+
npx -p fastbrowser_cli@latest fastbrowser_mcp mcp_server
|
|
39
40
|
```
|
|
40
41
|
|
|
41
42
|
how to install it in [Claude Desktop](https://code.claude.com/docs/en/desktop) - [more details](https://modelcontextprotocol.io/docs/develop/connect-local-servers#installing-the-filesystem-server)
|
|
@@ -51,13 +52,33 @@ how to install it in [Claude Desktop](https://code.claude.com/docs/en/desktop) -
|
|
|
51
52
|
"fastbrowser_mcp": {
|
|
52
53
|
"command": "npx",
|
|
53
54
|
"args": [
|
|
54
|
-
"-p", "fastbrowser_cli", "fastbrowser_mcp", "mcp_server"
|
|
55
|
+
"-p", "fastbrowser_cli@latest", "fastbrowser_mcp", "mcp_server"
|
|
55
56
|
]
|
|
56
57
|
}
|
|
57
58
|
}
|
|
58
59
|
}
|
|
59
60
|
```
|
|
60
61
|
|
|
62
|
+
### Check it is properly installed ?
|
|
63
|
+
Just ask to claude `hat fastbrowser skill can do for me ?`
|
|
64
|
+
|
|
65
|
+
## Warning
|
|
66
|
+
|
|
67
|
+
**Never manually close pages opened by Playwright MCP Bridge.** These pages maintain the MCP connection.
|
|
68
|
+
|
|
69
|
+
### Proper cleanup
|
|
70
|
+
- Use `npx fastbrowser_cli close_page` to close individual pages
|
|
71
|
+
- Use `npx fastbrowser_cli server stop` to shut down the daemon
|
|
72
|
+
|
|
73
|
+
### If pages are manually closed
|
|
74
|
+
The MCP connection will break. To recover:
|
|
75
|
+
|
|
76
|
+
```bash
|
|
77
|
+
npx npx fastbrowser_cli server restart
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
This re-establishes the MCP connection and opens a new control page.
|
|
81
|
+
|
|
61
82
|
## Architecture
|
|
62
83
|
|
|
63
84
|
Three components ship together in this package:
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
#!/bin/bash
|
|
2
|
+
|
|
3
|
+
# export NODE_OPTIONS=''
|
|
4
|
+
# export NPM_CONFIG_LOGLEVEL=silent
|
|
5
|
+
# FASTBROWSER_CLI="npm run dev:cli --"
|
|
6
|
+
FASTBROWSER_CLI="npx fastbrowser_cli"
|
|
7
|
+
|
|
8
|
+
# Function to sleep for a random duration between delayBase - delayRange/2 and delayBase + delayRange/2
|
|
9
|
+
# Usage: random_sleep <delayBase> <delayRange>
|
|
10
|
+
random_sleep() {
|
|
11
|
+
local delayBase="$1"
|
|
12
|
+
local delayRange="$2"
|
|
13
|
+
local delay
|
|
14
|
+
delay=$(awk -v b="$delayBase" -v r="$delayRange" 'BEGIN { srand(); printf "%.3f", b - r/2 + rand()*r }')
|
|
15
|
+
sleep "$delay"
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
#######################################################################################
|
|
19
|
+
|
|
20
|
+
# Restart the server to clear any previous state
|
|
21
|
+
eval "$FASTBROWSER_CLI" server restart
|
|
22
|
+
|
|
23
|
+
# Goto linkedin messaging page using the CLI commands below:
|
|
24
|
+
eval "$FASTBROWSER_CLI" navigate_page --url https://www.linkedin.com/messaging/
|
|
25
|
+
|
|
26
|
+
# list all the threads conversations in the left sidebar
|
|
27
|
+
eval "$FASTBROWSER_CLI" query_selectors -s 'list[name="Conversation List"] > listitem heading' -a
|
|
28
|
+
|
|
29
|
+
# Select the conversation with Eric Defiez
|
|
30
|
+
eval "$FASTBROWSER_CLI" click -s 'list[name="Conversation List"] > listitem heading[name^="Eric Defiez"]'
|
|
31
|
+
|
|
32
|
+
# Fill the message content
|
|
33
|
+
eval "$FASTBROWSER_CLI" fill_form -s 'textbox[name^="Write"]' -v "Hello"
|
|
34
|
+
|
|
35
|
+
# Click the "Send" button to send the message
|
|
36
|
+
eval "$FASTBROWSER_CLI" click -s 'button[name^="Send"]'
|