@alfe.ai/openclaw-remote
v0.0.18
Published
OpenClaw plugin for Alfe's interactive remote-control relay — browser co-browse + web terminal surfaces over one outbound WS
Readme
@alfe.ai/openclaw-remote
OpenClaw plugin for Alfe's interactive remote-control relay. One outbound WebSocket carries browser co-browse and web-terminal sessions; the package also registers bounded browser automation and human-takeover tools.
OpenClaw loads the default-only ./plugin entry. The package root exposes named
runtime factories and types for tests and other library consumers.
Configuration
The plugin reads its optional entry from
plugins.entries["@alfe.ai/openclaw-remote"].config:
| Key | Default | Boundary |
| --- | --- | --- |
| remoteWsUrl | Derived from the agent API URL | Credential-free wss:; ws: only on loopback |
| browserExecutablePath | /usr/bin/google-chrome-stable | Absolute path, at most 4096 characters |
| browserHeadless | true | Boolean |
| browserNoSandbox | true | Boolean |
| handoffTimeoutMs | 600000 | Integer from 1000 through 1800000 |
The shared browser.ssrfPolicy.dangerouslyAllowPrivateNetwork escape hatch is
off by default. With the default policy, BrowserSession request interception
blocks credential-bearing URLs and private, loopback, link-local, multicast,
benchmark, documentation, and reserved literal addresses. DNS rebinding still
requires a resolving policy upstream.
Tools
browser_navigatebrowser_clickbrowser_typebrowser_wait_forbrowser_screenshotbrowser_evaluaterequest_browser_takeover
Validation failures deliberately safe for the model are returned as structured tool errors. Unexpected browser, relay, and API diagnostics are redacted. Screenshots use OpenClaw image content and keep base64 out of JSON details.
Development
pnpm --filter @alfe.ai/openclaw-remote lint
pnpm --filter @alfe.ai/openclaw-remote typecheck
pnpm --filter @alfe.ai/openclaw-remote test
pnpm --filter @alfe.ai/openclaw-remote buildSee DEVELOPING.md for lifecycle and security invariants.
