@ozaiya/openclaw-channel 0.10.32 → 0.10.34

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.
@@ -0,0 +1,70 @@
1
+ export declare const DEFAULT_BROWSER_IMAGE: string;
2
+ export declare const DEFAULT_DESKTOP_IMAGE: string;
3
+ export type AddonResourceClass = "browser-container" | "desktop-container";
4
+ export type ScreenMode = "cdp" | "vnc";
5
+ /** Stable error codes (the errorContract) — the app maps these to i18n strings + Retry. */
6
+ export type ProvisionErrorCode = "docker_missing" | "image_pull_failed" | "container_unhealthy" | "provision_failed";
7
+ export interface AddonProvisionParams {
8
+ botId: string;
9
+ addonKey: string;
10
+ resourceClass: AddonResourceClass;
11
+ screenMode?: ScreenMode;
12
+ /** Server-owned image pin (ADDON_CONTAINER_IMAGE[resourceClass]); falls back to a constant. */
13
+ image?: string;
14
+ /** Non-secret per-addon config (channels.ozaiya.addons[key]); carried for completeness. */
15
+ config?: Record<string, unknown>;
16
+ }
17
+ export interface AddonProvisionResult {
18
+ status: "ready" | "failed";
19
+ novncPort?: number;
20
+ cdpPort?: number;
21
+ error?: ProvisionErrorCode;
22
+ }
23
+ export type ProvisionStepKey = "reserve" | "allocate" | "install" | "warm";
24
+ export type ProvisionStepStatus = "pending" | "in_progress" | "completed" | "failed";
25
+ export interface ProvisionStepState {
26
+ key: ProvisionStepKey;
27
+ status: ProvisionStepStatus;
28
+ }
29
+ export interface ProvisionDetail {
30
+ step: ProvisionStepKey | null;
31
+ steps: ProvisionStepState[];
32
+ etaSeconds?: number;
33
+ }
34
+ /** Fire-and-forget progress sink (the gateway wires this to sock.emit('gateway-provision-progress', …)). */
35
+ export type ProvisionProgress = (update: {
36
+ botId: string;
37
+ addonKey: string;
38
+ status: "queued" | "preparing" | "ready" | "failed";
39
+ detail: ProvisionDetail | null;
40
+ error?: string | null;
41
+ }) => void;
42
+ export interface ProvisionLog {
43
+ info: (msg: string) => void;
44
+ warn: (msg: string) => void;
45
+ }
46
+ /** Per-bot container name — the idempotency + deprovision key. */
47
+ export declare function containerName(botId: string): string;
48
+ /**
49
+ * Provision (or reconverge) a self-hosted container addon's sandbox on the gateway host. Walks the 4
50
+ * canonical steps, emitting progress, and returns the terminal result for the RPC ack. Never throws —
51
+ * all failures are mapped to a ProvisionErrorCode and reported as status:'failed'.
52
+ */
53
+ export declare function provisionAddon(params: AddonProvisionParams, ctx: {
54
+ stateDir: string;
55
+ progress: ProvisionProgress;
56
+ log?: ProvisionLog;
57
+ }): Promise<AddonProvisionResult>;
58
+ /**
59
+ * Tear down a self-hosted addon's container (disable / retry-cleanup). Removes by the per-bot label so a
60
+ * renamed/recreated container is still caught. Idempotent: a missing container is a no-op success. The
61
+ * host profile dir is intentionally LEFT so a later re-enable keeps the login.
62
+ */
63
+ export declare function deprovisionAddon(params: {
64
+ botId: string;
65
+ addonKey?: string;
66
+ }, ctx: {
67
+ log?: ProvisionLog;
68
+ }): Promise<{
69
+ ok: true;
70
+ }>;
@@ -0,0 +1,280 @@
1
+ /**
2
+ * Self-hosted addon provisioner — the LOCAL mirror of clider-cloud's container provisioning, run on
3
+ * the USER's own machine by the gateway. When a self-hosted bot enables a container addon
4
+ * (browser-container goofish/web_browse; desktop-container wechat is deferred to a follow-up), the
5
+ * server issues an `addon-provision` RPC; this module stands up the sandbox container on the gateway
6
+ * host and reports progress back over the gateway's authenticated socket (gateway-provision-progress),
7
+ * mirroring the EXACT status protocol the server's FSM uses (the 4 canonical steps
8
+ * reserve → allocate → install → warm).
9
+ *
10
+ * It codifies the PROVEN goofish-seller container shape (Xvfb :1 + x11vnc + websockify 6080 + chromium
11
+ * CDP 9222 + persistent profile bind-mount), pulling the image from GHCR. It labels/names/ports the
12
+ * container exactly the way gateway.ts's existing discovery (label=openclaw.sandboxBrowser=1, mapped
13
+ * 6080/9222) already greps for, and re-tags the GHCR image to the bare local name so the ancestor
14
+ * filters match with no discovery change.
15
+ *
16
+ * Idempotent: re-provision reconverges on the per-bot name (running → reuse, exited → start, absent →
17
+ * run). Deprovision removes the container by label but LEAVES the host profile dir so a later re-enable
18
+ * keeps the login.
19
+ */
20
+ import fs from "node:fs";
21
+ import path from "node:path";
22
+ import net from "node:net";
23
+ import { randomBytes } from "node:crypto";
24
+ import * as desktop from "./desktopContainer.js";
25
+ // ── Image resolution ─────────────────────────────────────────────────────────
26
+ //
27
+ // The server owns the image pin (addonCatalog.ADDON_CONTAINER_IMAGE), passed in the RPC params. The
28
+ // gateway only falls back to these constants/env when an older server omits params.image. The bare
29
+ // local tag is what the existing discovery filters (gateway.ts ancestor=...) grep for, so after pulling
30
+ // the GHCR image we `docker tag` it to this name and the discovery needs NO change.
31
+ export const DEFAULT_BROWSER_IMAGE = process.env.OPENCLAW_SANDBOX_BROWSER_IMAGE || "ghcr.io/tangojet/openclaw-sandbox-browser:bookworm-slim";
32
+ export const DEFAULT_DESKTOP_IMAGE = process.env.OPENCLAW_SANDBOX_DESKTOP_IMAGE || "ghcr.io/tangojet/openclaw-sandbox-desktop:bookworm-slim";
33
+ /** Bare local tag the existing ancestor-discovery filters already match (gateway.ts). */
34
+ const BARE_BROWSER_IMAGE = "openclaw-sandbox-browser:bookworm-slim";
35
+ const BARE_DESKTOP_IMAGE = "openclaw-sandbox-desktop:bookworm-slim";
36
+ const PROVISION_STEPS = ["reserve", "allocate", "install", "warm"];
37
+ // ── Step helpers (mirror the server's buildStepStates) ───────────────────────
38
+ function buildSteps(doneCount, current) {
39
+ return PROVISION_STEPS.map((key, i) => ({
40
+ key,
41
+ status: i < doneCount ? "completed" : key === current ? "in_progress" : "pending",
42
+ }));
43
+ }
44
+ function detailFor(current, doneCount) {
45
+ return {
46
+ step: current,
47
+ steps: buildSteps(doneCount, current),
48
+ etaSeconds: current ? (PROVISION_STEPS.length - doneCount) * 8 : 0,
49
+ };
50
+ }
51
+ // ── Constants ────────────────────────────────────────────────────────────────
52
+ const HEALTH_TIMEOUT_MS = 60_000;
53
+ const HEALTH_POLL_MS = 1500;
54
+ const CDP_PORT = 9222; // reconciled to 9222 (matches gateway.ts discovery + the in-repo entrypoint)
55
+ const NOVNC_PORT = 6080;
56
+ const RESOLUTION = "1280x800x24";
57
+ /** Per-bot container name — the idempotency + deprovision key. */
58
+ export function containerName(botId) {
59
+ return `openclaw-sandbox-${botId}`;
60
+ }
61
+ /** Per-bot persistent profile dir (login survives restart). Bind-mounted to /tmp/openclaw-home. */
62
+ function profileDir(stateDir, botId) {
63
+ return path.join(stateDir, "sandbox-profiles", botId);
64
+ }
65
+ function resolveImage(params) {
66
+ if (params.resourceClass === "desktop-container") {
67
+ return { pull: params.image || DEFAULT_DESKTOP_IMAGE, bare: BARE_DESKTOP_IMAGE };
68
+ }
69
+ return { pull: params.image || DEFAULT_BROWSER_IMAGE, bare: BARE_BROWSER_IMAGE };
70
+ }
71
+ // ── Docker presence + low-level helpers (REUSE desktopContainer's binary detection) ──
72
+ function ensureDocker() {
73
+ // dockerBin() throws "Docker not found …" when neither docker nor Docker Desktop is present.
74
+ desktop.dockerBin();
75
+ // Verify the daemon is actually up (binary present but daemon down = same user-facing failure).
76
+ desktop.docker("info --format '{{.ServerVersion}}'", 8000);
77
+ }
78
+ /** Existing container for this bot, or null if none. Idempotency probe. */
79
+ function findExistingContainer(botId) {
80
+ try {
81
+ const out = desktop.docker(`ps -a --filter 'label=openclaw.botId=${botId}' --format '{{.ID}}\\t{{.Status}}'`, 8000);
82
+ const line = out.split("\n").filter(Boolean)[0];
83
+ if (!line)
84
+ return null;
85
+ const [id, status] = line.split("\t");
86
+ return { id: id.slice(0, 12), running: /^Up/i.test(status || "") };
87
+ }
88
+ catch {
89
+ return null;
90
+ }
91
+ }
92
+ /** TCP-probe a host port (the websockify / CDP health check). */
93
+ function probeTcp(port, timeoutMs = 1200) {
94
+ return new Promise((resolve) => {
95
+ const sock = net.connect({ host: "127.0.0.1", port });
96
+ let done = false;
97
+ const finish = (ok) => {
98
+ if (done)
99
+ return;
100
+ done = true;
101
+ try {
102
+ sock.destroy();
103
+ }
104
+ catch { /* ignore */ }
105
+ resolve(ok);
106
+ };
107
+ sock.setTimeout(timeoutMs);
108
+ sock.once("connect", () => finish(true));
109
+ sock.once("timeout", () => finish(false));
110
+ sock.once("error", () => finish(false));
111
+ });
112
+ }
113
+ const sleep = (ms) => new Promise((r) => setTimeout(r, ms));
114
+ // ── Browser container runner (the codified goofish-seller template) ──────────
115
+ /**
116
+ * Idempotently bring up the per-bot browser sandbox container. Returns the container id. The caller
117
+ * resolves the mapped host ports afterwards via desktop.findContainerPort.
118
+ */
119
+ function runBrowserContainer(opts) {
120
+ const name = containerName(opts.botId);
121
+ const args = [
122
+ "run -d",
123
+ `--name ${name}`,
124
+ "--label openclaw.sandboxBrowser=1", // discovery filter #1 (gateway.ts)
125
+ `--label openclaw.botId=${opts.botId}`, // per-bot discovery for deprovision/idempotency
126
+ `--label openclaw.addonKey=${opts.addonKey}`,
127
+ `-p 0:${NOVNC_PORT}`, // websockify noVNC → ephemeral host port (discovered via docker port)
128
+ `-p 127.0.0.1:0:${CDP_PORT}`, // CDP — localhost-only, ephemeral host port
129
+ `-e OPENCLAW_BROWSER_NOVNC_PASSWORD=${opts.novncPassword}`,
130
+ "-e OPENCLAW_BROWSER_NO_SANDBOX=1",
131
+ "-e ENABLE_NOVNC=1", // entrypoint boot gate
132
+ `-e OPENCLAW_BROWSER_CDP_PORT=${CDP_PORT}`, // in-container code agrees on 9222
133
+ `-e RESOLUTION=${RESOLUTION}`,
134
+ `-v ${opts.profilePath}:/tmp/openclaw-home`, // persistent login (host dir → container home)
135
+ "--restart unless-stopped",
136
+ "--shm-size=1g", // chromium needs it
137
+ opts.bareImage,
138
+ ].join(" ");
139
+ const id = desktop.docker(args, 60_000);
140
+ return id.slice(0, 12);
141
+ }
142
+ // ── Public actions ───────────────────────────────────────────────────────────
143
+ /**
144
+ * Provision (or reconverge) a self-hosted container addon's sandbox on the gateway host. Walks the 4
145
+ * canonical steps, emitting progress, and returns the terminal result for the RPC ack. Never throws —
146
+ * all failures are mapped to a ProvisionErrorCode and reported as status:'failed'.
147
+ */
148
+ export async function provisionAddon(params, ctx) {
149
+ const { botId, addonKey, resourceClass } = params;
150
+ const { stateDir, progress, log } = ctx;
151
+ const emit = (status, detail, error) => progress({ botId, addonKey, status, detail, error: error ?? null });
152
+ const fail = (code) => {
153
+ emit("failed", { step: null, steps: buildSteps(0, null), etaSeconds: 0 }, code);
154
+ return { status: "failed", error: code };
155
+ };
156
+ // ── reserve ── docker present + daemon up; resolve image + profile dir.
157
+ emit("preparing", detailFor("reserve", 0));
158
+ try {
159
+ ensureDocker();
160
+ }
161
+ catch {
162
+ log?.warn(`[gateway] addon-provision: docker missing botId=${botId}`);
163
+ return fail("docker_missing");
164
+ }
165
+ const { pull, bare } = resolveImage(params);
166
+ const profilePath = profileDir(stateDir, botId);
167
+ try {
168
+ fs.mkdirSync(profilePath, { recursive: true });
169
+ }
170
+ catch { /* best-effort; bind-mount creates it too */ }
171
+ // ── allocate ── pull the GHCR image (cache hit is fast) then retag to the bare local name so the
172
+ // existing ancestor-discovery filters keep matching with no gateway-discovery change.
173
+ emit("preparing", detailFor("allocate", 1));
174
+ try {
175
+ desktop.docker(`pull ${pull}`, 180_000); // cold GHCR pull can be slow → matches raised RPC timeout
176
+ if (pull !== bare) {
177
+ try {
178
+ desktop.docker(`tag ${pull} ${bare}`, 15_000);
179
+ }
180
+ catch { /* tag is best-effort */ }
181
+ }
182
+ }
183
+ catch {
184
+ log?.warn(`[gateway] addon-provision: image pull failed image=${pull} botId=${botId}`);
185
+ return fail("image_pull_failed");
186
+ }
187
+ // ── install ── idempotent docker run (running → reuse, exited → start, absent → run).
188
+ emit("preparing", detailFor("install", 2));
189
+ let containerId = "";
190
+ try {
191
+ const existing = findExistingContainer(botId);
192
+ if (existing && existing.running) {
193
+ containerId = existing.id;
194
+ log?.info(`[gateway] addon-provision: reusing running container botId=${botId} id=${containerId}`);
195
+ }
196
+ else if (existing && !existing.running) {
197
+ desktop.docker(`start ${existing.id}`, 30_000);
198
+ containerId = existing.id;
199
+ log?.info(`[gateway] addon-provision: started existing container botId=${botId} id=${containerId}`);
200
+ }
201
+ else if (resourceClass === "desktop-container") {
202
+ // Reuse the extended desktop runner (wechat); it stamps the openclaw.botId label + profile mount.
203
+ const created = desktop.createContainer({
204
+ name: botId,
205
+ image: bare,
206
+ botId,
207
+ profileMount: `${profilePath}:/tmp/openclaw-home`,
208
+ resolution: RESOLUTION,
209
+ });
210
+ containerId = created.id;
211
+ log?.info(`[gateway] addon-provision: created desktop container botId=${botId} id=${containerId}`);
212
+ }
213
+ else {
214
+ const novncPassword = randomBytes(16).toString("hex");
215
+ containerId = runBrowserContainer({ botId, addonKey, bareImage: bare, profilePath, novncPassword });
216
+ log?.info(`[gateway] addon-provision: created browser container botId=${botId} id=${containerId}`);
217
+ }
218
+ }
219
+ catch (err) {
220
+ log?.warn(`[gateway] addon-provision: docker run failed botId=${botId}: ${String(err)}`);
221
+ return fail("provision_failed");
222
+ }
223
+ // ── warm ── wait for websockify 6080 + CDP 9222 to answer on their mapped host ports.
224
+ emit("preparing", detailFor("warm", 3));
225
+ const deadline = Date.now() + HEALTH_TIMEOUT_MS;
226
+ let novncPort = null;
227
+ let cdpPort = null;
228
+ while (Date.now() < deadline) {
229
+ novncPort = novncPort ?? desktop.findContainerPort(containerId, NOVNC_PORT);
230
+ cdpPort = cdpPort ?? desktop.findContainerPort(containerId, CDP_PORT);
231
+ if (novncPort && cdpPort) {
232
+ const [novncUp, cdpUp] = await Promise.all([probeTcp(novncPort), probeTcp(cdpPort)]);
233
+ if (novncUp && cdpUp) {
234
+ log?.info(`[gateway] addon-provision: healthy botId=${botId} novnc=${novncPort} cdp=${cdpPort}`);
235
+ emit("ready", { step: null, steps: buildSteps(PROVISION_STEPS.length, null), etaSeconds: 0 });
236
+ return { status: "ready", novncPort, cdpPort };
237
+ }
238
+ }
239
+ await sleep(HEALTH_POLL_MS);
240
+ }
241
+ // Health timed out — LEAVE the container for log inspection (deprovision/retry removes it).
242
+ log?.warn(`[gateway] addon-provision: container unhealthy botId=${botId} (novnc=${novncPort} cdp=${cdpPort})`);
243
+ return fail("container_unhealthy");
244
+ }
245
+ /**
246
+ * Tear down a self-hosted addon's container (disable / retry-cleanup). Removes by the per-bot label so a
247
+ * renamed/recreated container is still caught. Idempotent: a missing container is a no-op success. The
248
+ * host profile dir is intentionally LEFT so a later re-enable keeps the login.
249
+ */
250
+ export async function deprovisionAddon(params, ctx) {
251
+ try {
252
+ desktop.dockerBin();
253
+ }
254
+ catch {
255
+ return { ok: true }; // no docker → nothing to remove
256
+ }
257
+ try {
258
+ const filter = params.addonKey
259
+ ? `--filter 'label=openclaw.botId=${params.botId}' --filter 'label=openclaw.addonKey=${params.addonKey}'`
260
+ : `--filter 'label=openclaw.botId=${params.botId}'`;
261
+ const ids = desktop
262
+ .docker(`ps -aq ${filter}`, 8000)
263
+ .split("\n")
264
+ .map((s) => s.trim())
265
+ .filter(Boolean);
266
+ for (const id of ids) {
267
+ try {
268
+ desktop.docker(`rm -f ${id}`, 20_000);
269
+ }
270
+ catch { /* best-effort */ }
271
+ }
272
+ if (ids.length)
273
+ ctx.log?.info(`[gateway] addon-deprovision: removed ${ids.length} container(s) botId=${params.botId}`);
274
+ }
275
+ catch (err) {
276
+ ctx.log?.warn(`[gateway] addon-deprovision: error botId=${params.botId}: ${String(err)}`);
277
+ }
278
+ return { ok: true };
279
+ }
280
+ //# sourceMappingURL=addonProvisioner.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"addonProvisioner.js","sourceRoot":"","sources":["../../src/addonProvisioner.ts"],"names":[],"mappings":"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"}
@@ -30,6 +30,11 @@ export interface CreateContainerParams {
30
30
  appArgs?: string;
31
31
  resolution?: string;
32
32
  vncPassword?: string;
33
+ /** Per-bot id — stamps an `openclaw.botId` label so the addon provisioner finds/tears down this
34
+ * container the same way as the browser variant (deprovision + idempotency key). */
35
+ botId?: string;
36
+ /** Persistent profile bind-mount "hostDir:containerDir" — makes the in-sandbox login durable. */
37
+ profileMount?: string;
33
38
  }
