Install
openclaw skills install @lexmount/moli-cdp-serverStart Moli and connect CDP automation clients
openclaw skills install @lexmount/moli-cdp-serverRun one Moli CDP server and connect the requested CDP client to its endpoint. Preserve the client's existing API where Moli supports it.
Resolve moli from PATH. If it is unavailable, install the latest prebuilt
release for the current platform:
Linux or macOS:
curl --proto '=https' --tlsv1.2 -fsSL \
https://github.com/lexmount/moli/releases/latest/download/moli-installer.sh | sh
On Windows, use PowerShell:
irm https://github.com/lexmount/moli/releases/latest/download/moli-installer.ps1 | iex
Resolve the installed binary again and run moli --version. The default
location is ~/.local/bin/moli on Linux/macOS and
%LOCALAPPDATA%\Moli\bin\moli.exe on Windows when it is not yet on PATH.
Start moli serve on the default loopback endpoint
http://127.0.0.1:9222.
Add --layout when the workflow needs real element geometry, coordinate
input, screenshots, PDFs, or screencasts. Add --resource only when all
optional visual/media resources are required.
Probe /json/version before connecting the client.
Connect with the client's remote/attach API; do not launch a second bundled browser.
Close CDP clients cleanly, then stop the Moli server if this workflow owns it.
import { chromium } from "playwright";
const browser = await chromium.connectOverCDP("http://127.0.0.1:9222");
const context = browser.contexts()[0];
const page = context.pages()[0] ?? await context.newPage();
await page.goto("https://example.com");
console.log(await page.locator("body").innerText());
await browser.close();
127.0.0.1 by default. Expose another host only when the user
explicitly needs remote access and has addressed network access controls.--profile-dir; otherwise keep runs
disposable.Read references/protocols.md for CDP discovery URLs, server options, client selection, and connection troubleshooting.