workerclaw 0.8.2 → 0.9.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.
@@ -5,11 +5,17 @@
5
5
  * - 页面加载超时控制
6
6
  * - 响应大小限制
7
7
  * - 弹窗拦截
8
- * - Cookie 隔离(每次操作独立上下文)
8
+ * - Cookie 隔离(同一 taskId 内共享 session,跨任务隔离)
9
9
  * - 资源限制(截图质量/大小)
10
10
  * - URL 安全验证(阻止内网/危险协议)
11
+ *
12
+ * 架构:
13
+ * - BrowserSessionManager 管理共享 Browser 进程 + 按任务隔离的 Context
14
+ * - 同一任务的多次操作复用同一 Context(保持登录态/Cookie)
15
+ * - 不同任务之间 Context 完全隔离
11
16
  */
12
17
  import { createLogger } from '../core/logger.js';
18
+ import { BrowserSessionManager } from './browser-session.js';
13
19
  // ==================== 默认配置 ====================
14
20
  const DEFAULT_CONFIG = {
15
21
  pageTimeoutMs: 30000,
@@ -47,9 +53,31 @@ function isLocalAddress(hostname) {
47
53
  export class BrowserSandbox {
48
54
  logger;
49
55
  config;
56
+ sessionManager;
50
57
  constructor(browserConfig) {
51
58
  this.config = { ...DEFAULT_CONFIG, ...browserConfig };
52
59
  this.logger = createLogger('BrowserSandbox');
60
+ // 初始化会话管理器
61
+ const sessionConfig = {
62
+ launchArgs: [
63
+ '--no-sandbox',
64
+ '--disable-setuid-sandbox',
65
+ '--disable-dev-shm-usage',
66
+ '--disable-gpu',
67
+ '--disable-extensions',
68
+ '--no-first-run',
69
+ '--disable-default-apps',
70
+ ],
71
+ userAgent: this.config.userAgent,
72
+ proxyUrl: this.config.proxyUrl,
73
+ };
74
+ this.sessionManager = new BrowserSessionManager(sessionConfig);
75
+ }
76
+ /**
77
+ * 获取会话管理器(供 AgentEngine 调用销毁会话)
78
+ */
79
+ getSessionManager() {
80
+ return this.sessionManager;
53
81
  }
54
82
  /**
55
83
  * 验证 URL 安全性
@@ -75,56 +103,28 @@ export class BrowserSandbox {
75
103
  }
76
104
  /**
77
105
  * 导航到指定 URL 并提取页面内容
106
+ *
107
+ * @param url 目标 URL
108
+ * @param options 导航选项
109
+ * @param taskId 任务 ID(用于会话隔离,同一 taskId 内保持登录态)
78
110
  */
79
- async navigate(url, options) {
111
+ async navigate(url, options, taskId) {
80
112
  // URL 安全验证
81
113
  const urlCheck = this.validateUrl(url);
82
114
  if (!urlCheck.allowed) {
83
115
  return { success: false, title: '', url, content: '', error: urlCheck.reason };
84
116
  }
85
- // 动态导入 playwright
86
- let chromium;
87
- try {
88
- const pw = await import('playwright');
89
- chromium = pw.chromium;
90
- }
91
- catch {
92
- return {
93
- success: false,
94
- title: '',
95
- url,
96
- content: '',
97
- error: 'playwright 未安装或 Chromium 不可用。请运行: npx playwright install chromium',
98
- };
99
- }
100
- let browser = null;
101
- let context = null;
117
+ // taskId 时使用默认隔离 key(向后兼容)
118
+ const sessionKey = taskId || '__no_session__';
102
119
  let page = null;
120
+ let needsCleanup = false;
103
121
  try {
104
- // 启动浏览器(每次操作独立实例,确保隔离)
105
- browser = await chromium.launch({
106
- headless: true,
107
- args: [
108
- '--no-sandbox',
109
- '--disable-setuid-sandbox',
110
- '--disable-dev-shm-usage',
111
- '--disable-gpu',
112
- '--disable-extensions',
113
- '--no-first-run',
114
- '--disable-default-apps',
115
- ],
116
- });
117
- context = await browser.newContext({
118
- userAgent: this.config.userAgent || 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36',
119
- javaScriptEnabled: this.config.enableJavaScript,
120
- ignoreHTTPSErrors: true,
121
- viewport: { width: this.config.screenshotMaxWidth, height: 720 },
122
- proxy: this.config.proxyUrl ? { server: this.config.proxyUrl } : undefined,
123
- });
124
- page = await context.newPage();
122
+ const session = await this.sessionManager.getOrCreate(sessionKey);
123
+ page = await session.context.newPage();
124
+ needsCleanup = true;
125
125
  // 拦截弹窗
126
126
  if (this.config.blockPopups) {
127
- context.on('page', (p) => p.close().catch(() => { }));
127
+ session.context.on('page', (p) => p.close().catch(() => { }));
128
128
  }
129
129
  // 导航
130
130
  const response = await page.goto(url, {
@@ -138,10 +138,7 @@ export class BrowserSandbox {
138
138
  const status = response.status();
139
139
  if (status >= 400) {
140
140
  return {
141
- success: false,
142
- title: '',
143
- url,
144
- content: '',
141
+ success: false, title: '', url, content: '',
145
142
  error: `HTTP ${status}: ${response.statusText()}`,
146
143
  };
147
144
  }
@@ -149,10 +146,7 @@ export class BrowserSandbox {
149
146
  const contentLength = response.headers()['content-length'];
150
147
  if (contentLength && parseInt(contentLength) > this.config.maxPageSizeKB * 1024) {
151
148
  return {
152
- success: false,
153
- title: '',
154
- url,
155
- content: '',
149
+ success: false, title: '', url, content: '',
156
150
  error: `页面过大 (${Math.round(parseInt(contentLength) / 1024)}KB),超过限制 ${this.config.maxPageSizeKB}KB`,
157
151
  };
158
152
  }
@@ -216,69 +210,54 @@ export class BrowserSandbox {
216
210
  const error = err;
217
211
  this.logger.error('页面导航失败', { url, error: error.message });
218
212
  return {
219
- success: false,
220
- title: '',
221
- url,
222
- content: '',
213
+ success: false, title: '', url, content: '',
223
214
  error: error.message.includes('Timeout')
224
215
  ? `页面加载超时 (${this.config.pageTimeoutMs}ms)`
225
216
  : error.message,
226
217
  };
227
218
  }
228
219
  finally {
229
- // 确保清理资源
230
- try {
231
- if (page)
220
+ // 只关闭 page,不关闭 context 和 browser(保持会话)
221
+ if (page && needsCleanup) {
222
+ try {
232
223
  await page.close().catch(() => { });
233
- if (context)
234
- await context.close().catch(() => { });
235
- if (browser)
236
- await browser.close().catch(() => { });
224
+ }
225
+ catch { }
237
226
  }
238
- catch {
239
- // 清理失败不影响返回
227
+ // 无 taskId 的一次性会话,立即销毁
228
+ if (!taskId) {
229
+ try {
230
+ await this.sessionManager.destroy(sessionKey);
231
+ }
232
+ catch { }
240
233
  }
241
234
  }
242
235
  }
243
236
  /**
244
237
  * 提取页面结构化数据(链接、图片、元数据)
238
+ *
239
+ * @param url 目标 URL
240
+ * @param taskId 任务 ID(用于会话隔离)
245
241
  */
246
- async extractStructured(url) {
242
+ async extractStructured(url, taskId) {
247
243
  const urlCheck = this.validateUrl(url);
248
244
  if (!urlCheck.allowed) {
249
245
  return { success: false, url, title: '', text: '', links: [], images: [], meta: {}, error: urlCheck.reason };
250
246
  }
251
- let chromium;
252
- try {
253
- const pw = await import('playwright');
254
- chromium = pw.chromium;
255
- }
256
- catch {
257
- return { success: false, url, title: '', text: '', links: [], images: [], meta: {}, error: 'playwright 不可用' };
258
- }
259
- let browser = null;
260
- let context = null;
247
+ const sessionKey = taskId || '__no_session__';
261
248
  let page = null;
249
+ let needsCleanup = false;
262
250
  try {
263
- browser = await chromium.launch({ headless: true, args: ['--no-sandbox', '--disable-setuid-sandbox'] });
264
- context = await browser.newContext({
265
- userAgent: this.config.userAgent || 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36',
266
- ignoreHTTPSErrors: true,
267
- });
268
- page = await context.newPage();
251
+ const session = await this.sessionManager.getOrCreate(sessionKey);
252
+ page = await session.context.newPage();
253
+ needsCleanup = true;
269
254
  const response = await page.goto(url, {
270
255
  timeout: this.config.pageTimeoutMs,
271
256
  waitUntil: 'domcontentloaded',
272
257
  });
273
258
  if (!response || response.status() >= 400) {
274
259
  return {
275
- success: false,
276
- url,
277
- title: '',
278
- text: '',
279
- links: [],
280
- images: [],
281
- meta: {},
260
+ success: false, url, title: '', text: '', links: [], images: [], meta: {},
282
261
  error: `HTTP ${response?.status() || '无响应'}`,
283
262
  };
284
263
  }
@@ -319,55 +298,45 @@ export class BrowserSandbox {
319
298
  catch (err) {
320
299
  const error = err;
321
300
  return {
322
- success: false,
323
- url,
324
- title: '',
325
- text: '',
326
- links: [],
327
- images: [],
328
- meta: {},
301
+ success: false, url, title: '', text: '', links: [], images: [], meta: {},
329
302
  error: error.message,
330
303
  };
331
304
  }
332
305
  finally {
333
- try {
334
- if (page)
306
+ if (page && needsCleanup) {
307
+ try {
335
308
  await page.close().catch(() => { });
336
- if (context)
337
- await context.close().catch(() => { });
338
- if (browser)
339
- await browser.close().catch(() => { });
309
+ }
310
+ catch { }
311
+ }
312
+ if (!taskId) {
313
+ try {
314
+ await this.sessionManager.destroy(sessionKey);
315
+ }
316
+ catch { }
340
317
  }
341
- catch { }
342
318
  }
343
319
  }
344
320
  /**
345
321
  * 截取页面截图
322
+ *
323
+ * @param url 目标 URL
324
+ * @param workDir 工作目录
325
+ * @param options 截图选项
326
+ * @param taskId 任务 ID(用于会话隔离)
346
327
  */
347
- async takeScreenshot(url, workDir, options) {
328
+ async takeScreenshot(url, workDir, options, taskId) {
348
329
  const urlCheck = this.validateUrl(url);
349
330
  if (!urlCheck.allowed) {
350
331
  return { success: false, path: '', width: 0, height: 0, sizeKB: 0, error: urlCheck.reason };
351
332
  }
352
- let chromium;
353
- try {
354
- const pw = await import('playwright');
355
- chromium = pw.chromium;
356
- }
357
- catch {
358
- return { success: false, path: '', width: 0, height: 0, sizeKB: 0, error: 'playwright 不可用' };
359
- }
360
- let browser = null;
361
- let context = null;
333
+ const sessionKey = taskId || '__no_session__';
362
334
  let page = null;
335
+ let needsCleanup = false;
363
336
  try {
364
- browser = await chromium.launch({ headless: true, args: ['--no-sandbox', '--disable-setuid-sandbox'] });
365
- context = await browser.newContext({
366
- userAgent: this.config.userAgent || 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36',
367
- ignoreHTTPSErrors: true,
368
- viewport: { width: this.config.screenshotMaxWidth, height: 720 },
369
- });
370
- page = await context.newPage();
337
+ const session = await this.sessionManager.getOrCreate(sessionKey);
338
+ page = await session.context.newPage();
339
+ needsCleanup = true;
371
340
  await page.goto(url, {
372
341
  timeout: this.config.pageTimeoutMs,
373
342
  waitUntil: 'domcontentloaded',
@@ -388,17 +357,26 @@ export class BrowserSandbox {
388
357
  return { success: false, path: '', width: 0, height: 0, sizeKB: 0, error: error.message };
389
358
  }
390
359
  finally {
391
- try {
392
- if (page)
360
+ if (page && needsCleanup) {
361
+ try {
393
362
  await page.close().catch(() => { });
394
- if (context)
395
- await context.close().catch(() => { });
396
- if (browser)
397
- await browser.close().catch(() => { });
363
+ }
364
+ catch { }
365
+ }
366
+ if (!taskId) {
367
+ try {
368
+ await this.sessionManager.destroy(sessionKey);
369
+ }
370
+ catch { }
398
371
  }
399
- catch { }
400
372
  }
401
373
  }
374
+ /**
375
+ * 关闭所有会话和浏览器(框架退出时调用)
376
+ */
377
+ async close() {
378
+ await this.sessionManager.destroyAll();
379
+ }
402
380
  /**
403
381
  * 内部截图方法(复用已打开的 page 实例)
404
382
  */
@@ -1 +1 @@
1
- {"version":3,"file":"browser-sandbox.js","sourceRoot":"","sources":["../../src/sandbox/browser-sandbox.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"browser-sandbox.js","sourceRoot":"","sources":["../../src/sandbox/browser-sandbox.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,87 @@
1
+ /**
2
+ * 浏览器会话管理器
3
+ *
4
+ * 管理 Playwright Browser 实例和 BrowserContext 池,实现:
5
+ * - 全局共享 Browser 进程(节省 ~400MB 内存)
6
+ * - 按 taskId 隔离 BrowserContext(Cookie/Storage/Session 独立)
7
+ * - 同一任务的多次浏览器操作复用同一 Context(保持登录态)
8
+ * - 任务结束后自动销毁 Context 释放资源
9
+ * - 超时自动清理防泄漏
10
+ */
11
+ interface BrowserSession {
12
+ browser: any;
13
+ context: any;
14
+ createdAt: number;
15
+ lastUsedAt: number;
16
+ pageCount: number;
17
+ }
18
+ export interface BrowserSessionConfig {
19
+ /** 会话最大空闲时间(ms),超时自动销毁,默认 10 分钟 */
20
+ maxIdleMs?: number;
21
+ /** 最大并发 session 数,默认 5 */
22
+ maxSessions?: number;
23
+ /** 启动浏览器时的额外参数 */
24
+ launchArgs?: string[];
25
+ /** User-Agent */
26
+ userAgent?: string;
27
+ /** 代理 URL */
28
+ proxyUrl?: string;
29
+ }
30
+ export declare class BrowserSessionManager {
31
+ private logger;
32
+ private config;
33
+ /** 共享 Browser 实例(懒初始化) */
34
+ private sharedBrowser;
35
+ private browserInitializing;
36
+ /** 会话池:taskId → BrowserSession */
37
+ private sessions;
38
+ /** 超时清理定时器 */
39
+ private cleanupTimer;
40
+ constructor(config?: BrowserSessionConfig);
41
+ /**
42
+ * 获取或创建指定任务的浏览器会话
43
+ *
44
+ * - 如果 taskId 已有会话且未过期,直接返回(复用 Context,保持登录态)
45
+ * - 否则创建新 Context(全新隔离环境)
46
+ */
47
+ getOrCreate(taskId: string): Promise<BrowserSession>;
48
+ /**
49
+ * 销毁指定任务的会话
50
+ */
51
+ destroy(taskId: string): Promise<void>;
52
+ /**
53
+ * 销毁所有会话(关闭共享浏览器)
54
+ */
55
+ destroyAll(): Promise<void>;
56
+ /**
57
+ * 获取当前会话统计
58
+ */
59
+ getStats(): {
60
+ totalSessions: number;
61
+ maxSessions: number;
62
+ sessions: {
63
+ taskId: string;
64
+ ageMs: number;
65
+ idleMs: number;
66
+ pageCount: any;
67
+ }[];
68
+ };
69
+ /**
70
+ * 获取共享 Browser 实例(懒初始化,单例)
71
+ */
72
+ private getSharedBrowser;
73
+ /**
74
+ * 启动 Chromium 浏览器
75
+ */
76
+ private launchBrowser;
77
+ /**
78
+ * 清理超时空闲会话
79
+ */
80
+ private cleanupIdleSessions;
81
+ /**
82
+ * 驱逐最老的空闲会话(用于并发上限控制)
83
+ */
84
+ private evictOldestIdle;
85
+ }
86
+ export {};
87
+ //# sourceMappingURL=browser-session.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"browser-session.d.ts","sourceRoot":"","sources":["../../src/sandbox/browser-session.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAMH,UAAU,cAAc;IACtB,OAAO,EAAE,GAAG,CAAC;IACb,OAAO,EAAE,GAAG,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,oBAAoB;IACnC,mCAAmC;IACnC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,0BAA0B;IAC1B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,kBAAkB;IAClB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,iBAAiB;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa;IACb,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAYD,qBAAa,qBAAqB;IAChC,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,MAAM,CAAwB;IAEtC,0BAA0B;IAC1B,OAAO,CAAC,aAAa,CAAa;IAClC,OAAO,CAAC,mBAAmB,CAA6B;IAExD,kCAAkC;IAClC,OAAO,CAAC,QAAQ,CAAqC;IAErD,cAAc;IACd,OAAO,CAAC,YAAY,CAA+C;gBAEvD,MAAM,CAAC,EAAE,oBAAoB;IAuBzC;;;;;OAKG;IACG,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC;IAyD1D;;OAEG;IACG,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAsB5C;;OAEG;IACG,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAuBjC;;OAEG;IACH,QAAQ;;;;;;;;;;IAeR;;OAEG;YACW,gBAAgB;IA4B9B;;OAEG;YACW,aAAa;IA6B3B;;OAEG;YACW,mBAAmB;IAiBjC;;OAEG;YACW,eAAe;CAmB9B"}