@joohw/boss-cli 0.3.5 → 0.4.1

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.
Files changed (113) hide show
  1. package/README.md +11 -14
  2. package/dist/browser/agent_operating_indicator.js +51 -51
  3. package/dist/browser/human_delay.d.ts +2 -0
  4. package/dist/browser/human_delay.d.ts.map +1 -1
  5. package/dist/browser/human_delay.js +4 -0
  6. package/dist/browser/human_delay.js.map +1 -1
  7. package/dist/cli/cliRouter.js +10 -10
  8. package/dist/cli/cliRouter.js.map +1 -1
  9. package/dist/common/auth.js +49 -49
  10. package/dist/common/boss_paywall_popup.js +87 -87
  11. package/dist/common/boss_session_lock.d.ts +2 -0
  12. package/dist/common/boss_session_lock.d.ts.map +1 -0
  13. package/dist/common/boss_session_lock.js +127 -0
  14. package/dist/common/boss_session_lock.js.map +1 -0
  15. package/dist/common/boss_session_page.d.ts +2 -2
  16. package/dist/common/boss_session_page.d.ts.map +1 -1
  17. package/dist/common/boss_session_page.js +66 -74
  18. package/dist/common/boss_session_page.js.map +1 -1
  19. package/dist/common/boss_sidebar_nav.js +25 -26
  20. package/dist/common/boss_sidebar_nav.js.map +1 -1
  21. package/dist/common/c_resume_capture.d.ts +1 -0
  22. package/dist/common/c_resume_capture.d.ts.map +1 -1
  23. package/dist/common/c_resume_capture.js +69 -32
  24. package/dist/common/c_resume_capture.js.map +1 -1
  25. package/dist/ocr/resume_ocr.d.ts.map +1 -1
  26. package/dist/ocr/resume_ocr.js +4 -1
  27. package/dist/ocr/resume_ocr.js.map +1 -1
  28. package/dist/toolset/action.d.ts.map +1 -1
  29. package/dist/toolset/action.js +11 -7
  30. package/dist/toolset/action.js.map +1 -1
  31. package/dist/toolset/chat.d.ts.map +1 -1
  32. package/dist/toolset/chat.js +246 -230
  33. package/dist/toolset/chat.js.map +1 -1
  34. package/dist/toolset/deep-search.d.ts +1 -1
  35. package/dist/toolset/deep-search.d.ts.map +1 -1
  36. package/dist/toolset/deep-search.js +291 -281
  37. package/dist/toolset/deep-search.js.map +1 -1
  38. package/dist/toolset/greet.d.ts.map +1 -1
  39. package/dist/toolset/greet.js +2 -7
  40. package/dist/toolset/greet.js.map +1 -1
  41. package/dist/toolset/jd.d.ts.map +1 -1
  42. package/dist/toolset/jd.js +134 -142
  43. package/dist/toolset/jd.js.map +1 -1
  44. package/dist/toolset/list.d.ts.map +1 -1
  45. package/dist/toolset/list.js +52 -45
  46. package/dist/toolset/list.js.map +1 -1
  47. package/dist/toolset/preview.d.ts.map +1 -1
  48. package/dist/toolset/preview.js +7 -9
  49. package/dist/toolset/preview.js.map +1 -1
  50. package/dist/toolset/recommend.d.ts +1 -1
  51. package/dist/toolset/recommend.d.ts.map +1 -1
  52. package/dist/toolset/recommend.js +223 -210
  53. package/dist/toolset/recommend.js.map +1 -1
  54. package/dist/toolset/send.d.ts.map +1 -1
  55. package/dist/toolset/send.js +6 -9
  56. package/dist/toolset/send.js.map +1 -1
  57. package/package.json +65 -63
  58. package/dist/browser/auth.d.ts +0 -33
  59. package/dist/browser/auth.d.ts.map +0 -1
  60. package/dist/browser/auth.js +0 -137
  61. package/dist/browser/auth.js.map +0 -1
  62. package/dist/browser/c_resume_capture.d.ts +0 -11
  63. package/dist/browser/c_resume_capture.d.ts.map +0 -1
  64. package/dist/browser/c_resume_capture.js +0 -76
  65. package/dist/browser/c_resume_capture.js.map +0 -1
  66. package/dist/browser/chat.d.ts +0 -7
  67. package/dist/browser/chat.d.ts.map +0 -1
  68. package/dist/browser/chat.js +0 -155
  69. package/dist/browser/chat.js.map +0 -1
  70. package/dist/browser/withLoggedInPage.d.ts +0 -7
  71. package/dist/browser/withLoggedInPage.d.ts.map +0 -1
  72. package/dist/browser/withLoggedInPage.js +0 -19
  73. package/dist/browser/withLoggedInPage.js.map +0 -1
  74. package/dist/facebook-cli/index.d.ts +0 -2
  75. package/dist/facebook-cli/index.d.ts.map +0 -1
  76. package/dist/facebook-cli/index.js +0 -2
  77. package/dist/facebook-cli/index.js.map +0 -1
  78. package/dist/toolset/c_resume_capture.d.ts +0 -11
  79. package/dist/toolset/c_resume_capture.d.ts.map +0 -1
  80. package/dist/toolset/c_resume_capture.js +0 -76
  81. package/dist/toolset/c_resume_capture.js.map +0 -1
  82. package/dist/toolset/chat_action.d.ts +0 -7
  83. package/dist/toolset/chat_action.d.ts.map +0 -1
  84. package/dist/toolset/chat_action.js +0 -355
  85. package/dist/toolset/chat_action.js.map +0 -1
  86. package/dist/toolset/list_candidates.d.ts +0 -4
  87. package/dist/toolset/list_candidates.d.ts.map +0 -1
  88. package/dist/toolset/list_candidates.js +0 -120
  89. package/dist/toolset/list_candidates.js.map +0 -1
  90. package/dist/toolset/list_positions.d.ts +0 -9
  91. package/dist/toolset/list_positions.d.ts.map +0 -1
  92. package/dist/toolset/list_positions.js +0 -41
  93. package/dist/toolset/list_positions.js.map +0 -1
  94. package/dist/toolset/open_chat.d.ts +0 -3
  95. package/dist/toolset/open_chat.d.ts.map +0 -1
  96. package/dist/toolset/open_chat.js +0 -423
  97. package/dist/toolset/open_chat.js.map +0 -1
  98. package/dist/toolset/recommend_greet.d.ts +0 -2
  99. package/dist/toolset/recommend_greet.d.ts.map +0 -1
  100. package/dist/toolset/recommend_greet.js +0 -27
  101. package/dist/toolset/recommend_greet.js.map +0 -1
  102. package/dist/toolset/search.d.ts +0 -24
  103. package/dist/toolset/search.d.ts.map +0 -1
  104. package/dist/toolset/search.js +0 -682
  105. package/dist/toolset/search.js.map +0 -1
  106. package/dist/toolset/send_message.d.ts +0 -12
  107. package/dist/toolset/send_message.d.ts.map +0 -1
  108. package/dist/toolset/send_message.js +0 -214
  109. package/dist/toolset/send_message.js.map +0 -1
  110. package/dist/toolset/skill.d.ts +0 -13
  111. package/dist/toolset/skill.d.ts.map +0 -1
  112. package/dist/toolset/skill.js +0 -85
  113. package/dist/toolset/skill.js.map +0 -1
