smooth-operator-mcp 3.1.0 → 3.2.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 +22 -31
- package/dist/smooth-operator.mjs +471 -281
- package/dist/smooth-operator.mjs.map +2 -2
- package/docs/STEALTH-GUIDE.md +2 -0
- package/docs/harnesses.md +8 -4
- package/docs/mcp-server.md +44 -18
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -27,9 +27,19 @@ Or straight from GitHub:
|
|
|
27
27
|
npm install -g github:Gitshop77/Smooth-Operator && smooth-operator install opencode
|
|
28
28
|
~~~
|
|
29
29
|
|
|
30
|
-
The wizard asks exactly
|
|
31
|
-
|
|
32
|
-
|
|
30
|
+
The wizard asks exactly three focused questions: browser profile ownership,
|
|
31
|
+
browser display, and the Chromium executable. Run `smooth-operator install`
|
|
32
|
+
without a harness to choose one interactively (TTY only; piped and CI runs
|
|
33
|
+
print usage and exit). `--yes` applies the recommended defaults, so give it a
|
|
34
|
+
target: `smooth-operator install opencode --yes`. Personal Chrome mode launches
|
|
35
|
+
a dedicated debugging profile on port `9222` and derives `browserUrl`
|
|
36
|
+
automatically. Managed mode owns one private persistent profile; connected mode
|
|
37
|
+
launches and attaches to a dedicated debugging profile and does not claim
|
|
38
|
+
ownership of an operator's daily browser.
|
|
39
|
+
|
|
40
|
+
SmoothOperator requires Node.js 22.23.2 or newer and an installed
|
|
41
|
+
Chromium-based browser. The default managed profile is
|
|
42
|
+
`~/.smooth-operator/browser`; sign in once and reuse that private profile.
|
|
33
43
|
|
|
34
44
|
Verify: `smooth-operator --help` and `server_health` / `browser_doctor` appear after restart. `server_health` reports `ok` when the runtime is ready, `degraded` when browser recovery is required or its managed profile lease is not held, and `shutting_down` during teardown; an idle lazy browser is healthy.
|
|
35
45
|
|
|
@@ -56,7 +66,15 @@ Ask: *“Scrape pricing into a table”*, *“Fill this form with ~/resume.pdf
|
|
|
56
66
|
|
|
57
67
|
## How to use
|
|
58
68
|
|
|
59
|
-
Talk to your harness normally.
|
|
69
|
+
Talk to your harness normally. The preferred loop is `browser_navigate`/`browser_snapshot` → one mutation → verify. Element actions accept exactly one current `target`, `ref` (`e5`/`ref:e5`), CSS `selector`, or zero-based `index`; refresh these after navigation or DOM changes. Set `includeSnapshot: true` on a mutation to combine the mutation and its trailing verification snapshot. `browser_batch` is useful for short independent sequences; its `timeoutMs` is a whole-batch deadline (120 seconds by default, 600 seconds maximum).
|
|
70
|
+
|
|
71
|
+
Prefer canonical tools such as `browser_tabs`, `browser_snapshot`, `browser_input`, `browser_back`, `browser_close`, and `browser_extract`. Browser-use compatibility aliases remain available and are labeled as aliases in `tools/list`. Deterministic stale-reference, frame, dialog, element, and browser-recovery errors include a compact recovery tool suggestion.
|
|
72
|
+
|
|
73
|
+
For a challenge, `browser_solve_challenge` returns fresh bounded visual and
|
|
74
|
+
state evidence with an attempt budget. The connected AI uses ordinary browser
|
|
75
|
+
actions and calls it again until a fresh classification reports the challenge
|
|
76
|
+
absent or the automation budget is exhausted. Human handoff remains available
|
|
77
|
+
only as an explicit final option.
|
|
60
78
|
|
|
61
79
|
Browser identity remains native, page JavaScript is available by default, and
|
|
62
80
|
behavioral timing is off for fast deterministic input. Set the explicit
|
|
@@ -86,30 +104,3 @@ evaluation remains an explicit page capability.
|
|
|
86
104
|
For HTTP deployments, the configured MCP path also has a bounded readiness
|
|
87
105
|
endpoint at `<path>/healthz` (normally `/mcp/healthz`), subject to the same
|
|
88
106
|
HTTP authentication policy as the MCP endpoint.
|
|
89
|
-
|
|
90
|
-
## Benchmarks
|
|
91
|
-
|
|
92
|
-
Compared with [Browser Use MCP](https://github.com/browser-use/browser-use) · [](https://github.com/browser-use/browser-use)
|
|
93
|
-
|
|
94
|
-
Tested: 26 August 2026
|
|
95
|
-
|
|
96
|
-
| Benchmark | Metric | SmoothOperator | Browser Use MCP |
|
|
97
|
-
| --- | --- | ---: | ---: |
|
|
98
|
-
| Live Web (8 sites, 32 episodes) | URL success | **32/32** | 23/32 |
|
|
99
|
-
| Live Web | Page-text quality | **26/32** | 21/32 |
|
|
100
|
-
| Live Web | Combined success | **26/32** | 18/32 |
|
|
101
|
-
| Live Web | Task latency mean / p95 | **1,358 / 2,957 ms** | 4,604 / 30,780 ms |
|
|
102
|
-
| Live Web | Navigation p95 | **2,130 ms** | 4,320 ms |
|
|
103
|
-
| Live Web | Click p95 | 920 ms | **142 ms** |
|
|
104
|
-
| Live Web | MCP call p95 | **943 ms** | 2,095 ms |
|
|
105
|
-
| Live Web | Trace errors | **0** | 10 |
|
|
106
|
-
| MiniWoB++ 0.14.3 (125 tasks) | Reward = 1 | **124/125** | 89/125 |
|
|
107
|
-
| MiniWoB++ | Attempts | **125** | 125 |
|
|
108
|
-
| MiniWoB++ | MCP errors | **0** | 29 |
|
|
109
|
-
| MiniWoB++ | Transport errors | **0** | **0** |
|
|
110
|
-
| MiniWoB++ | Timeouts | **0** | **0** |
|
|
111
|
-
| Browser Use benchmark | Muse Spark 1.2 · score | **64% · 100 tasks** | 12% · 60 tasks |
|
|
112
|
-
|
|
113
|
-
*Task counts and scoring rules differ; comparison is directional.*
|
|
114
|
-
|
|
115
|
-
[View the Browser Use benchmark](https://github.com/browser-use/benchmark)
|