34
39
  export interface ContainerInfo {
35
40
  id: string;
@@ -56,7 +56,7 @@ export function dockerExec(containerId, cmd, timeout = 30_000) {
56
56
  }
57
57
  // ── Container lifecycle ──────────────────────────────────────────────────────
58
58
  export function createContainer(params) {
59
- const { name, image = "ozaiya-desktop:latest", app, appArgs, resolution = "1280x800x24", vncPassword = Math.random().toString(36).slice(2, 10), } = params;
59
+ const { name, image = "ozaiya-desktop:latest", app, appArgs, resolution = "1280x800x24", vncPassword = Math.random().toString(36).slice(2, 10), botId, profileMount, } = params;
60
60
  const containerName = `ozaiya-desktop-${name}`;
61
61
  const envArgs = [
62
62
  `-e VNC_PASSWORD=${vncPassword}`,
@@ -66,11 +66,17 @@ export function createContainer(params) {
66
66
  envArgs.push(`-e TARGET_APP=${app}`);
67
67
  if (appArgs)
68
68
  envArgs.push(`-e TARGET_APP_ARGS='${appArgs}'`);
69
+ const labelArgs = ["--label ozaiya.desktop=1"];
70
+ if (botId)
71
+ labelArgs.push(`--label openclaw.botId=${botId}`);
72
+ const mountArgs = profileMount ? [`-v ${profileMount}`] : [];
69
73
  const containerId = docker([
70
74
  "run -d",
71
75
  `--name ${containerName}`,
72
- "--label ozaiya.desktop=1",
76
+ ...labelArgs,
73
77
  "-p 0:5900 -p 0:6080 -p 0:8080",
78
+ ...mountArgs,
79
+ "--restart unless-stopped",
74
80
  ...envArgs,
75
81
  image,
76
82
  ].join(" "));
@@ -1 +1 @@
1
- {"version":3,"file":"desktopContainer.js","sourceRoot":"","sources":["../../src/desktopContainer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"desktopContainer.js","sourceRoot":"","sources":["../../src/desktopContainer.ts"],"names":[],"mappings":"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"}
@@ -30,7 +30,9 @@ import { acquireCdpScreencast, releaseCdpScreencast } from "./sandboxScreenCdp.j
30
30
  import { createSandboxRtcSession } from "./sandboxScreenRtc.js";
31
31
  import { probeFfmpeg, createH264Transcoder } from "./sandboxScreenH264.js";
32
32
  import { unsealScreenKey, encryptScreenPayload, decryptScreenPayload, E2E_INPUT_MARKER } from "./sandboxScreenE2E.js";
33
+ import { readSandboxIdentity } from "./sandboxIdentity.js";
33
34
  import { WeChatMonitorSession, getMonitor, getAllMonitors } from "./wechatMonitor.js";
35
+ import { provisionAddon, deprovisionAddon } from "./addonProvisioner.js";
34
36
  let sodiumReady = false;
35
37
  async function ensureSodium() {
36
38
  if (!sodiumReady) {
@@ -425,12 +427,71 @@ export async function startGatewayMode(options) {
425
427
  try {
426
428
  if (payload.method === 'list-screens') {
427
429
  const screens = [];
430
+ // The browser sidecar (record-control.py on RECORD_CONTROL_PORT) lists the Chrome
431
+ // profile-dirs = switchable logged-in accounts (+ any auto-captured id/nick).
432
+ // Best-effort; absent/old sidecar → no list.
433
+ const fetchSandboxProfiles = async () => {
434
+ if (!(desktop.isInContainer && process.env.NOVNC_HOST))
435
+ return null;
436
+ try {
437
+ const base = `http://${process.env.NOVNC_HOST}:${process.env.RECORD_CONTROL_PORT || '8091'}`;
438
+ const res = await fetch(`${base}/list-profiles`, { signal: AbortSignal.timeout(2500) });
439
+ if (!res.ok)
440
+ return null;
441
+ const data = await res.json();
442
+ return Array.isArray(data.profiles) && data.profiles.length ? data.profiles : null;
443
+ }
444
+ catch {
445
+ return null;
446
+ }
447
+ };
448
+ // Browser profile metadata for the sandbox screen — lets the app show WHICH
449
+ // logged-in profile the bot's browser uses and where it lives on disk. In-container
450
+ // we know the CDP endpoint (NOVNC_HOST) + the image's user-data-dir; the host-side
451
+ // mount path isn't visible from inside the container (would need an injected env).
452
+ // Fall back to OPENCLAW_PROFILE (the agent profile name) so the label isn't blank
453
+ // when a deployment hasn't set a dedicated OPENCLAW_BROWSER_PROFILE.
454
+ const sandboxProfile = () => ({
455
+ name: process.env.OPENCLAW_BROWSER_PROFILE || process.env.OPENCLAW_PROFILE || null,
456
+ cdpUrl: process.env.NOVNC_HOST
457
+ ? `http://${process.env.NOVNC_HOST}:${Number(process.env.OPENCLAW_BROWSER_CDP_PORT || process.env.CDP_PORT || '9222')}`
458
+ : null,
459
+ userDataDir: process.env.OPENCLAW_BROWSER_USER_DATA_DIR || '/tmp/openclaw-home/.chrome',
460
+ });
428
461
  if (desktop.isInContainer) {
429
462
  // In-container: if NOVNC_HOST is set, a separate browser container is reachable.
430
463
  // id MUST be 'sandbox' so the server routes it via sandbox-screen-open (any other
431
464
  // id is treated as a desktop container and routed to desktop-screen-open).
432
465
  if (process.env.NOVNC_HOST) {
433
- screens.push({ id: 'sandbox', type: 'sandbox', name: 'Browser' });
466
+ const profile = sandboxProfile();
467
+ const profiles = await fetchSandboxProfiles();
468
+ if (profiles) {
469
+ const act = profiles.find(p => p.active);
470
+ if (act) {
471
+ profile.name = act.label; // reflect the active account's label
472
+ // Lazily auto-capture the active account's identity (id+nick) the first
473
+ // time it's unknown, then persist it to the sidecar so it shows for that
474
+ // account even when another is active. No manual step.
475
+ if (!act.id && !act.nick) {
476
+ const cdpPort = Number(process.env.OPENCLAW_BROWSER_CDP_PORT || process.env.CDP_PORT || '9222');
477
+ const ident = await readSandboxIdentity(process.env.NOVNC_HOST, cdpPort);
478
+ if (ident && (ident.id || ident.nick)) {
479
+ act.id = ident.id;
480
+ act.nick = ident.nick;
481
+ if (ident.nick) {
482
+ act.label = ident.nick;
483
+ profile.name = ident.nick;
484
+ }
485
+ const base = `http://${process.env.NOVNC_HOST}:${process.env.RECORD_CONTROL_PORT || '8091'}`;
486
+ fetch(`${base}/set-identity?dir=${encodeURIComponent(act.dir)}`, {
487
+ method: 'POST', headers: { 'Content-Type': 'application/json' },
488
+ body: JSON.stringify(ident), signal: AbortSignal.timeout(3000),
489
+ }).catch(() => { });
490
+ }
491
+ }
492
+ }
493
+ }
494
+ screens.push({ id: 'sandbox', type: 'sandbox', name: 'Browser', profile, ...(profiles ? { profiles } : {}) });
434
495
  }
435
496
  }
436
497
  else {
@@ -456,7 +517,7 @@ export async function startGatewayMode(options) {
456
517
  catch { /* ignore */ }
457
518
  }
458
519
  if (containerId) {
459
- screens.push({ id: 'sandbox', type: 'sandbox', name: 'Browser Sandbox' });
520
+ screens.push({ id: 'sandbox', type: 'sandbox', name: 'Browser Sandbox', profile: sandboxProfile() });
460
521
  }
461
522
  }
462
523
  catch { /* ignore */ }
@@ -473,6 +534,37 @@ export async function startGatewayMode(options) {
473
534
  const files = await fileBrowser.listDirectory(payload.params.path ?? '.');
474
535
  ack({ ok: true, result: files });
475
536
  }
537
+ else if (payload.method === 'switch-profile') {
538
+ // Switch the sandbox browser to a different Chrome profile-dir (= logged-in account).
539
+ // Relays to the browser sidecar, which kills + relaunches Chromium under
540
+ // --profile-directory (the socat CDP proxy keeps :9222 stable, so the viewer
541
+ // reconnects on re-open). No dir => the sidecar creates the next free profile
542
+ // ("add account"). Container-mode bots only (host-mode browsers aren't wired).
543
+ const { dir, label } = (payload.params || {});
544
+ if (!(desktop.isInContainer && process.env.NOVNC_HOST)) {
545
+ ack({ ok: false, error: 'profile switching not available for this bot' });
546
+ }
547
+ else {
548
+ try {
549
+ const base = `http://${process.env.NOVNC_HOST}:${process.env.RECORD_CONTROL_PORT || '8091'}`;
550
+ const qs = new URLSearchParams();
551
+ if (dir)
552
+ qs.set('dir', dir);
553
+ if (label)
554
+ qs.set('label', label);
555
+ const res = await fetch(`${base}/switch-profile?${qs.toString()}`, { method: 'POST', signal: AbortSignal.timeout(30_000) });
556
+ if (!res.ok) {
557
+ ack({ ok: false, error: `switch failed (${res.status})` });
558
+ }
559
+ else {
560
+ ack({ ok: true, result: await res.json() });
561
+ }
562
+ }
563
+ catch (e) {
564
+ ack({ ok: false, error: e?.message || 'switch failed' });
565
+ }
566
+ }
567
+ }
476
568
  else if (payload.method === 'sandbox-screen-open') {
477
569
  // Open the bot computer view — Manus-style CDP screencast of the sandbox
478
570
  // browser's Chromium (JPEG frames over the relay → the viewer's canvas).
@@ -481,13 +573,113 @@ export async function startGatewayMode(options) {
481
573
  // DataChannel (P2P, or TURN via coturn) and move frames + input onto it —
482
574
  // skipping the double-proxied relay, which is the dominant latency. The
483
575
  // relay stays connected as signaling pipe + automatic fallback.
484
- const { channelId, botId, supportsRtc, supportsE2E, iceServers } = payload.params;
576
+ const { channelId, botId, supportsRtc, supportsE2E, iceServers, requestVnc } = payload.params;
577
+ // Full-desktop noVNC tier (the bot's screenMode='vnc' → server &vnc=1 → requestVnc). Instead
578
+ // of the CDP screencast, raw-pipe the sandbox-browser's websockify (x11vnc on Xvfb :1)
579
+ // straight to the relay — exactly like desktop-screen-open. The viewer runs noVNC/RFB and
580
+ // gets the WHOLE Chromium window (chrome + page) and real X11 mouse/keyboard, which the
581
+ // CDP page-screenshot path cannot do (needed for human-like login / beating 闲鱼 anti-bot).
582
+ // Server stays a blind binary pipe; it disables frame-drop for this stateful stream.
583
+ if (requestVnc) {
584
+ const dockerEnvVnc = { ...process.env, PATH: `${process.env.PATH}:/usr/local/bin:/Applications/Docker.app/Contents/Resources/bin` };
585
+ let noVncHost = process.env.NOVNC_HOST || 'localhost';
586
+ let noVncPort = parseInt(process.env.OPENCLAW_BROWSER_NOVNC_PORT || '6080', 10);
587
+ if (!desktop.isInContainer) {
588
+ // Host-mode gateway: discover the sandbox-browser container + its mapped 6080.
589
+ let cid = '';
590
+ for (const sel of [
591
+ "--filter 'label=openclaw.sandboxBrowser=1'",
592
+ "--filter 'name=sandbox-browser'",
593
+ "--filter 'ancestor=openclaw-sandbox-browser:bookworm-slim'",
594
+ ]) {
595
+ try {
596
+ cid = execSync(`docker ps -q ${sel} 2>/dev/null | head -1`, { timeout: 5000, env: dockerEnvVnc }).toString().trim().split('\n')[0] || '';
597
+ }
598
+ catch {
599
+ cid = '';
600
+ }
601
+ if (cid)
602
+ break;
603
+ }
604
+ if (cid) {
605
+ const mapped = desktop.findContainerPort(cid, 6080);
606
+ if (mapped) {
607
+ noVncHost = 'localhost';
608
+ noVncPort = mapped;
609
+ }
610
+ }
611
+ }
612
+ log?.info(`[gateway] sandbox-screen-open channelId=${channelId} botId=${botId} (vnc ${noVncHost}:${noVncPort})`);
613
+ let vncDockerWs;
614
+ let vncRelayWs;
615
+ try {
616
+ const WsModule = await import("ws");
617
+ const WsCtor = WsModule.default ?? WsModule;
618
+ vncDockerWs = new WsCtor(`ws://${noVncHost}:${noVncPort}/websockify`);
619
+ vncDockerWs.binaryType = "arraybuffer";
620
+ vncRelayWs = new WsCtor(`${apiBaseUrl.replace(/^http/, 'ws')}/v1/ws-relay/${channelId}/ws?token=${encodeURIComponent(gatewayToken)}`);
621
+ }
622
+ catch (err) {
623
+ ack({ ok: false, error: `Failed to open VNC: ${String(err)}` });
624
+ return;
625
+ }
626
+ screenConnections.set(channelId, { dockerWs: vncDockerWs, relayWs: vncRelayWs });
627
+ const cleanupVnc = (reason) => {
628
+ const e = screenConnections.get(channelId);
629
+ if (!e)
630
+ return;
631
+ screenConnections.delete(channelId);
632
+ try {
633
+ if (e.dockerWs && e.dockerWs.readyState !== 3)
634
+ e.dockerWs.close();
635
+ }
636
+ catch { /* ignore */ }
637
+ try {
638
+ if (e.relayWs.readyState !== 3)
639
+ e.relayWs.close();
640
+ }
641
+ catch { /* ignore */ }
642
+ log?.info(`[gateway] sandbox-screen(vnc): closed channelId=${channelId} reason=${reason}`);
643
+ };
644
+ const earlyVncMsgs = [];
645
+ let vncRelayOpen = false;
646
+ vncDockerWs.on('open', () => log?.info(`[gateway] sandbox-screen(vnc): connected to websockify ${noVncHost}:${noVncPort}`));
647
+ vncRelayWs.on('open', () => {
648
+ vncRelayOpen = true;
649
+ for (const m of earlyVncMsgs) {
650
+ if (vncRelayWs.readyState === 1)
651
+ vncRelayWs.send(m);
652
+ }
653
+ earlyVncMsgs.length = 0;
654
+ });
655
+ vncDockerWs.on('message', (data) => {
656
+ const buf = Buffer.isBuffer(data) ? data : Buffer.from(data);
657
+ if (vncRelayOpen && vncRelayWs.readyState === 1)
658
+ vncRelayWs.send(buf);
659
+ else
660
+ earlyVncMsgs.push(buf);
661
+ });
662
+ vncRelayWs.on('message', (data) => {
663
+ if (vncDockerWs.readyState === 1)
664
+ vncDockerWs.send(Buffer.isBuffer(data) ? data : Buffer.from(data));
665
+ });
666
+ vncDockerWs.on('close', () => cleanupVnc('docker-ws-close'));
667
+ vncDockerWs.on('error', (err) => cleanupVnc(`docker-ws-error(${err.message})`));
668
+ vncRelayWs.on('close', () => cleanupVnc('relay-ws-close'));
669
+ vncRelayWs.on('error', (err) => cleanupVnc(`relay-ws-error(${err.message})`));
670
+ ack({ ok: true });
671
+ return;
672
+ }
485
673
  // App-layer E2E over the relay leg (the WebRTC tier is already DTLS-E2E).
486
674
  // The viewer seals a key to this bot's pubkey; we hold the private key.
487
675
  // `expectE2E` ⇒ withhold plaintext frames until that key lands (no
488
676
  // insecure downgrade); `e2eKey` is the unsealed AES key once it does.
489
677
  const expectE2E = !!supportsE2E && botPrivateKeysById.has(botId);
490
678
  let e2eKey = null;
679
+ // Viewer control-panel overrides (null ⇒ use the transport-tier default).
680
+ // quality = JPEG 1-100; minInterval = ms between captures (frame-rate cap).
681
+ let userQuality = null;
682
+ let userMinIntervalMs = null;
491
683
  log?.info(`[gateway] sandbox-screen-open channelId=${channelId} botId=${botId} (cdp${supportsRtc ? '+rtc' : ''}${expectE2E ? '+e2e' : ''})`);
492
684
  // Resolve the browser container's CDP host:port (the socat-proxied DevTools
493
685
  // endpoint). In-container: NOVNC_HOST + CDP port. On host: the mapped 9222.
@@ -606,6 +798,22 @@ export async function startGatewayMode(options) {
606
798
  // latency stat permanently empty on the bot view).
607
799
  else if (msg.type === 'ping' && typeof msg.ts === 'number')
608
800
  sendToViewer(JSON.stringify({ type: 'pong', ts: msg.ts }));
801
+ // Control-panel overrides for the CDP capture. quality = JPEG 1-100;
802
+ // frameRate = fps → min capture interval. They win over the tier
803
+ // default in getQuality/getMinIntervalMs below. (resolution stays a
804
+ // no-op — see cdp.resize: we capture the agent's native viewport.)
805
+ else if (msg.type === 'display-settings') {
806
+ if (msg.setting === 'quality') {
807
+ const q = Number(msg.value);
808
+ if (isFinite(q))
809
+ userQuality = Math.max(1, Math.min(100, Math.round(q)));
810
+ }
811
+ else if (msg.setting === 'frameRate') {
812
+ const f = Number(msg.value);
813
+ if (isFinite(f) && f > 0)
814
+ userMinIntervalMs = Math.round(1000 / Math.max(1, Math.min(30, f)));
815
+ }
816
+ }
609
817
  }
610
818
  catch { /* ignore */ }
611
819
  };
@@ -740,8 +948,8 @@ export async function startGatewayMode(options) {
740
948
  // slow viewer can't take (dropFramesOnBackpressure) and the screencast
741
949
  // self-throttles on the active transport's buffer, so these stay
742
950
  // ceilings. (Shared session: max quality / min interval across viewers.)
743
- getQuality: () => (transcoder && rtc?.isMediaReady() ? 80 : rtc?.isActive() ? 60 : 40),
744
- getMinIntervalMs: () => (transcoder && rtc?.isMediaReady() ? 40 : rtc?.isActive() ? 40 : 55),
951
+ getQuality: () => (userQuality ?? (transcoder && rtc?.isMediaReady() ? 80 : rtc?.isActive() ? 60 : 40)),
952
+ getMinIntervalMs: () => (userMinIntervalMs ?? (transcoder && rtc?.isMediaReady() ? 40 : rtc?.isActive() ? 40 : 55)),
745
953
  onFrame: (jpeg) => {
746
954
  // H.264 tier: the poll feeds the encoder; the WebRTC media track is
747
955
  // already DTLS-E2E, so no app-layer crypto there.
@@ -933,6 +1141,34 @@ export async function startGatewayMode(options) {
933
1141
  relayWs.on("close", () => cleanupFile('relay-ws-close'));
934
1142
  relayWs.on("error", (err) => cleanupFile(`relay-ws-error(${err.message})`));
935
1143
  ack({ ok: true });
1144
+ // ── Self-hosted addon provisioning (local mirror of clider-cloud) ───
1145
+ }
1146
+ else if (payload.method === 'addon-provision') {
1147
+ // Stand up the per-bot sandbox container for a self-hosted CONTAINER addon and report each
1148
+ // step back over THIS authenticated socket (gateway-provision-progress) — the server maps it
1149
+ // onto the same bot-provisioning FSM the app already renders. The ack carries the terminal
1150
+ // result + mapped ports.
1151
+ const provisionParams = payload.params;
1152
+ if (provisionParams.resourceClass !== 'browser-container' && provisionParams.resourceClass !== 'desktop-container') {
1153
+ ack({ ok: false, error: `addon-provision: unsupported resourceClass ${String(provisionParams.resourceClass)}` });
1154
+ return;
1155
+ }
1156
+ log?.info(`[gateway] addon-provision botId=${provisionParams.botId} addon=${provisionParams.addonKey} class=${provisionParams.resourceClass}`);
1157
+ const provisionResult = await provisionAddon(provisionParams, {
1158
+ stateDir,
1159
+ progress: (update) => { try {
1160
+ sock.emit('gateway-provision-progress', update);
1161
+ }
1162
+ catch { /* fire-and-forget */ } },
1163
+ log: { info: (m) => log?.info(m), warn: (m) => log?.warn(m) },
1164
+ });
1165
+ ack({ ok: true, result: provisionResult });
1166
+ }
1167
+ else if (payload.method === 'addon-deprovision') {
1168
+ const { botId: deprovBotId, addonKey: deprovAddonKey } = payload.params;
1169
+ log?.info(`[gateway] addon-deprovision botId=${deprovBotId} addon=${deprovAddonKey ?? 'all'}`);
1170
+ await deprovisionAddon({ botId: deprovBotId, addonKey: deprovAddonKey }, { log: { info: (m) => log?.info(m), warn: (m) => log?.warn(m) } });
1171
+ ack({ ok: true });
936
1172
  // ── Desktop container lifecycle ─────────────────────────────────────
937
1173
  }
938
1174
  else if (payload.method === 'desktop-container-create') {
@@ -1 +1 @@
1
- {"version":3,"file":"gateway.js","sourceRoot":"","sources":["../../src/gateway.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"gateway.js","sourceRoot":"","sources":["../../src/gateway.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ export interface SandboxIdentity {
2
+ id: string;
3
+ nick: string;
4
+ }
5
+ export declare function readSandboxIdentity(host: string, port: number): Promise<SandboxIdentity | null>;
@@ -0,0 +1,93 @@
1
+ /**
2
+ * Read the sandbox browser's logged-in account identity over CDP.
3
+ *
4
+ * The bot's Chromium holds a 闲鱼/淘宝 session whose cookies carry the account's
5
+ * numeric user id (`unb`) and login nick (`tracknick`). We read them via CDP
6
+ * `Network.getCookies` (Chrome returns decrypted values, incl. httpOnly), which is
7
+ * far more robust than decrypting the on-disk Cookies SQLite ourselves.
8
+ *
9
+ * Chromium rejects DevTools HTTP/WS whose Host header isn't an IP or `localhost`
10
+ * (DNS-rebind guard), so we spoof `Host: localhost` — same as sandboxScreenCdp.ts.
11
+ *
12
+ * Best-effort: any failure (browser absent, logged out, timeout) returns null.
13
+ */
14
+ import * as http from "http";
15
+ function cdpGet(host, port, path) {
16
+ return new Promise((resolve, reject) => {
17
+ const req = http.get({ host, port, path, headers: { Host: "localhost" }, timeout: 5000 }, (res) => {
18
+ let data = "";
19
+ res.on("data", (c) => { data += c; });
20
+ res.on("end", () => resolve(data));
21
+ });
22
+ req.on("error", reject);
23
+ req.on("timeout", () => req.destroy(new Error("cdp timeout")));
24
+ });
25
+ }
26
+ export async function readSandboxIdentity(host, port) {
27
+ try {
28
+ const targets = JSON.parse(await cdpGet(host, port, "/json"));
29
+ const page = targets.find((t) => t.type === "page" && t.webSocketDebuggerUrl);
30
+ if (!page?.webSocketDebuggerUrl)
31
+ return null;
32
+ const wsPath = new URL(page.webSocketDebuggerUrl).pathname;
33
+ const WsModule = await import("ws");
34
+ const WSImpl = (WsModule.default ?? WsModule);
35
+ const sock = new WSImpl(`ws://${host}:${port}${wsPath}`, { headers: { Host: "localhost" } });
36
+ const cookies = await new Promise((resolve) => {
37
+ let id = 0;
38
+ const pending = new Map();
39
+ const send = (method, params) => {
40
+ const i = ++id;
41
+ return new Promise((r) => { pending.set(i, r); sock.send(JSON.stringify({ id: i, method, params })); });
42
+ };
43
+ const done = (v) => { clearTimeout(timer); try {
44
+ sock.close();
45
+ }
46
+ catch { /* ignore */ } resolve(v); };
47
+ const timer = setTimeout(() => done([]), 6000);
48
+ sock.on("open", async () => {
49
+ try {
50
+ await send("Network.enable", {});
51
+ const res = await send("Network.getCookies", {
52
+ urls: ["https://www.goofish.com/", "https://www.taobao.com/", "https://i.goofish.com/", "https://h5api.m.goofish.com/"],
53
+ });
54
+ done(res?.cookies ?? []);
55
+ }
56
+ catch {
57
+ done([]);
58
+ }
59
+ });
60
+ sock.on("message", (data) => {
61
+ try {
62
+ const m = JSON.parse(data.toString());
63
+ if (m.id && pending.has(m.id)) {
64
+ pending.get(m.id)(m.result);
65
+ pending.delete(m.id);
66
+ }
67
+ }
68
+ catch { /* ignore */ }
69
+ });
70
+ sock.on("error", () => done([]));
71
+ });
72
+ const get = (name) => {
73
+ const c = cookies.find((x) => x.name === name);
74
+ if (!c)
75
+ return "";
76
+ try {
77
+ return decodeURIComponent(c.value);
78
+ }
79
+ catch {
80
+ return c.value;
81
+ }
82
+ };
83
+ const idVal = get("unb");
84
+ const nick = get("tracknick") || get("lgc") || get("_nk_");
85
+ if (!idVal && !nick)
86
+ return null;
87
+ return { id: idVal, nick };
88
+ }
89
+ catch {
90
+ return null;
91
+ }
92
+ }
93
+ //# sourceMappingURL=sandboxIdentity.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sandboxIdentity.js","sourceRoot":"","sources":["../../src/sandboxIdentity.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ozaiya/openclaw-channel",
3
- "version": "0.10.32",
3
+ "version": "0.10.34",
4
4
  "description": "OpenClaw channel plugin for Ozaiya Chat",
5
5
  "license": "MIT",
6
6
  "type": "module",