@@ -1,4 +1,4 @@
1
- import { CHAT_HISTORY_DIALOG_WAIT_MS, CHAT_HISTORY_TAB_SWITCH_MS, MOUSE_CLICK_PRESS_MS, OPEN_CHAT_AFTER_ROW_CLICK_MS, OPEN_CHAT_SCROLL_GAP_MS, randomIntInclusive, sleepRandom, } from '../browser/index.js';
1
+ import { OPEN_CHAT_SCROLL_GAP_MS, sleepRandom } from '../browser/index.js';
2
2
  import { isBossChatIndexUrl } from '../common/auth.js';
3
3
  import { ensureChatIndexAllFilter } from './list.js';
4
4
  function chatRoleTag(from) {
@@ -13,84 +13,101 @@ function chatRoleTag(from) {
13
13
  return '[unknown]';
14
14
  }
15
15
  }
16
+ async function waitForChatHistoryPanelReady(page, selectedTab) {
17
+ await page.waitForFunction(`((tabLabel) => {
18
+ function norm(v) {
19
+ return (v ?? "").replace(/\\s+/g, " ").trim();
20
+ }
21
+ function isVisible(el) {
22
+ if (!el) return false;
23
+ const rect = el.getBoundingClientRect();
24
+ const style = window.getComputedStyle(el);
25
+ return rect.width > 0 && rect.height > 0 && style.visibility !== "hidden" && style.display !== "none";
26
+ }
27
+ const root = document.querySelector(".chat-history-process");
28
+ if (!isVisible(root)) return false;
29
+ if (tabLabel) {
30
+ const selected = root.querySelector(".tab-hd span.selected");
31
+ if (norm(selected?.textContent) !== tabLabel) return false;
32
+ }
33
+ return !!root.querySelector(".record");
34
+ })`, { timeout: 8_000 }, selectedTab ?? null);
35
+ }
16
36
  /**
17
37
  * 打开「沟通记录」弹窗,依次读取「同事沟通」「我的沟通」列表,关闭弹窗。
18
38
  * 未找到入口时返回 null(视为暂无同事沟通记录,不输出该段)。
19
39
  */
