benchmark-collector 1.5.1 → 1.6.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.
package/README.md CHANGED
@@ -11,6 +11,7 @@
11
11
  - **Cookie 自动注入** — 从本地 Chrome 提取并解密 Cookie,保留登录态(支持 macOS / Windows / Linux)
12
12
  - **对话采集** — 支持 DOM 检测和 API 拦截两种模式采集客服对话消息,内置平台预设选择器自动匹配,消息自动去重
13
13
  - **平台预设** — 内置常见客服平台(抖店、拼多多等)的对话容器选择器,无需手动指定
14
+ - **历史会话批量采集** — 内置抖音飞鸽 / 拼多多客服后台的历史会话自动采集脚本,免人工操作即可批量拉取后台数据
14
15
  - **长时间录制优化** — 写入节流、原子保存、CDP 自动清理,支持数小时连续采集
15
16
  - **增量保存** — 每步操作实时保存,进程异常退出也不丢数据
16
17
  - **跨平台** — 支持 macOS / Windows / Linux
@@ -147,6 +148,49 @@ output/处理退款_2026-03-22T10-00-00/
147
148
  | `*_dom.html` | 页面 DOM 快照(含 iframe 内容) | DOM-based agent 训练 |
148
149
  | `*_conversation.json` | 对话消息(角色 / 内容 / 时间戳 / 附件) | 客服对话训练数据(DOM 模式) |
149
150
 
151
+ ## 历史会话批量采集
152
+
153
+ 针对抖音飞鸽(抖店)和拼多多商家后台的历史会话页面,提供两个独立的批量采集脚本,自动操作页面、拦截接口、翻页累积数据。
154
+
155
+ ### 抖音飞鸽
156
+
157
+ 页面:`https://jsls.jinritemai.com/im/shop/main/data/historyConversation`,接口:`fuzzySearchConversation`。
158
+
159
+ ```bash
160
+ # 默认运行(自动注入本地 Chrome Cookie,有头模式)
161
+ npm run feige-history
162
+
163
+ # 自定义参数
164
+ npx ts-node scripts/feige-history-collect.ts \
165
+ --max-pages 100 \ # 最大账号列表翻页数(默认 100)
166
+ --delay 1000 \ # 每次翻页间隔,避免限流(默认 1000ms)
167
+ --output ./data \ # 输出目录(默认 output)
168
+ --headless # 无头模式
169
+ ```
170
+
171
+ 流程:打开页面 → 选"近30天" → 点击查询 → 拦截 `fuzzySearchConversation` → 自动翻页直到采集全部 → 保存到 `output/feige-history_<timestamp>.json`。
172
+
173
+ ### 拼多多商家后台
174
+
175
+ 页面:`https://mms.pinduoduo.com/mms-chat/search?msfrom=mms_sidenav`,接口:`getMessages`。
176
+
177
+ ```bash
178
+ # 默认运行
179
+ npm run pdd-history
180
+
181
+ # 自定义参数
182
+ npx ts-node scripts/pdd-history-collect.ts \
183
+ --max-accounts 200 \ # 最多采集消费者账号数(默认 500)
184
+ --max-msg-pages 20 \ # 每个账号最多翻多少页消息(默认 20)
185
+ --delay 600 \ # 操作间隔(默认 600ms)
186
+ --output ./data \
187
+ --headless
188
+ ```
189
+
190
+ 流程:打开页面 → 选"近30天" → 点击查询 → 遍历左侧 `.user-item` 消费者账号列表 → 每个账号点击后遍历右侧消息分页 → 拦截 `getMessages` 累积全部消息 → 保存到 `output/pdd-history_<timestamp>.json`。
191
+
192
+ > **前置条件:** 需要先在本地 Chrome 中登录对应的商家后台,脚本会自动从 Chrome 解密提取 Cookie 完成认证。
193
+
150
194
  ## 回放与调试
151
195
 
