smooth-operator-mcp 2.4.9 → 2.4.11
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/.env.example +1 -1
- package/README.md +10 -3
- package/dist/smooth-operator.mjs +3003 -1226
- package/dist/smooth-operator.mjs.map +3 -3
- package/docs/harnesses.md +2 -2
- package/docs/mcp-server.md +7 -5
- package/package.json +1 -1
package/docs/harnesses.md
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
# Harness installation
|
|
2
2
|
|
|
3
|
-
## Interactive wizard (
|
|
3
|
+
## Interactive wizard (directly to your harness)
|
|
4
4
|
|
|
5
|
-
`smooth-operator install <harness>` is interactive by default — it asks 7 curated questions (browser mode, browser executable, headless, allowed domains, blocked domains, page JavaScript, and data directory) with recommended defaults in brackets. Omitting `<harness>` is allowed too: on a TTY the installer prompts for the target first (default `opencode`), while piped or CI environments print usage and exit instead. Use `smooth-operator install opencode --yes` to skip prompts and use recommended defaults. The wizard
|
|
5
|
+
`smooth-operator install <harness>` is interactive by default — it asks 7 curated questions (browser mode, browser executable, headless, allowed domains, blocked domains, page JavaScript, and data directory) with recommended defaults in brackets. Omitting `<harness>` is allowed too: on a TTY the installer prompts for the target first (default `opencode`), while piped or CI environments print usage and exit instead. Use `smooth-operator install opencode --yes` to skip prompts and use recommended defaults. The wizard normalizes and validates its choices before saving them to `~/.smooth-operator/config.json` (0600, bounded, owner-only, and symlink-safe). Mode, executable path, headless, domains, and allowEval are authoritative on every run while unrelated settings are preserved, and the harness is then registered. Personal-Chrome mode derives `browserUrl` after launching the helper on port 9222; it is not a separate prompt.
|
|
6
6
|
|
|
7
7
|
### Personal Chrome (connect) helper
|
|
8
8
|
|
package/docs/mcp-server.md
CHANGED
|
@@ -145,15 +145,15 @@ are answered only after the same Host and Origin checks.
|
|
|
145
145
|
|
|
146
146
|
## Browser lifecycle
|
|
147
147
|
|
|
148
|
-
The server manages one headed, persistent private
|
|
149
|
-
default. On the first browser tool call it discovers an installed
|
|
148
|
+
The server manages one headed, persistent private Chromium-based browser session
|
|
149
|
+
by default. On the first browser tool call it discovers an installed browser,
|
|
150
150
|
launches it with `${SMOOTH_OPERATOR_DATA_DIR}/browser` as a non-default profile,
|
|
151
151
|
and records its loopback DevTools endpoint for later reattachment. Sign in once
|
|
152
152
|
in the visible window; its sessions persist in that private profile. The
|
|
153
153
|
`browser_doctor` tool reports executable resolution and endpoint state without
|
|
154
154
|
evaluating page content.
|
|
155
155
|
|
|
156
|
-
|
|
156
|
+
The managed browser is headed by default for sign-in and human handoff. On CI or a
|
|
157
157
|
displayless host, explicitly set `SMOOTH_OPERATOR_BROWSER_HEADLESS=true` or use
|
|
158
158
|
Xvfb. The server never adds fingerprint spoofing, CAPTCHA solving, proxy
|
|
159
159
|
rotation, or other evasion behavior.
|
|
@@ -283,7 +283,7 @@ variables include:
|
|
|
283
283
|
| `SMOOTH_OPERATOR_BROWSER_MODE` | `managed` | `managed`, `disabled`, `connect`, or `launch` |
|
|
284
284
|
| `SMOOTH_OPERATOR_BROWSER_URL` | `http://127.0.0.1:9222` | DevTools HTTP endpoint |
|
|
285
285
|
| `SMOOTH_OPERATOR_BROWSER_EXECUTABLE` | unset | Managed-mode override; required for explicit launch mode |
|
|
286
|
-
| `SMOOTH_OPERATOR_BROWSER_USER_DATA_DIR` | `${SMOOTH_OPERATOR_DATA_DIR}/browser` | Dedicated persistent
|
|
286
|
+
| `SMOOTH_OPERATOR_BROWSER_USER_DATA_DIR` | `${SMOOTH_OPERATOR_DATA_DIR}/browser` | Dedicated persistent browser profile |
|
|
287
287
|
| `SMOOTH_OPERATOR_BROWSER_HEADLESS` | `false` | Set `true` for CI/displayless managed or launch use |
|
|
288
288
|
| `SMOOTH_OPERATOR_ALLOWED_DOMAINS` | unset | Comma-separated allowlist |
|
|
289
289
|
| `SMOOTH_OPERATOR_BLOCKED_DOMAINS` | unset | Comma-separated denylist |
|
|
@@ -398,7 +398,9 @@ schema) is one aggregate budget across the returned title and snippet text,
|
|
|
398
398
|
not a per-result multiplier. URL fields and fixed untrusted-data wrapper
|
|
399
399
|
markers are outside that text budget. The response body is bounded before
|
|
400
400
|
parsing, redirects are rejected, cancellation and timeout are propagated, and
|
|
401
|
-
credentials/query secret placeholders are removed from result URLs.
|
|
401
|
+
credentials/query secret placeholders are removed from result URLs. Transient
|
|
402
|
+
provider failures use at most three bounded attempts; anti-bot responses are
|
|
403
|
+
reported without attempting a bypass.
|
|
402
404
|
|
|
403
405
|
### Resources
|
|
404
406
|
|