20
40
  async function fetchColleagueChatHistorySection(page) {
21
- const clicked = await page.evaluate(() => {
22
- function norm(v) {
23
- return (v ?? '').replace(/\s+/g, ' ').trim();
24
- }
25
- const tooltips = Array.from(document.querySelectorAll('.chat-tooltip-custom'));
26
- for (const el of tooltips) {
27
- if (!norm(el.textContent).includes('沟通记录'))
28
- continue;
29
- const host = el.closest('span.icon') ?? el.closest('span') ?? el.parentElement;
30
- if (host) {
31
- host.click();
32
- return true;
33
- }
34
- el.click();
35
- return true;
36
- }
37
- const uses = Array.from(document.querySelectorAll('use'));
38
- for (const u of uses) {
39
- const h = u.getAttribute('href') ||
40
- u.getAttributeNS('http://www.w3.org/1999/xlink', 'href') ||
41
- '';
42
- if (h.includes('icon-chat-history')) {
43
- const p = u.closest('span.icon') ?? u.parentElement?.parentElement;
44
- if (p) {
45
- p.click();
46
- return true;
47
- }
48
- }
41
+ const clicked = (await page.evaluate(`(() => {
42
+ function norm(v) {
43
+ return (v ?? "").replace(/\\s+/g, " ").trim();
44
+ }
45
+ const tooltips = Array.from(document.querySelectorAll(".chat-tooltip-custom"));
46
+ for (const el of tooltips) {
47
+ if (!norm(el.textContent).includes("沟通记录")) continue;
48
+ const host = el.closest("span.icon") ?? el.closest("span") ?? el.parentElement;
49
+ if (host) {
50
+ host.click();
51
+ return true;
52
+ }
53
+ el.click();
54
+ return true;
55
+ }
56
+ const uses = Array.from(document.querySelectorAll("use"));
57
+ for (const u of uses) {
58
+ const h =
59
+ u.getAttribute("href") ||
60
+ u.getAttributeNS("http://www.w3.org/1999/xlink", "href") ||
61
+ "";
62
+ if (h.includes("icon-chat-history")) {
63
+ const p = u.closest("span.icon") ?? u.parentElement?.parentElement;
64
+ if (p) {
65
+ p.click();
66
+ return true;
49
67
  }
50
- return false;
51
- });
68
+ }
69
+ }
70
+ return false;
71
+ })()`));
52
72
  if (!clicked) {
53
73
  return null;
54
74
  }
55
75
  try {
56
- await page.waitForSelector('.boss-dialog__body .chat-history-process', { timeout: 12_000 });
76
+ await waitForChatHistoryPanelReady(page);
57
77
  }
58
78
  catch {
59
79
  return '(已点击「沟通记录」,但弹窗未在预期时间内出现。)';
60
80
  }
61
- await sleepRandom(CHAT_HISTORY_DIALOG_WAIT_MS.min, CHAT_HISTORY_DIALOG_WAIT_MS.max);
62
- const scrapeRows = () => page.evaluate(() => {
63
- function norm(v) {
64
- return (v ?? '').replace(/\s+/g, ' ').trim();
65
- }
66
- const root = document.querySelector('.chat-history-process');
67
- if (!root)
68
- return [];
69
- return Array.from(root.querySelectorAll('.record li'))
70
- .map((li) => ({
71
- action: norm(li.querySelector('.action')?.textContent),
72
- operat: norm(li.querySelector('.operat')?.textContent),
81
+ const scrapeRows = () => page.evaluate(`(() => {
82
+ function norm(v) {
83
+ return (v ?? "").replace(/\\s+/g, " ").trim();
84
+ }
85
+ const root = document.querySelector(".chat-history-process");
86
+ if (!root) return [];
87
+ return Array.from(root.querySelectorAll(".record li"))
88
+ .map((li) => ({
89
+ action: norm(li.querySelector(".action")?.textContent),
90
+ operat: norm(li.querySelector(".operat")?.textContent),
73
91
  }))
74
- .filter((x) => x.action || x.operat);
75
- });
76
- const clickTab = (label) => page.evaluate((lab) => {
92
+ .filter((x) => x.action || x.operat);
93
+ })()`);
94
+ const clickTab = (label) => page.evaluate(`((lab) => {
77
95
  function norm(v) {
78
- return (v ?? '').replace(/\s+/g, ' ').trim();
96
+ return (v ?? "").replace(/\\s+/g, " ").trim();
79
97
  }
80
- const root = document.querySelector('.chat-history-process');
81
- if (!root)
82
- return;
83
- const spans = Array.from(root.querySelectorAll('.tab-hd span'));
98
+ const root = document.querySelector(".chat-history-process");
99
+ if (!root) return;
100
+ const spans = Array.from(root.querySelectorAll(".tab-hd span"));
84
101
  const sp = spans.find((s) => norm(s.textContent) === lab);
85
- if (sp && !sp.classList.contains('selected')) {
86
- sp.click();
102
+ if (sp && !sp.classList.contains("selected")) {
103
+ sp.click();
87
104
  }
88
- }, label);
105
+ })`, label);
89
106
  await clickTab('同事沟通');
90
- await sleepRandom(CHAT_HISTORY_TAB_SWITCH_MS.min, CHAT_HISTORY_TAB_SWITCH_MS.max);
107
+ await waitForChatHistoryPanelReady(page, '同事沟通');
91
108
  const rowsColleague = await scrapeRows();
92
109
  await clickTab('我的沟通');
93
- await sleepRandom(CHAT_HISTORY_TAB_SWITCH_MS.min, CHAT_HISTORY_TAB_SWITCH_MS.max);
110
+ await waitForChatHistoryPanelReady(page, '我的沟通');
94
111
  const rowsMine = await scrapeRows();
95
112
  const fmt = (label, rows) => {
96
113
  const lines = [`[${label}]`];
@@ -121,12 +138,7 @@ export async function runGetCommunicationHistory(page) {
121
138
  throw new Error('请先打开候选人聊天详情页,再执行“沟通记录”操作。');
122
139
  }
123
140
  let historyBlock = null;
124
- try {
125
- historyBlock = await fetchColleagueChatHistorySection(page);
126
- }
127
- catch {
128
- historyBlock = null;
129
- }
141
+ historyBlock = await fetchColleagueChatHistorySection(page);
130
142
  if (historyBlock === null) {
131
143
  return '未找到「沟通记录」入口,或当前候选人暂无可读取记录。';
132
144
  }
@@ -150,65 +162,84 @@ async function closeChatHistoryPopup(page) {
150
162
  await btn.click();
151
163
  }
152
164
  else {
153
- await page.evaluate(() => {
154
- const root = document.querySelector('.boss-popup__wrapper.chat-history') ||
155
- document.querySelector('.boss-dialog__wrapper.chat-history');
156
- const c = root?.querySelector('.boss-popup__close') ?? document.querySelector('.boss-popup__close');
157
- if (c) {
158
- c.click();
159
- }
160
- });
165
+ await page.evaluate(`(() => {
166
+ const root =
167
+ document.querySelector(".boss-popup__wrapper.chat-history") ||
168
+ document.querySelector(".boss-dialog__wrapper.chat-history");
169
+ const c = root?.querySelector(".boss-popup__close") ?? document.querySelector(".boss-popup__close");
170
+ if (c) {
171
+ c.click();
161
172
  }
162
- await sleepRandom(250, 550);
163
- const popupWrap = await page.$('.boss-popup__wrapper.chat-history');
173
+ })()`);
174
+ }
175
+ await page.waitForFunction(`(() => {
176
+ const roots = Array.from(document.querySelectorAll(".boss-popup__wrapper.chat-history, .boss-dialog__wrapper.chat-history"));
177
+ return roots.every((el) => {
178
+ if (!(el instanceof HTMLElement)) return true;
179
+ const st = window.getComputedStyle(el);
180
+ const r = el.getBoundingClientRect();
181
+ return st.display === "none" || st.visibility === "hidden" || r.width <= 0 || r.height <= 0;
182
+ });
183
+ })()`, { timeout: 2_000 }).catch(() => { });
184
+ const popupWrap = await page.$('.boss-popup__wrapper.chat-history, .boss-dialog__wrapper.chat-history');
164
185
  if (popupWrap) {
165
- await page.evaluate(() => {
166
- const root = document.querySelector('.boss-popup__wrapper.chat-history') ||
167
- document.querySelector('.boss-dialog__wrapper.chat-history');
168
- const c = root?.querySelector('.boss-popup__close') ?? document.querySelector('.boss-popup__close');
169
- c?.click();
170
- });
171
- await sleepRandom(150, 350);
186
+ await page.evaluate(`(() => {
187
+ const root =
188
+ document.querySelector(".boss-popup__wrapper.chat-history") ||
189
+ document.querySelector(".boss-dialog__wrapper.chat-history");
190
+ const c = root?.querySelector(".boss-popup__close") ?? document.querySelector(".boss-popup__close");
191
+ c?.click();
192
+ })()`);
193
+ await page.waitForFunction(`(() => {
194
+ const roots = Array.from(document.querySelectorAll(".boss-popup__wrapper.chat-history, .boss-dialog__wrapper.chat-history"));
195
+ return roots.every((el) => {
196
+ if (!(el instanceof HTMLElement)) return true;
197
+ const st = window.getComputedStyle(el);
198
+ const r = el.getBoundingClientRect();
199
+ return st.display === "none" || st.visibility === "hidden" || r.width <= 0 || r.height <= 0;
200
+ });
201
+ })()`, { timeout: 1_500 }).catch(() => { });
172
202
  }
173
203
  }
174
- catch {
175
- /* ignore */
204
+ catch (err) {
205
+ const msg = err instanceof Error ? err.message : String(err);
206
+ throw new Error(`关闭「沟通记录」弹层失败:${msg}`);
176
207
  }
177
208
  }
178
209
  async function fetchCandidateSummary(page) {
179
- const scraped = (await page.evaluate(`(() => {
180
- const norm = (v) => (v ?? "").replace(/\\s+/g, " ").trim();
181
- const root = document.querySelector(".base-info-single-container");
182
- if (!root) {
183
- throw new Error("未找到候选人详情容器(.base-info-single-container)。");
184
- }
185
- const name = norm(root.querySelector(".name-box")?.textContent);
186
- const active = norm(root.querySelector(".high-light-orange.active-time span")?.textContent);
187
- const basicFacts = Array.from(root.querySelectorAll(".base-info-single-detial > div"))
188
- .filter((el) => !el.classList.contains("name-contet") && !el.classList.contains("active-time"))
189
- .map((el) => norm(el.textContent))
190
- .filter((v) => v.length > 0);
191
- const recentExperience = Array.from(
192
- root.querySelectorAll(".experience-content.detail-list .work-content .value"),
193
- )
194
- .map((el) => norm(el.textContent))
195
- .filter((v) => v.length > 0);
196
- const communicationPosition = norm(
197
- root.querySelector(".position-item .position-name")?.textContent,
198
- );
199
- const expectation = norm(root.querySelector(".position-item.expect .value.job")?.textContent);
200
- const remark = norm(
201
- root.querySelector(".label-remark-content .remark span:last-child")?.textContent,
202
- );
203
- return {
204
- name,
205
- active,
206
- basicFacts,
207
- recentExperience,
208
- communicationPosition,
209
- expectation,
210
- remark,
211
- };
210
+ const scraped = (await page.evaluate(`(() => {
211
+ const norm = (v) => (v ?? "").replace(/\\s+/g, " ").trim();
212
+ const root = document.querySelector(".base-info-single-container");
213
+ if (!root) {
214
+ throw new Error("未找到候选人详情容器(.base-info-single-container)。");
215
+ }
216
+ const name = norm(root.querySelector(".name-box")?.textContent);
217
+ const active = norm(root.querySelector(".high-light-orange.active-time span")?.textContent);
218
+ const basicFacts = Array.from(root.querySelectorAll(".base-info-single-detial > div"))
219
+ .filter((el) => !el.classList.contains("name-contet") && !el.classList.contains("active-time"))
220
+ .map((el) => norm(el.textContent))
221
+ .filter((v) => v.length > 0);
222
+ const recentExperience = Array.from(
223
+ root.querySelectorAll(".experience-content.detail-list .work-content .value"),
224
+ )
225
+ .map((el) => norm(el.textContent))
226
+ .filter((v) => v.length > 0);
227
+ const communicationPosition = norm(
228
+ root.querySelector(".position-item .position-name")?.textContent,
229
+ );
230
+ const expectation = norm(root.querySelector(".position-item.expect .value.job")?.textContent);
231
+ const remark = norm(
232
+ root.querySelector(".label-remark-content .remark span:last-child")?.textContent,
233
+ );
234
+ return {
235
+ name,
236
+ active,
237
+ basicFacts,
238
+ recentExperience,
239
+ communicationPosition,
240
+ expectation,
241
+ remark,
242
+ };
212
243
  })()`));
213
244
  return scraped;
214
245
  }
@@ -241,30 +272,30 @@ export async function runOpenCandidateChat(page, candidateName, exact = true) {
241
272
  }
242
273
  if (targetWrap)
243
274
  break;
244
- const scrollState = (await page.evaluate(`(() => {
245
- const first = document.querySelector(".geek-item-wrap");
246
- if (!first) return { moved: false, atEnd: true };
247
- let node = first.parentElement;
248
- let scroller = null;
249
- while (node) {
250
- const style = window.getComputedStyle(node);
251
- const overflowY = style.overflowY;
252
- const canScroll =
253
- (overflowY === "auto" || overflowY === "scroll") &&
254
- node.scrollHeight > node.clientHeight;
255
- if (canScroll) {
256
- scroller = node;
257
- break;
258
- }
259
- node = node.parentElement;
260
- }
261
- if (!scroller) return { moved: false, atEnd: true };
262
- const prev = scroller.scrollTop;
263
- const step = Math.max(160, Math.floor(scroller.clientHeight * 0.8));
264
- scroller.scrollTop = Math.min(scroller.scrollTop + step, scroller.scrollHeight);
265
- const moved = scroller.scrollTop !== prev;
266
- const atEnd = scroller.scrollTop + scroller.clientHeight >= scroller.scrollHeight - 2;
267
- return { moved, atEnd };
275
+ const scrollState = (await page.evaluate(`(() => {
276
+ const first = document.querySelector(".geek-item-wrap");
277
+ if (!first) return { moved: false, atEnd: true };
278
+ let node = first.parentElement;
279
+ let scroller = null;
280
+ while (node) {
281
+ const style = window.getComputedStyle(node);
282
+ const overflowY = style.overflowY;
283
+ const canScroll =
284
+ (overflowY === "auto" || overflowY === "scroll") &&
285
+ node.scrollHeight > node.clientHeight;
286
+ if (canScroll) {
287
+ scroller = node;
288
+ break;
289
+ }
290
+ node = node.parentElement;
291
+ }
292
+ if (!scroller) return { moved: false, atEnd: true };
293
+ const prev = scroller.scrollTop;
294
+ const step = Math.max(160, Math.floor(scroller.clientHeight * 0.8));
295
+ scroller.scrollTop = Math.min(scroller.scrollTop + step, scroller.scrollHeight);
296
+ const moved = scroller.scrollTop !== prev;
297
+ const atEnd = scroller.scrollTop + scroller.clientHeight >= scroller.scrollHeight - 2;
298
+ return { moved, atEnd };
268
299
  })()`));
269
300
  if (!scrollState.moved || scrollState.atEnd) {
270
301
  break;
@@ -274,110 +305,95 @@ export async function runOpenCandidateChat(page, candidateName, exact = true) {
274
305
  if (!targetWrap) {
275
306
  throw new Error(`未在聊天列表中找到候选人:${targetName}`);
276
307
  }
277
- try {
278
- await targetWrap.evaluate((el) => {
279
- const row = el.querySelector('.geek-item') ?? el;
280
- row.scrollIntoView({ behavior: 'instant', block: 'center', inline: 'nearest' });
281
- row.click();
282
- });
283
- }
284
- catch {
285
- const box = await targetWrap.boundingBox();
286
- if (!box) {
287
- throw new Error(`已定位候选人 ${foundName},但元素不可点击。`);
288
- }
289
- await page.mouse.click(box.x + box.width / 2, box.y + box.height / 2, {
290
- delay: randomIntInclusive(MOUSE_CLICK_PRESS_MS.min, MOUSE_CLICK_PRESS_MS.max),
291
- });
292
- }
293
- await sleepRandom(OPEN_CHAT_AFTER_ROW_CLICK_MS.min, OPEN_CHAT_AFTER_ROW_CLICK_MS.max);
294
- const selected = await targetWrap
308
+ await targetWrap.evaluate(`((el) => {
309
+ const row = el.querySelector(".geek-item") ?? el;
310
+ row.scrollIntoView({ behavior: "instant", block: "center", inline: "nearest" });
311
+ row.click();
312
+ })`);
313
+ let selected = await targetWrap
295
314
  .$eval('.geek-item', (el) => el.classList.contains('selected'))
296
315
  .catch(() => false);
297
316
  try {
298
- await page.waitForSelector('.base-info-single-container', { timeout: 12_000 });
299
- await page.waitForFunction(`((name) => {
300
- const text = document.querySelector(".base-info-single-container .name-box")?.textContent ?? "";
301
- return text.replace(/\\s+/g, " ").trim().includes(name);
317
+ await page.waitForFunction(`((name) => {
318
+ const text = document.querySelector(".base-info-single-container .name-box")?.textContent ?? "";
319
+ return text.replace(/\\s+/g, " ").trim().includes(name);
302
320
  })`, { timeout: 12_000 }, foundName || targetName);
303
- await page.waitForFunction(`(() => {
304
- const list = document.querySelector(".chat-message-list");
305
- if (!list) return false;
306
- const items = list.querySelectorAll(".message-item");
307
- if (!items || items.length === 0) return false;
308
- const hasText = Array.from(items).some((item) => {
309
- const txt =
310
- item.querySelector(".item-friend .text span")?.textContent ??
311
- item.querySelector(".item-myself .text span")?.textContent ??
312
- item.querySelector(".item-system .message-card-top-title")?.textContent ??
313
- "";
314
- return txt.replace(/\\s+/g, " ").trim().length > 0;
315
- });
316
- return hasText;
321
+ await page.waitForFunction(`(() => {
322
+ const list = document.querySelector(".chat-message-list");
323
+ if (!list) return false;
324
+ const items = list.querySelectorAll(".message-item");
325
+ if (!items || items.length === 0) return false;
326
+ const hasText = Array.from(items).some((item) => {
327
+ const txt =
328
+ item.querySelector(".item-friend .text span")?.textContent ??
329
+ item.querySelector(".item-myself .text span")?.textContent ??
330
+ item.querySelector(".item-system .message-card-top-title")?.textContent ??
331
+ "";
332
+ return txt.replace(/\\s+/g, " ").trim().length > 0;
333
+ });
334
+ return hasText;
317
335
  })()`, { timeout: 16_000 });
318
336
  }
319
337
  catch {
338
+ selected = await targetWrap
339
+ .$eval('.geek-item', (el) => el.classList.contains('selected'))
340
+ .catch(() => selected);
320
341
  throw new Error(`已尝试点击 ${foundName}(selected=${String(selected)}),但未检测到对应聊天详情面板。`);
321
342
  }
322
343
  let fullMessages = [];
323
344
  let hasFriendResumeAttachment = false;
324
- try {
325
- const scraped = (await page.evaluate(`(() => {
326
- const norm = (v) => (v ?? "").replace(/\\s+/g, " ").trim();
327
- /** Boss 系统里的「消息优先提醒」增值服务条,对业务无意义,过滤掉 */
328
- function isBossPriorityUpsellSystemText(text) {
329
- return norm(text).indexOf("优先提醒") !== -1;
330
- }
331
- const items = Array.from(document.querySelectorAll(".chat-message-list .message-item"));
332
- let currentTime = "";
333
- const messages = [];
334
- let hasFriendResumeAttachment = false;
335
- for (const item of items) {
336
- const timeNode = item.querySelector(".message-time .time");
337
- if (timeNode) {
338
- const t = norm(timeNode.textContent);
339
- if (t) currentTime = t;
340
- }
341
- const friendRoot = item.querySelector(".item-friend");
342
- let friendText = "";
343
- if (friendRoot) {
344
- friendText = norm(friendRoot.querySelector(".text > span")?.textContent);
345
- if (!friendText) {
346
- const resumeIcon = friendRoot.querySelector(".resume-icon");
347
- const title = norm(friendRoot.querySelector(".message-card-top-title")?.textContent);
348
- const cardBtn = norm(friendRoot.querySelector(".message-card-buttons .card-btn")?.textContent);
349
- if (resumeIcon) hasFriendResumeAttachment = true;
350
- if (title || cardBtn) {
351
- const parts = [];
352
- if (title) parts.push(title);
353
- if (cardBtn) parts.push(cardBtn);
354
- friendText = parts.length ? parts.join(" · ") : "";
355
- }
356
- if (!friendText) friendText = norm(friendRoot.querySelector(".text")?.textContent);
357
- }
358
- }
359
- const myselfText = norm(item.querySelector(".item-myself .text span")?.textContent);
360
- const systemText =
361
- norm(item.querySelector(".item-system .message-card-top-title")?.textContent) ||
362
- norm(item.querySelector(".item-system .text span")?.textContent);
363
- if (friendText) {
364
- messages.push({ text: friendText, time: currentTime, from: "friend" });
365
- } else if (myselfText) {
366
- messages.push({ text: myselfText, time: currentTime, from: "myself" });
367
- } else if (systemText) {
368
- if (!isBossPriorityUpsellSystemText(systemText)) {
369
- messages.push({ text: systemText, time: currentTime, from: "system" });
370
- }
371
- }
372
- }
373
- return { messages, hasFriendResumeAttachment };
374
- })()`));
375
- fullMessages = scraped.messages;
376
- hasFriendResumeAttachment = scraped.hasFriendResumeAttachment;
345
+ const scraped = (await page.evaluate(`(() => {
346
+ const norm = (v) => (v ?? "").replace(/\\s+/g, " ").trim();
347
+ /** Boss 系统里的「消息优先提醒」增值服务条,对业务无意义,过滤掉 */
348
+ function isBossPriorityUpsellSystemText(text) {
349
+ return norm(text).indexOf("优先提醒") !== -1;
350
+ }
351
+ const items = Array.from(document.querySelectorAll(".chat-message-list .message-item"));
352
+ let currentTime = "";
353
+ const messages = [];
354
+ let hasFriendResumeAttachment = false;
355
+ for (const item of items) {
356
+ const timeNode = item.querySelector(".message-time .time");
357
+ if (timeNode) {
358
+ const t = norm(timeNode.textContent);
359
+ if (t) currentTime = t;
377
360
  }
378
- catch {
379
- /* 抓取消息失败时仍返回摘要,不刷屏 stderr */
361
+ const friendRoot = item.querySelector(".item-friend");
362
+ let friendText = "";
363
+ if (friendRoot) {
364
+ friendText = norm(friendRoot.querySelector(".text > span")?.textContent);
365
+ if (!friendText) {
366
+ const resumeIcon = friendRoot.querySelector(".resume-icon");
367
+ const title = norm(friendRoot.querySelector(".message-card-top-title")?.textContent);
368
+ const cardBtn = norm(friendRoot.querySelector(".message-card-buttons .card-btn")?.textContent);
369
+ if (resumeIcon) hasFriendResumeAttachment = true;
370
+ if (title || cardBtn) {
371
+ const parts = [];
372
+ if (title) parts.push(title);
373
+ if (cardBtn) parts.push(cardBtn);
374
+ friendText = parts.length ? parts.join(" · ") : "";
375
+ }
376
+ if (!friendText) friendText = norm(friendRoot.querySelector(".text")?.textContent);
377
+ }
378
+ }
379
+ const myselfText = norm(item.querySelector(".item-myself .text span")?.textContent);
380
+ const systemText =
381
+ norm(item.querySelector(".item-system .message-card-top-title")?.textContent) ||
382
+ norm(item.querySelector(".item-system .text span")?.textContent);
383
+ if (friendText) {
384
+ messages.push({ text: friendText, time: currentTime, from: "friend" });
385
+ } else if (myselfText) {
386
+ messages.push({ text: myselfText, time: currentTime, from: "myself" });
387
+ } else if (systemText) {
388
+ if (!isBossPriorityUpsellSystemText(systemText)) {
389
+ messages.push({ text: systemText, time: currentTime, from: "system" });
390
+ }
380
391
  }
392
+ }
393
+ return { messages, hasFriendResumeAttachment };
394
+ })()`));
395
+ fullMessages = scraped.messages;
396
+ hasFriendResumeAttachment = scraped.hasFriendResumeAttachment;
381
397
  const detailLines = fullMessages.map((m) => {
382
398
  const tag = chatRoleTag(m.from);
383
399
  const timePart = m.time ? ` ${m.time}` : '';
@@ -1 +1 @@
1
- {"version":3,"file":"chat.js","sourceRoot":"","sources":["../../src/toolset/chat.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"chat.js","sourceRoot":"","sources":["../../src/toolset/chat.ts"],"names":[],"mappings":"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"}
@@ -12,7 +12,7 @@ export declare function selectAiFormJob(page: Page, keyword: string): Promise<st
12
12
  /** 深度搜索页当前选中的岗位文案(无则「默认」) */
13
13
  export declare function readAiFormSelectedJobLabel(page: Page): Promise<string>;
14
14
  /**
15
- * 在深度搜索(aiform)主文档中按姓名或序号打开在线简历预览(与 {@link clickGreetDeepSearch} 同一卡片集合,排除「继续沟通」)。
15
+ * 在深度搜索(aiform)主文档中按姓名打开在线简历预览(与 {@link clickGreetDeepSearch} 同一卡片集合,排除「继续沟通」)。
16
16
  */
17
17
  export declare function openDeepSearchResumePreview(page: Page, target: string): Promise<boolean>;
18
18
  export declare function readDeepSearchGeekList(page: Page): Promise<DeepSearchGeekItem[]>;
@@ -1 +1 @@
1
- {"version":3,"file":"deep-search.d.ts","sourceRoot":"","sources":["../../src/toolset/deep-search.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAgB3C,MAAM,MAAM,kBAAkB,GAAG;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAWxD;AAkBD,wBAAsB,sBAAsB,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAKtE;AAgvBD,wBAAsB,eAAe,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CA0ElF;AAED,6BAA6B;AAC7B,wBAAsB,0BAA0B,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,CAO5E;AAED;;GAEG;AACH,wBAAsB,2BAA2B,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAkE9F;AAED,wBAAsB,sBAAsB,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,kBAAkB,EAAE,CAAC,CA4BtF;AAED,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,kBAAkB,EAAE,GAAG,MAAM,CAoBxF;AAED,wBAAsB,oBAAoB,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC;IAAE,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC,CAuFnG;AAeD,wBAAsB,gBAAgB,CAAC,IAAI,EAAE;IAC3C,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC5B,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAC;CAC9B,GAAG,OAAO,CAAC,MAAM,CAAC,CAgDlB;AAED,wBAAsB,aAAa,CAAC,IAAI,GAAE;IAAE,UAAU,CAAC,EAAE,MAAM,CAAA;CAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAmCvF"}
1
+ {"version":3,"file":"deep-search.d.ts","sourceRoot":"","sources":["../../src/toolset/deep-search.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAc3C,MAAM,MAAM,kBAAkB,GAAG;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAWxD;AAkBD,wBAAsB,sBAAsB,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAKtE;AAoyBD,wBAAsB,eAAe,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAyElF;AAED,6BAA6B;AAC7B,wBAAsB,0BAA0B,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,CAO5E;AAED;;GAEG;AACH,wBAAsB,2BAA2B,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CA2D9F;AAED,wBAAsB,sBAAsB,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,kBAAkB,EAAE,CAAC,CA4BtF;AAED,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,kBAAkB,EAAE,GAAG,MAAM,CAoBxF;AAED,wBAAsB,oBAAoB,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC;IAAE,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC,CAgFnG;AAeD,wBAAsB,gBAAgB,CAAC,IAAI,EAAE;IAC3C,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC5B,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAC;CAC9B,GAAG,OAAO,CAAC,MAAM,CAAC,CA4ClB;AAED,wBAAsB,aAAa,CAAC,IAAI,GAAE;IAAE,UAAU,CAAC,EAAE,MAAM,CAAA;CAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CA8BvF"}