152
196
  ```bash
@@ -0,0 +1,375 @@
1
+ #!/usr/bin/env node
2
+ "use strict";
3
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
4
+ if (k2 === undefined) k2 = k;
5
+ var desc = Object.getOwnPropertyDescriptor(m, k);
6
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
7
+ desc = { enumerable: true, get: function() { return m[k]; } };
8
+ }
9
+ Object.defineProperty(o, k2, desc);
10
+ }) : (function(o, m, k, k2) {
11
+ if (k2 === undefined) k2 = k;
12
+ o[k2] = m[k];
13
+ }));
14
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
15
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
16
+ }) : function(o, v) {
17
+ o["default"] = v;
18
+ });
19
+ var __importStar = (this && this.__importStar) || (function () {
20
+ var ownKeys = function(o) {
21
+ ownKeys = Object.getOwnPropertyNames || function (o) {
22
+ var ar = [];
23
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
24
+ return ar;
25
+ };
26
+ return ownKeys(o);
27
+ };
28
+ return function (mod) {
29
+ if (mod && mod.__esModule) return mod;
30
+ var result = {};
31
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
32
+ __setModuleDefault(result, mod);
33
+ return result;
34
+ };
35
+ })();
36
+ Object.defineProperty(exports, "__esModule", { value: true });
37
+ /**
38
+ * 抖音飞鸽历史会话数据采集脚本
39
+ *
40
+ * 功能:
41
+ * 1. 打开飞鸽数据页面 (historyConversation)
42
+ * 2. 注入 Cookie 实现免登录
43
+ * 3. 点击"查询"触发数据加载
44
+ * 4. 拦截 fuzzySearchConversation 接口响应
45
+ * 5. 自动翻页直到获取所有数据
46
+ * 6. 保存完整数据到本地 JSON 文件
47
+ *
48
+ * 用法:
49
+ * npx ts-node scripts/feige-history-collect.ts [--output <dir>] [--max-pages <n>] [--delay <ms>]
50
+ */
51
+ const playwright_core_1 = require("playwright-core");
52
+ const fs = __importStar(require("fs"));
53
+ const path = __importStar(require("path"));
54
+ const cookie_extract_1 = require("../src/cookie-extract");
55
+ const PAGE_URL = 'https://jsls.jinritemai.com/im/shop/main/data/historyConversation';
56
+ const API_PATTERN = 'fuzzySearchConversation';
57
+ // ========== CLI 参数解析 ==========
58
+ const args = process.argv.slice(2);
59
+ function getArg(name, defaultValue) {
60
+ const idx = args.indexOf(`--${name}`);
61
+ return idx >= 0 && args[idx + 1] ? args[idx + 1] : defaultValue;
62
+ }
63
+ function hasFlag(name) {
64
+ return args.includes(`--${name}`);
65
+ }
66
+ const outputDir = getArg('output', 'output');
67
+ const maxPages = parseInt(getArg('max-pages', '100'), 10);
68
+ const delayMs = parseInt(getArg('delay', '1000'), 10);
69
+ const headless = hasFlag('headless');
70
+ // ========== 主逻辑 ==========
71
+ class FeigeHistoryCollector {
72
+ constructor() {
73
+ this.allConversations = [];
74
+ this.currentPageData = [];
75
+ this.responseReceived = false;
76
+ this.totalFromApi = 0;
77
+ }
78
+ async run() {
79
+ console.log('飞鸽历史会话数据采集');
80
+ console.log(` 页面: ${PAGE_URL}`);
81
+ console.log(` 最大页数: ${maxPages}`);
82
+ console.log(` 请求间隔: ${delayMs}ms`);
83
+ console.log(` 输出目录: ${outputDir}`);
84
+ console.log('');
85
+ const launchOpts = {
86
+ headless,
87
+ handleSIGINT: false,
88
+ handleSIGTERM: false,
89
+ handleSIGHUP: false,
90
+ };
91
+ let browser;
92
+ try {
93
+ browser = await playwright_core_1.chromium.launch({ ...launchOpts, channel: 'chrome' });
94
+ }
95
+ catch {
96
+ browser = await playwright_core_1.chromium.launch(launchOpts);
97
+ }
98
+ const context = await browser.newContext({ viewport: { width: 1440, height: 900 } });
99
+ // 注入 Cookie
100
+ console.log('🍪 从本地 Chrome 提取 Cookie...');
101
+ const cookies = (0, cookie_extract_1.extractCookiesForUrl)(PAGE_URL);
102
+ if (cookies.length > 0) {
103
+ let injected = 0;
104
+ for (const cookie of cookies) {
105
+ try {
106
+ await context.addCookies([cookie]);
107
+ injected++;
108
+ }
109
+ catch { }
110
+ }
111
+ console.log(` ✅ 已注入 ${injected}/${cookies.length} 个 Cookie`);
112
+ }
113
+ else {
114
+ console.log(' ⚠️ 未找到 Cookie,可能需要先在 Chrome 中登录飞鸽');
115
+ }
116
+ this.page = await context.newPage();
117
+ await this.setupApiIntercept();
118
+ // 导航到页面
119
+ console.log('\n🌐 正在打开飞鸽数据页面...');
120
+ try {
121
+ await this.page.goto(PAGE_URL, { waitUntil: 'networkidle', timeout: 30000 });
122
+ }
123
+ catch (e) {
124
+ console.log(` ⚠️ 页面加载超时,继续尝试: ${e.message?.split('\n')[0]}`);
125
+ }
126
+ await this.page.waitForTimeout(2000);
127
+ // 点击"近30天"快捷按钮,设置时间范围
128
+ console.log('\n📅 点击"近30天"按钮...');
129
+ const rangeSelected = await this.clickLast30DaysButton();
130
+ if (!rangeSelected) {
131
+ console.log(' ⚠️ 未找到"近30天"按钮,使用默认时间范围');
132
+ }
133
+ else {
134
+ console.log(' ✅ 已选择"近30天"');
135
+ await this.page.waitForTimeout(500);
136
+ }
137
+ // 点击"查询"按钮
138
+ console.log('\n🔍 点击查询按钮...');
139
+ this.responseReceived = false;
140
+ const searched = await this.clickSearchButton();
141
+ if (!searched) {
142
+ console.log(' ⚠️ 未找到查询按钮,尝试等待数据自动加载...');
143
+ }
144
+ // 等待第一次 API 响应
145
+ await this.waitForApiResponse(10000);
146
+ if (!this.responseReceived) {
147
+ console.log(' ⚠️ 未收到 API 响应,请确认页面已正确登录');
148
+ await browser.close();
149
+ process.exit(1);
150
+ }
151
+ // 自动翻页
152
+ let pageNum = 1;
153
+ console.log(`\n📄 开始翻页采集 (已获取第 1 页)...`);
154
+ while (pageNum < maxPages) {
155
+ if (this.totalFromApi > 0 && this.allConversations.length >= this.totalFromApi) {
156
+ console.log(` ✅ 已获取全部 ${this.totalFromApi} 条数据`);
157
+ break;
158
+ }
159
+ if (this.currentPageData.length === 0 && pageNum > 1) {
160
+ console.log(` ✅ 当前页无数据,采集结束`);
161
+ break;
162
+ }
163
+ this.responseReceived = false;
164
+ this.currentPageData = [];
165
+ const hasNext = await this.clickNextPage();
166
+ if (!hasNext) {
167
+ console.log(` ✅ 没有下一页了,采集结束`);
168
+ break;
169
+ }
170
+ pageNum++;
171
+ await this.waitForApiResponse(10000);
172
+ if (!this.responseReceived) {
173
+ console.log(` ⚠️ 第 ${pageNum} 页未收到响应,停止翻页`);
174
+ break;
175
+ }
176
+ await this.page.waitForTimeout(delayMs);
177
+ }
178
+ if (pageNum >= maxPages) {
179
+ console.log(` ⚠️ 达到最大页数限制 (${maxPages})`);
180
+ }
181
+ // 保存数据
182
+ const result = {
183
+ conversations: this.allConversations,
184
+ totalPages: pageNum,
185
+ totalConversations: this.allConversations.length,
186
+ collectTime: new Date().toISOString(),
187
+ };
188
+ fs.mkdirSync(outputDir, { recursive: true });
189
+ const timestamp = new Date().toISOString().replace(/[:.]/g, '-').slice(0, 19);
190
+ const outputFile = path.join(outputDir, `feige-history_${timestamp}.json`);
191
+ fs.writeFileSync(outputFile, JSON.stringify(result, null, 2));
192
+ console.log(`\n✅ 采集完成`);
193
+ console.log(` 共 ${this.allConversations.length} 条会话, ${pageNum} 页`);
194
+ console.log(` 文件: ${outputFile}`);
195
+ await browser.close();
196
+ }
197
+ /** 设置 API 拦截 */
198
+ async setupApiIntercept() {
199
+ await this.page.route(`**/${API_PATTERN}*`, async (route) => {
200
+ const response = await route.fetch();
201
+ const body = await response.text();
202
+ try {
203
+ const data = JSON.parse(body);
204
+ const conversations = this.extractConversationList(data);
205
+ this.totalFromApi = this.extractTotal(data);
206
+ if (conversations.length > 0) {
207
+ this.currentPageData = conversations;
208
+ this.allConversations.push(...conversations);
209
+ console.log(` 📡 获取到 ${conversations.length} 条会话 (累计: ${this.allConversations.length}/${this.totalFromApi || '?'})`);
210
+ }
211
+ else {
212
+ this.currentPageData = [];
213
+ console.log(` 📡 该页无数据`);
214
+ }
215
+ }
216
+ catch (e) {
217
+ console.log(` ⚠️ 解析响应失败: ${e.message}`);
218
+ this.currentPageData = [];
219
+ }
220
+ this.responseReceived = true;
221
+ await route.fulfill({ response });
222
+ });
223
+ }
224
+ /** 等待 API 响应(轮询 responseReceived 标志) */
225
+ async waitForApiResponse(timeout) {
226
+ const start = Date.now();
227
+ while (Date.now() - start < timeout && !this.responseReceived) {
228
+ await this.page.waitForTimeout(200);
229
+ }
230
+ await this.page.waitForTimeout(300);
231
+ }
232
+ /** 点击"近30天"快捷按钮(设置时间范围) */
233
+ async clickLast30DaysButton() {
234
+ const selectors = [
235
+ 'button:has-text("近30天")',
236
+ 'button:has-text("最近30天")',
237
+ 'button:has-text("近三十天")',
238
+ 'span:has-text("近30天")',
239
+ 'a:has-text("近30天")',
240
+ 'div[role="button"]:has-text("近30天")',
241
+ '[class*="tag"]:has-text("近30天")',
242
+ '[class*="quick"]:has-text("近30天")',
243
+ 'label:has-text("近30天")',
244
+ // 兜底:包含"30天"文本的可点击元素
245
+ 'button:has-text("30天")',
246
+ 'span[class*="btn"]:has-text("30天")',
247
+ ];
248
+ for (const selector of selectors) {
249
+ try {
250
+ const btn = this.page.locator(selector).first();
251
+ if (await btn.isVisible({ timeout: 1000 })) {
252
+ await btn.click();
253
+ return true;
254
+ }
255
+ }
256
+ catch { }
257
+ }
258
+ return false;
259
+ }
260
+ /** 点击查询按钮 */
261
+ async clickSearchButton() {
262
+ const selectors = [
263
+ 'button:has-text("查询")',
264
+ 'button:has-text("搜索")',
265
+ 'button:has-text("查找")',
266
+ '.ant-btn-primary:has-text("查询")',
267
+ '.ant-btn-primary:has-text("搜索")',
268
+ '[class*="search"] button',
269
+ '[class*="query"] button',
270
+ 'button[type="submit"]',
271
+ ];
272
+ for (const selector of selectors) {
273
+ try {
274
+ const btn = this.page.locator(selector).first();
275
+ if (await btn.isVisible({ timeout: 1000 })) {
276
+ await btn.click();
277
+ return true;
278
+ }
279
+ }
280
+ catch { }
281
+ }
282
+ return false;
283
+ }
284
+ /** 点击下一页按钮 */
285
+ async clickNextPage() {
286
+ const selectors = [
287
+ '.ant-pagination-next:not(.ant-pagination-disabled)',
288
+ 'li.ant-pagination-next:not(.ant-pagination-disabled) button',
289
+ 'li.ant-pagination-next:not(.ant-pagination-disabled) a',
290
+ 'button:has-text("下一页")',
291
+ 'a:has-text("下一页")',
292
+ '.arco-pagination-item-next:not(.arco-pagination-item-disabled)',
293
+ '[class*="next"]:not([class*="disabled"]):not([disabled])',
294
+ ];
295
+ for (const selector of selectors) {
296
+ try {
297
+ const btn = this.page.locator(selector).first();
298
+ if (await btn.isVisible({ timeout: 1000 })) {
299
+ const disabled = await btn.getAttribute('disabled');
300
+ const ariaDisabled = await btn.getAttribute('aria-disabled');
301
+ if (disabled !== null || ariaDisabled === 'true')
302
+ continue;
303
+ await btn.click();
304
+ return true;
305
+ }
306
+ }
307
+ catch { }
308
+ }
309
+ return false;
310
+ }
311
+ /** 从 API 响应中提取会话列表 */
312
+ extractConversationList(data) {
313
+ const paths = [
314
+ data?.data?.conversations,
315
+ data?.data?.list,
316
+ data?.data?.data,
317
+ data?.data?.records,
318
+ data?.data?.items,
319
+ data?.result?.conversations,
320
+ data?.result?.list,
321
+ data?.result?.data,
322
+ data?.conversations,
323
+ data?.list,
324
+ ];
325
+ for (const p of paths) {
326
+ if (Array.isArray(p) && p.length > 0)
327
+ return p;
328
+ }
329
+ return this.findFirstArray(data, 0);
330
+ }
331
+ /** 递归查找第一个看起来像会话列表的数组 */
332
+ findFirstArray(obj, depth) {
333
+ if (depth > 5 || !obj || typeof obj !== 'object')
334
+ return [];
335
+ if (Array.isArray(obj) && obj.length > 0 && typeof obj[0] === 'object')
336
+ return obj;
337
+ for (const val of Object.values(obj)) {
338
+ if (Array.isArray(val) && val.length > 0 && typeof val[0] === 'object') {
339
+ return val;
340
+ }
341
+ }
342
+ for (const val of Object.values(obj)) {
343
+ if (val && typeof val === 'object' && !Array.isArray(val)) {
344
+ const found = this.findFirstArray(val, depth + 1);
345
+ if (found.length > 0)
346
+ return found;
347
+ }
348
+ }
349
+ return [];
350
+ }
351
+ /** 从响应中提取总数 */
352
+ extractTotal(data) {
353
+ const paths = [
354
+ data?.data?.total,
355
+ data?.data?.totalCount,
356
+ data?.data?.total_count,
357
+ data?.data?.pagination?.total,
358
+ data?.data?.page_info?.total,
359
+ data?.result?.total,
360
+ data?.total,
361
+ ];
362
+ for (const p of paths) {
363
+ if (typeof p === 'number' && p > 0)
364
+ return p;
365
+ }
366
+ return 0;
367
+ }
368
+ }
369
+ // ========== 启动 ==========
370
+ const collector = new FeigeHistoryCollector();
371
+ collector.run().catch((err) => {
372
+ console.error('采集出错:', err);
373
+ process.exit(1);
374
+ });
375
+ //# sourceMappingURL=feige-history-collect.js.map
@@ -0,0 +1,499 @@
1
+ #!/usr/bin/env node
2
+ "use strict";
3
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
4
+ if (k2 === undefined) k2 = k;
5
+ var desc = Object.getOwnPropertyDescriptor(m, k);
6
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
7
+ desc = { enumerable: true, get: function() { return m[k]; } };
8
+ }
9
+ Object.defineProperty(o, k2, desc);
10
+ }) : (function(o, m, k, k2) {
11
+ if (k2 === undefined) k2 = k;
12
+ o[k2] = m[k];
13
+ }));
14
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
15
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
16
+ }) : function(o, v) {
17
+ o["default"] = v;
18
+ });
19
+ var __importStar = (this && this.__importStar) || (function () {
20
+ var ownKeys = function(o) {
21
+ ownKeys = Object.getOwnPropertyNames || function (o) {
22
+ var ar = [];
23
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
24
+ return ar;
25
+ };
26
+ return ownKeys(o);
27
+ };
28
+ return function (mod) {
29
+ if (mod && mod.__esModule) return mod;
30
+ var result = {};
31
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
32
+ __setModuleDefault(result, mod);
33
+ return result;
34
+ };
35
+ })();
36
+ Object.defineProperty(exports, "__esModule", { value: true });
37
+ /**
38
+ * 拼多多客服后台历史会话数据采集脚本
39
+ *
40
+ * 页面:https://mms.pinduoduo.com/mms-chat/search?msfrom=mms_sidenav
41
+ * 接口:POST https://mms.pinduoduo.com/latitude/search/message/getMessages
42
+ *
43
+ * 实际页面结构(已通过浏览器验证):
44
+ * - 顶部表单:查询方式 / 客服账号 / 时间 / 查询按钮
45
+ * - 时间输入框 placeholder="开始时间 ~ 结束时间", readonly
46
+ * - 时间浮层快捷按钮:今天 / 近7天 / 近30天 (点击后自动应用并关闭浮层,无需确认)
47
+ * - 查询按钮:button.BTN_primary_xxx 文字"查询"
48
+ * - 查询结果:左侧账号列表 .cs-list > .user-item (每页 10 条) + 右侧 .message-list
49
+ * - 分页器:.PGT_outerWrapper_xxx,下一页 .PGT_next_xxx
50
+ * - 接口返回的消息一次性全量渲染到 .message-list,无懒加载
51
+ *
52
+ * 流程:
53
+ * 1. 注入 Cookie 实现免登录
54
+ * 2. 打开页面
55
+ * 3. 点击时间输入框 → 点击"近30天" (自动应用 + 关闭浮层)
56
+ * 4. 点击"查询" → 左侧出现 .user-item 列表
57
+ * 5. 遍历当前页所有 .user-item,逐个点击 → 拦截 getMessages 响应
58
+ * 6. 点击分页器"下一页",重复步骤 5,直到没有下一页
59
+ * 7. 增量保存到 output/pdd-history_<timestamp>.json
60
+ *
61
+ * 用法:
62
+ * npx ts-node scripts/pdd-history-collect.ts [--output <dir>] [--max-accounts <n>]
63
+ * [--delay <ms>] [--headless]
64
+ */
65
+ const playwright_core_1 = require("playwright-core");
66
+ const fs = __importStar(require("fs"));
67
+ const path = __importStar(require("path"));
68
+ const cookie_extract_1 = require("../src/cookie-extract");
69
+ const PAGE_URL = 'https://mms.pinduoduo.com/mms-chat/search?msfrom=mms_sidenav';
70
+ const API_PATTERN = '/latitude/search/message/getMessages';
71
+ // ========== CLI 参数 ==========
72
+ const args = process.argv.slice(2);
73
+ const getArg = (name, def) => {
74
+ const idx = args.indexOf(`--${name}`);
75
+ return idx >= 0 && args[idx + 1] ? args[idx + 1] : def;
76
+ };
77
+ const hasFlag = (name) => args.includes(`--${name}`);
78
+ const outputDir = getArg('output', 'output');
79
+ const maxAccounts = parseInt(getArg('max-accounts', '500'), 10);
80
+ const maxMsgPages = parseInt(getArg('max-msg-pages', '20'), 10);
81
+ const delayMs = parseInt(getArg('delay', '600'), 10);
82
+ const headless = hasFlag('headless');
83
+ class PddHistoryCollector {
84
+ constructor() {
85
+ this.currentMessages = new Map(); // 当前账号的消息(按 msg_id 去重)
86
+ this.currentResponseCount = 0;
87
+ this.results = [];
88
+ this.outputFile = '';
89
+ }
90
+ async run() {
91
+ console.log('拼多多客服历史会话采集');
92
+ console.log(` 页面: ${PAGE_URL}`);
93
+ console.log(` 最大账号数: ${maxAccounts}`);
94
+ console.log(` 每账号最大消息分页: ${maxMsgPages}`);
95
+ console.log(` 请求间隔: ${delayMs}ms`);
96
+ console.log(` 输出目录: ${outputDir}`);
97
+ console.log('');
98
+ fs.mkdirSync(outputDir, { recursive: true });
99
+ const ts = new Date().toISOString().replace(/[:.]/g, '-').slice(0, 19);
100
+ this.outputFile = path.join(outputDir, `pdd-history_${ts}.json`);
101
+ const launchOpts = {
102
+ headless,
103
+ handleSIGINT: false,
104
+ handleSIGTERM: false,
105
+ handleSIGHUP: false,
106
+ };
107
+ let browser;
108
+ try {
109
+ browser = await playwright_core_1.chromium.launch({ ...launchOpts, channel: 'chrome' });
110
+ }
111
+ catch {
112
+ browser = await playwright_core_1.chromium.launch(launchOpts);
113
+ }
114
+ const context = await browser.newContext({ viewport: { width: 1440, height: 900 } });
115
+ // Cookie 注入
116
+ console.log('🍪 从本地 Chrome 提取 Cookie...');
117
+ const cookies = (0, cookie_extract_1.extractCookiesForUrl)(PAGE_URL);
118
+ if (cookies.length > 0) {
119
+ let injected = 0;
120
+ for (const c of cookies) {
121
+ try {
122
+ await context.addCookies([c]);
123
+ injected++;
124
+ }
125
+ catch { }
126
+ }
127
+ console.log(` ✅ 已注入 ${injected}/${cookies.length} 个 Cookie`);
128
+ }
129
+ else {
130
+ console.log(' ⚠️ 未找到 Cookie,请先在 Chrome 中登录拼多多商家后台');
131
+ }
132
+ this.page = await context.newPage();
133
+ await this.setupApiIntercept();
134
+ // 1. 导航
135
+ console.log('\n🌐 打开页面...');
136
+ try {
137
+ await this.page.goto(PAGE_URL, { waitUntil: 'networkidle', timeout: 30000 });
138
+ }
139
+ catch (e) {
140
+ console.log(` ⚠️ 加载超时,继续: ${e.message?.split('\n')[0]}`);
141
+ }
142
+ await this.page.waitForTimeout(2000);
143
+ // 2. 选择"近30天"
144
+ console.log('\n📅 选择时间范围"近30天"...');
145
+ const ok30 = await this.selectLast30Days();
146
+ if (!ok30) {
147
+ console.log(' ⚠️ 时间选择失败,使用页面默认');
148
+ }
149
+ else {
150
+ console.log(' ✅ 已选择近30天');
151
+ }
152
+ // 3. 点击查询
153
+ console.log('\n🔍 点击查询按钮...');
154
+ const searched = await this.clickSearchButton();
155
+ if (!searched) {
156
+ console.log(' ❌ 未找到查询按钮');
157
+ await browser.close();
158
+ process.exit(1);
159
+ }
160
+ // 等待左侧 user-item 列表出现
161
+ try {
162
+ await this.page.waitForSelector('.user-item', { timeout: 15000 });
163
+ }
164
+ catch {
165
+ console.log(' ⚠️ 等待 .user-item 超时,可能查询无结果');
166
+ }
167
+ await this.page.waitForTimeout(1500);
168
+ // 4. 遍历左侧账号列表(左侧没有分页器,可能通过滚动加载;这里先取全部已渲染项,
169
+ // 若数量增长则继续滚动加载更多)
170
+ console.log('\n👥 开始遍历消费者账号...');
171
+ let processed = 0;
172
+ let lastSeenCount = 0;
173
+ let stableRounds = 0;
174
+ while (processed < maxAccounts) {
175
+ const itemCount = await this.page.locator('.user-item').count();
176
+ if (itemCount === 0) {
177
+ console.log(` ⚠️ 无账号,结束`);
178
+ break;
179
+ }
180
+ // 处理新出现的账号
181
+ for (let i = lastSeenCount; i < itemCount && processed < maxAccounts; i++) {
182
+ await this.processOneAccount(i, 1, processed + 1);
183
+ processed++;
184
+ this.saveResults();
185
+ await this.page.waitForTimeout(delayMs);
186
+ }
187
+ lastSeenCount = itemCount;
188
+ if (processed >= maxAccounts) {
189
+ console.log(` ⚠️ 达到最大账号数限制 (${maxAccounts})`);
190
+ break;
191
+ }
192
+ // 滚动 .cs-list 到底部尝试加载更多
193
+ const grew = await this.scrollAccountListAndCheck();
194
+ if (!grew) {
195
+ stableRounds++;
196
+ if (stableRounds >= 2) {
197
+ console.log(' ✅ 账号列表无更多项,采集结束');
198
+ break;
199
+ }
200
+ }
201
+ else {
202
+ stableRounds = 0;
203
+ }
204
+ await this.page.waitForTimeout(800);
205
+ }
206
+ this.saveResults();
207
+ const total = this.results.reduce((s, r) => s + r.messages.length, 0);
208
+ console.log(`\n✅ 采集完成`);
209
+ console.log(` 共 ${this.results.length} 个账号, ${total} 条消息`);
210
+ console.log(` 文件: ${this.outputFile}`);
211
+ await browser.close();
212
+ }
213
+ // ========== 单个账号 ==========
214
+ async processOneAccount(itemIdx, pageIdx, globalIdx) {
215
+ this.currentMessages.clear();
216
+ this.currentResponseCount = 0;
217
+ const items = this.page.locator('.user-item');
218
+ if (itemIdx >= (await items.count()))
219
+ return;
220
+ const item = items.nth(itemIdx);
221
+ const label = (await item.innerText().catch(() => '')).trim().replace(/\s+/g, ' ').slice(0, 80);
222
+ console.log(`\n[#${globalIdx} 页${pageIdx}/项${itemIdx + 1}] ${label || '(无文本)'}`);
223
+ try {
224
+ await item.scrollIntoViewIfNeeded({ timeout: 3000 });
225
+ }
226
+ catch { }
227
+ // 第一页第一个账号默认已被选中并已加载消息(等于无需点击就有响应)。
228
+ // 我们仍然点击一次,强制重新触发请求,以保证拦截能稳定捕获。
229
+ try {
230
+ await item.click({ timeout: 5000 });
231
+ }
232
+ catch (e) {
233
+ console.log(` ⚠️ 点击失败: ${e.message?.split('\n')[0]}`);
234
+ return;
235
+ }
236
+ // 等 getMessages 响应(首页第一项可能没有新请求 — 因为页面初始化时已请求过;做兜底)
237
+ const got = await this.waitForResponse(8000);
238
+ if (!got && pageIdx === 1 && itemIdx === 0) {
239
+ console.log(` ℹ️ 首项无新请求,跳过`);
240
+ }
241
+ // 遍历该账号的消息分页(拼多多右侧消息分页,每个账号页数不同)
242
+ const msgPagesVisited = await this.iterateMessagePages();
243
+ const messages = Array.from(this.currentMessages.values());
244
+ this.results.push({
245
+ accountKey: `p${pageIdx}_i${itemIdx + 1}`,
246
+ accountLabel: label,
247
+ pageIndex: pageIdx,
248
+ itemIndex: itemIdx + 1,
249
+ messagePagesVisited: msgPagesVisited,
250
+ messages,
251
+ responseCount: this.currentResponseCount,
252
+ });
253
+ console.log(` ✅ ${messages.length} 条消息 (${this.currentResponseCount} 次响应)`);
254
+ }
255
+ // ========== 时间选择 ==========
256
+ /** 选择"近30天"(点击输入框 → 点近30天,浮层会自动关闭) */
257
+ async selectLast30Days() {
258
+ const input = this.page.locator('input[placeholder*="开始时间"][readonly]').first();
259
+ try {
260
+ if (!(await input.isVisible({ timeout: 3000 })))
261
+ return false;
262
+ await input.click({ timeout: 2000 });
263
+ }
264
+ catch {
265
+ return false;
266
+ }
267
+ // 等浮层
268
+ try {
269
+ await this.page.waitForSelector('.RPR_quickPickerWrapper_1198e34, [class*="RPR_quickPickerWrapper"]', { timeout: 3000 });
270
+ }
271
+ catch {
272
+ // 浮层 class 可能变化,继续尝试找按钮
273
+ }
274
+ await this.page.waitForTimeout(300);
275
+ // 点击"近30天"
276
+ const last30 = this.page.locator('button', { hasText: /^近30天$/ }).first();
277
+ try {
278
+ if (await last30.isVisible({ timeout: 2000 })) {
279
+ await last30.click({ timeout: 2000 });
280
+ await this.page.waitForTimeout(400);
281
+ return true;
282
+ }
283
+ }
284
+ catch { }
285
+ return false;
286
+ }
287
+ // ========== 查询按钮 ==========
288
+ async clickSearchButton() {
289
+ // 优先 BTN_primary 中的"查询"
290
+ const candidates = [
291
+ this.page.locator('button[class*="BTN_primary"]', { hasText: /^查询$/ }),
292
+ this.page.locator('button', { hasText: /^查询$/ }),
293
+ ];
294
+ for (const c of candidates) {
295
+ try {
296
+ const btn = c.first();
297
+ if (await btn.isVisible({ timeout: 1500 })) {
298
+ await btn.click({ timeout: 2000 });
299
+ return true;
300
+ }
301
+ }
302
+ catch { }
303
+ }
304
+ return false;
305
+ }
306
+ // ========== 左侧账号列表滚动加载 ==========
307
+ /** 滚动 .cs-list 到底部,返回是否新增了项 */
308
+ async scrollAccountListAndCheck() {
309
+ return await this.page.evaluate(() => {
310
+ const list = document.querySelector('.cs-list');
311
+ if (!list)
312
+ return false;
313
+ const before = list.querySelectorAll('.user-item').length;
314
+ list.scrollTop = list.scrollHeight;
315
+ return new Promise(resolve => {
316
+ setTimeout(() => {
317
+ const after = list.querySelectorAll('.user-item').length;
318
+ resolve(after > before);
319
+ }, 1500);
320
+ });
321
+ });
322
+ }
323
+ // ========== 右侧消息分页(每个账号内部) ==========
324
+ /**
325
+ * 遍历当前选中账号的所有消息分页。
326
+ * 拼多多分页器结构:
327
+ * - .table-section-right-footer 内的 [class*="PGT_outerWrapper"]
328
+ * - 当前激活:[class*="PGT_pagerItemActive"]
329
+ * - 下一页按钮:[class*="PGT_next"],禁用时含 PGT_disabled
330
+ *
331
+ * 策略:循环点击下一页,直到 next 按钮 disabled 或没有新响应。
332
+ * 返回访问过的页数(含第 1 页)。
333
+ */
334
+ async iterateMessagePages() {
335
+ let visited = 1; // 当前已经在第 1 页
336
+ while (visited < maxMsgPages) {
337
+ // 检查右侧分页器是否存在 + 下一页是否可用
338
+ const status = await this.page.evaluate(() => {
339
+ const footer = document.querySelector('.table-section-right-footer');
340
+ if (!footer)
341
+ return { exists: false, disabled: true };
342
+ const next = footer.querySelector('[class*="PGT_next"]');
343
+ if (!next)
344
+ return { exists: false, disabled: true };
345
+ const cls = next.className || '';
346
+ const ariaDisabled = next.getAttribute('aria-disabled');
347
+ const r = next.getBoundingClientRect();
348
+ return {
349
+ exists: r.width > 0 && r.height > 0,
350
+ disabled: /PGT_disabled|disabled/.test(cls) || ariaDisabled === 'true',
351
+ };
352
+ });
353
+ if (!status.exists || status.disabled)
354
+ break;
355
+ // 点击下一页
356
+ const baseline = this.currentResponseCount;
357
+ const clicked = await this.page.evaluate(() => {
358
+ const footer = document.querySelector('.table-section-right-footer');
359
+ if (!footer)
360
+ return false;
361
+ const next = footer.querySelector('[class*="PGT_next"]');
362
+ if (!next)
363
+ return false;
364
+ next.click();
365
+ return true;
366
+ });
367
+ if (!clicked)
368
+ break;
369
+ // 等响应
370
+ const got = await this.waitForResponseSince(baseline, 8000);
371
+ if (!got) {
372
+ // 如果没新响应(可能数据已缓存或异常),仍然让 visited++ 但只重试 1 次
373
+ console.log(` ⚠️ 第 ${visited + 1} 页消息无响应,停止该账号翻页`);
374
+ break;
375
+ }
376
+ visited++;
377
+ console.log(` 📄 已翻到消息第 ${visited} 页`);
378
+ await this.page.waitForTimeout(delayMs);
379
+ }
380
+ if (visited >= maxMsgPages) {
381
+ console.log(` ⚠️ 该账号达到消息分页上限 ${maxMsgPages},停止翻页`);
382
+ }
383
+ return visited;
384
+ }
385
+ // ========== API 拦截 ==========
386
+ async setupApiIntercept() {
387
+ await this.page.route(`**${API_PATTERN}*`, async (route) => {
388
+ const response = await route.fetch();
389
+ const body = await response.text();
390
+ try {
391
+ const data = JSON.parse(body);
392
+ const messages = this.extractMessages(data);
393
+ for (const m of messages) {
394
+ const id = this.getMessageId(m);
395
+ if (id && !this.currentMessages.has(id)) {
396
+ this.currentMessages.set(id, m);
397
+ }
398
+ }
399
+ this.currentResponseCount++;
400
+ if (messages.length > 0) {
401
+ console.log(` 📡 +${messages.length} 条消息 (累计 ${this.currentMessages.size})`);
402
+ }
403
+ }
404
+ catch (e) {
405
+ console.log(` ⚠️ 解析响应失败: ${e.message?.split('\n')[0]}`);
406
+ }
407
+ await route.fulfill({ response });
408
+ });
409
+ }
410
+ /** 等待至少一次新的 getMessages 响应 */
411
+ async waitForResponse(timeout) {
412
+ return this.waitForResponseSince(this.currentResponseCount, timeout);
413
+ }
414
+ /** 从指定 baseline 等待新响应 */
415
+ async waitForResponseSince(baseline, timeout) {
416
+ const start = Date.now();
417
+ while (Date.now() - start < timeout) {
418
+ if (this.currentResponseCount > baseline) {
419
+ await this.page.waitForTimeout(300); // 等数据落地
420
+ return true;
421
+ }
422
+ await this.page.waitForTimeout(150);
423
+ }
424
+ return false;
425
+ }
426
+ // ========== 响应解析 ==========
427
+ extractMessages(data) {
428
+ const paths = [
429
+ data?.result?.messages,
430
+ data?.result?.list,
431
+ data?.result?.data,
432
+ data?.result?.message_list,
433
+ data?.result?.records,
434
+ data?.result?.msg_list,
435
+ data?.data?.messages,
436
+ data?.data?.list,
437
+ data?.data?.message_list,
438
+ data?.messages,
439
+ data?.list,
440
+ ];
441
+ for (const p of paths) {
442
+ if (Array.isArray(p) && p.length > 0)
443
+ return p;
444
+ }
445
+ return this.findMessageArray(data, 0);
446
+ }
447
+ findMessageArray(obj, depth) {
448
+ if (depth > 6 || !obj || typeof obj !== 'object')
449
+ return [];
450
+ if (Array.isArray(obj) && obj.length > 0 && this.looksLikeMessages(obj))
451
+ return obj;
452
+ for (const val of Object.values(obj)) {
453
+ if (Array.isArray(val) && val.length > 0 && this.looksLikeMessages(val)) {
454
+ return val;
455
+ }
456
+ }
457
+ for (const val of Object.values(obj)) {
458
+ if (val && typeof val === 'object' && !Array.isArray(val)) {
459
+ const found = this.findMessageArray(val, depth + 1);
460
+ if (found.length > 0)
461
+ return found;
462
+ }
463
+ }
464
+ return [];
465
+ }
466
+ looksLikeMessages(arr) {
467
+ const sample = arr[0];
468
+ if (!sample || typeof sample !== 'object')
469
+ return false;
470
+ return (sample.msg_id !== undefined ||
471
+ sample.message_id !== undefined ||
472
+ sample.msgId !== undefined ||
473
+ sample.id !== undefined ||
474
+ sample.content !== undefined ||
475
+ sample.from !== undefined ||
476
+ sample.ts !== undefined);
477
+ }
478
+ getMessageId(m) {
479
+ return String(m?.msg_id ?? m?.message_id ?? m?.msgId ?? m?.id ?? m?.seq ?? m?.sequence ??
480
+ `auto_${JSON.stringify(m).slice(0, 200)}`);
481
+ }
482
+ // ========== 持久化 ==========
483
+ saveResults() {
484
+ const data = {
485
+ collectTime: new Date().toISOString(),
486
+ totalAccounts: this.results.length,
487
+ totalMessages: this.results.reduce((s, r) => s + r.messages.length, 0),
488
+ accounts: this.results,
489
+ };
490
+ fs.writeFileSync(this.outputFile, JSON.stringify(data, null, 2));
491
+ }
492
+ }
493
+ // ========== 启动 ==========
494
+ const collector = new PddHistoryCollector();
495
+ collector.run().catch((err) => {
496
+ console.error('采集出错:', err);
497
+ process.exit(1);
498
+ });
499
+ //# sourceMappingURL=pdd-history-collect.js.map
@@ -16,9 +16,10 @@ export declare class BenchmarkCollector {
16
16
  private processing;
17
17
  private queueDone;
18
18
  private queueDoneResolve;
19
+ private userChatSelector?;
19
20
  private chatSelector?;
20
21
  private lastConversationHash;
21
- private chatDetectionLogged;
22
+ private lastDetectionKey;
22
23
  private chatApiPattern?;
23
24
  private apiCapture?;
24
25
  private lastHistoryFileName?;
@@ -45,6 +46,11 @@ export declare class BenchmarkCollector {
45
46
  }>;
46
47
  /** 手动触发一次采集 */
47
48
  manualCapture(actionName: string, detail?: string): Promise<void>;
49
+ /**
50
+ * 根据当前 URL 重新匹配 chat-selector 并更新 this.chatSelector。
51
+ * 用户已显式指定 --chat-selector 时不覆盖。
52
+ */
53
+ private refreshChatSelector;
48
54
  /**
49
55
  * 按 URL 提取并注入 Cookie。
50
56
  * 自动去重:同一根域名只提取一次(避免重复调用 Python 脚本)。
@@ -76,7 +76,7 @@ class BenchmarkCollector {
76
76
  this.queueDone = Promise.resolve();
77
77
  this.queueDoneResolve = null;
78
78
  this.lastConversationHash = '';
79
- this.chatDetectionLogged = false;
79
+ this.lastDetectionKey = ''; // 上次输出的检测日志 key(method+selector),变化时重新打印
80
80
  // 是否注入 Cookie(默认关闭,--cookie 开启)
81
81
  this.injectCookie = false;
82
82
  // 已注入过 Cookie 的域名集合(避免重复提取)
@@ -90,8 +90,11 @@ class BenchmarkCollector {
90
90
  this.mediaUrlToFile = new Map();
91
91
  this.lastSaveTime = 0;
92
92
  this.savePending = false;
93
- // 优先使用用户指定的 chatSelector,否则根据 URL 自动匹配平台预设
94
- this.chatSelector = options?.chatSelector || matchChatSelector(startUrl);
93
+ // 记录用户显式指定的 chatSelector(--chat-selector 参数)
94
+ this.userChatSelector = options?.chatSelector;
95
+ // 优先使用用户指定的 chatSelector,否则根据 startUrl 自动匹配平台预设
96
+ // 注意:未指定时,后续会随导航的 URL 动态更新(见 refreshChatSelector)
97
+ this.chatSelector = this.userChatSelector || matchChatSelector(startUrl);
95
98
  this.chatApiPattern = options?.chatApiPattern;
96
99
  this.injectCookie = options?.cookie ?? false;
97
100
  this.enableTrace = options?.trace ?? false;
@@ -184,6 +187,15 @@ class BenchmarkCollector {
184
187
  console.log(` 模式: 自动注入 Cookie`);
185
188
  if (this.chatApiPattern)
186
189
  console.log(` 对话接口: 监听匹配 "${this.chatApiPattern}" 的 API 响应`);
190
+ if (this.userChatSelector) {
191
+ console.log(` 对话选择器: ${this.userChatSelector} (用户指定)`);
192
+ }
193
+ else if (this.chatSelector) {
194
+ console.log(` 对话选择器: ${this.chatSelector} (按 startUrl 自动匹配)`);
195
+ }
196
+ else {
197
+ console.log(` 对话选择器: 未匹配,将随导航 URL 动态切换或使用评分检测`);
198
+ }
187
199
  console.log(` 按 Ctrl+C 结束采集\n`);
188
200
  let browserDisconnected = false;
189
201
  await new Promise((resolve) => {
@@ -226,6 +238,26 @@ class BenchmarkCollector {
226
238
  });
227
239
  await this.waitForQueueDrain();
228
240
  }
241
+ /**
242
+ * 根据当前 URL 重新匹配 chat-selector 并更新 this.chatSelector。
243
+ * 用户已显式指定 --chat-selector 时不覆盖。
244
+ */
245
+ refreshChatSelector(url) {
246
+ if (this.userChatSelector)
247
+ return;
248
+ const matched = matchChatSelector(url);
249
+ if (matched && matched !== this.chatSelector) {
250
+ console.log(` 💬 Chat selector 切换: ${matched} (URL: ${url})`);
251
+ this.chatSelector = matched;
252
+ this.lastDetectionKey = ''; // 允许下次采集时重新输出诊断
253
+ }
254
+ else if (!matched && this.chatSelector && this.chatSelector !== matchChatSelector(this.startUrl)) {
255
+ // 离开映射平台到非映射页面时清空,避免使用过期 selector
256
+ console.log(` 💬 Chat selector 重置 (URL: ${url} 无匹配)`);
257
+ this.chatSelector = undefined;
258
+ this.lastDetectionKey = '';
259
+ }
260
+ }
229
261
  // ========== Cookie 注入 ==========
230
262
  /**
231
263
  * 按 URL 提取并注入 Cookie。
@@ -488,6 +520,8 @@ class BenchmarkCollector {
488
520
  if (newUrl && newUrl !== lastUrl && newUrl !== 'about:blank') {
489
521
  // 跨域时自动注入新域名的 Cookie(异步,不阻塞录制)
490
522
  this.injectCookiesForUrl(newUrl).catch(() => { });
523
+ // 根据新 URL 动态更新 chat-selector
524
+ this.refreshChatSelector(newUrl);
491
525
  const code = `await page.goto('${newUrl}');`;
492
526
  this.allCodeLines.push(code);
493
527
  this.enqueueCapture({
@@ -508,6 +542,7 @@ class BenchmarkCollector {
508
542
  // 新页面可能是不同域名,自动注入 Cookie
509
543
  if (url && url !== 'about:blank') {
510
544
  this.injectCookiesForUrl(url).catch(() => { });
545
+ this.refreshChatSelector(url);
511
546
  }
512
547
  // 记录新 tab 打开事件
513
548
  const code = `// New page opened: ${url}`;
@@ -848,9 +883,9 @@ class BenchmarkCollector {
848
883
  // 模式 A:API 拦截 — 累积写入 history.json
849
884
  const apiMessages = this.apiCapture.getMessages();
850
885
  const diag = this.apiCapture.getDiagnostics();
851
- if (!this.chatDetectionLogged) {
886
+ if (this.lastDetectionKey !== 'api') {
852
887
  console.log(` 💬 对话来源: API 拦截 (${diag.responseCount} 次响应, ${apiMessages.length} 条消息)`);
853
- this.chatDetectionLogged = true;
888
+ this.lastDetectionKey = 'api';
854
889
  }
855
890
  // 基于消息内容哈希判断是否有变化
856
891
  const contentKey = apiMessages
@@ -877,24 +912,32 @@ class BenchmarkCollector {
877
912
  }
878
913
  else {
879
914
  // 模式 B:DOM 检测(从页面元素提取)
880
- const convJson = await this.cdpEval(cdp, (0, conversation_capture_1.getConversationScript)(this.chatSelector));
915
+ // 兜底:实时 URL 优先,避免 framenavigated 未触发或时序问题导致 selector 过期
916
+ if (!this.userChatSelector) {
917
+ this.refreshChatSelector(page.url());
918
+ }
919
+ const effectiveSelector = this.userChatSelector || this.chatSelector;
920
+ const convJson = await this.cdpEval(cdp, (0, conversation_capture_1.getConversationScript)(effectiveSelector));
881
921
  const convData = JSON.parse(convJson);
882
- // 首次成功检测时输出诊断信息
883
- if (convData._detection && !this.chatDetectionLogged) {
922
+ // 检测方法/选择器变化时输出诊断(key 变化即重新打印)
923
+ if (convData._detection) {
884
924
  const d = convData._detection;
885
- if (d.method === 'scored') {
886
- console.log(` 💬 对话容器: ${d.containerSelector} (score: ${d.score}, 候选: ${d.candidateCount})`);
887
- }
888
- else if (d.method === 'cached') {
889
- console.log(` 💬 对话容器: ${d.containerSelector} (cached)`);
890
- }
891
- else if (d.method === 'selector') {
892
- console.log(` 💬 对话容器: ${d.containerSelector} (用户指定)`);
893
- }
894
- else if (d.method === 'none') {
895
- console.log(` 💬 未检测到对话容器 (候选: ${d.candidateCount}, 最高分: ${d.score})`);
925
+ const key = `${d.method}|${d.containerSelector}`;
926
+ if (key !== this.lastDetectionKey) {
927
+ if (d.method === 'scored') {
928
+ console.log(` 💬 对话容器: ${d.containerSelector} (score: ${d.score}, 候选: ${d.candidateCount})`);
929
+ }
930
+ else if (d.method === 'cached') {
931
+ console.log(` 💬 对话容器: ${d.containerSelector} (cached)`);
932
+ }
933
+ else if (d.method === 'selector') {
934
+ console.log(` 💬 对话容器: ${d.containerSelector} (用户指定/平台匹配)`);
935
+ }
936
+ else if (d.method === 'none') {
937
+ console.log(` 💬 未检测到对话容器 (候选: ${d.candidateCount}, 最高分: ${d.score})`);
938
+ }
939
+ this.lastDetectionKey = key;
896
940
  }
897
- this.chatDetectionLogged = true;
898
941
  }
899
942
  if (convData.messageCount > 0) {
900
943
  const contentKey = convData.messages
@@ -1 +1 @@
1
- {"version":3,"file":"collector.js","sourceRoot":"","sources":["../../src/collector.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"collector.js","sourceRoot":"","sources":["../../src/collector.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "benchmark-collector",
3
- "version": "1.5.1",
3
+ "version": "1.6.0",
4
4
  "description": "Playwright-based benchmark data collector for web agent training",
5
5
  "main": "dist/src/index.js",
6
6
  "types": "dist/src/index.d.ts",
@@ -18,6 +18,8 @@
18
18
  ],
19
19
  "scripts": {
20
20
  "collect": "ts-node scripts/collect.ts",
21
+ "feige-history": "ts-node scripts/feige-history-collect.ts",
22
+ "pdd-history": "ts-node scripts/pdd-history-collect.ts",
21
23
  "build": "tsc",
22
24
  "prepublishOnly": "npm run build",
23
25
  "postinstall": "node dist/scripts/postinstall.js",