Commit Graph

851 Commits

Author SHA1 Message Date
rqi14
ee852733b1 Merge origin/master (反检测增强) into master
Brings in 反检测 commits (bf3132a, 076ac37) from origin:
- 验证码 in-loop 等待 + 指纹/行为加固
- 通用浮层启发式自动关闭

Conflict resolution: laodeng/index.js — kept registerNativeSource helper
from upstream merge and combined with origin's enhanced toString hijack
that supports __laodengExtraNativeSources path-based lookups.

Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>
2026-05-10 14:00:27 +01:00
rqi14
d8374093f3 Merge upstream/master into master
Brings in upstream changes (laodeng update, cookie-invalid handling,
read-no-reply reminder, runtimeStorage/stepStatus UI) while preserving
our boss recruiter automation features.

Conflict resolution: RunningOverlay/index.vue — kept our worker-log and
boss-auto-browse-progress handlers; adopted upstream's corrected type
string 'prerequisite-step-by-step-check' (was a doubled typo on our side).

Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>
2026-05-10 13:49:29 +01:00
rqi14
bf3132a74b feat(boss): 招聘端反检测增强 — 验证码 in-loop 等待 + 指纹/行为加固
## 变更汇总

**核心修复**:验证码出现时不再 crash → 关浏览器 → 3 秒重启(连环触发),改为在主循环内等待用户手动完成(最长 5 分钟),完成后无缝继续。

**行为层**(默认开启):
- ghost-cursor fail-fast(防静默降级为裸 page.click())
- 点击落点在按钮中心 60% 区域内随机化 + ~50% 概率 micro-overshoot
- 每次会话启动时初始鼠标位置随机化(三处 launch 全部覆盖)
- 每位候选人处理后做一次 checkpointRiskControl;软风控(风控/操作频繁)和硬验证码均可检测,均走 in-loop 等待

**指纹层**(默认开启):
- Launch args:--lang=zh-CN、--disable-blink-features=AutomationControlled
- Canvas hook marker 名(window.__cct_<random>)每次会话随机,[canvasHook] 日志默认静默
- fillText wrapper 通过 laodeng.registerFakeNativeSource 注册到 toString 伪装表

**指纹层**(可选,默认关):
- boss-recruiter.json advanced.persistProfile:持久化 Chromium profile,BOSS 看到「老设备」
- UI 加「高级反检测(实验性)」开关,IPC 支持保存

**关联修复**(Copilot + internal review 发现):
- RISK_CONTROL 软风控文案覆盖到 detectRiskControl
- window.__canvasCapturedText 直读路径全面迁移:新增 peekCapturedText(不消费的计数查询)、getResumeData 接收 getCapturedText closure
- persistProfile=true 时两处 launch 均跳过 setCookie

新增文件:risk-detector.mjs、launch-options.mjs
不影响应聘端(geek-auto-start-chat-with-boss)。
2026-05-10 20:45:31 +08:00
rqi14
076ac3754b feat(boss): 通用浮层启发式自动关闭,减少手维护 selector
新增 dialog-dismisser.mjs:启发式识别 fixed/高 z-index 浮层,按文本/class/aria 匹配关闭按钮并 click。

接入治理公告、意向沟通、打招呼「知道了」、请求附件简历前等关键点;原硬编码 selector 仅作兜底。
白名单排除 resume-common-dialog / ask-for-resume-confirm / c-resume。

后续 Copilot + Codex review 修复:
- isVisible opacity 改 parseFloat
- 窄选择器优先扫描 + 5000 元素 cap 回退
- safeClickElement 返回 clicked:false + error 字段
- 浮层 click 后无进展检测(连续 2 次 signature 相同则终止)
- 打招呼「知道了」弹窗未出现时返回 GREETING_SENT_DIALOG_NOT_APPEARED 而非误报 OK
2026-05-10 19:48:36 +08:00
geekgeekrun
c4ebdb0882 Merge branch 'feature/ui' 2026-05-02 22:27:32 +08:00
geekgeekrun
f0f01ae317 ui-v0.17.4 ui-v0.17.4 2026-05-02 22:27:05 +08:00
geekgeekrun
9d3408d1f3 adjust rerun interval 2026-05-02 22:21:48 +08:00
geekgeekrun
432ac9c298 remove cookie file when find cookie invalid for gascwb 2026-05-02 22:20:11 +08:00
geekgeekrun
eb90a825a0 update laodeng 2026-05-02 21:31:19 +08:00
rqi14
3aeddd72f7 chore: 兼容 pnpm v10,移除过严的版本上限限制
- 放宽 engines.pnpm 从 >=8.15.9 <9.0.0 至 >=8.15.9
- 添加 pnpm.onlyBuiltDependencies 以满足 pnpm v10 构建脚本审批要求
- 迁移 pnpm-lock.yaml 从格式 v6 到 v9(pnpm v10 自动生成)
- 更新 CLAUDE.md,移除已过时的 proto run pnpm 绕行方案

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-01 07:04:52 +01:00
geekgeekrun
345d75ff98 show dock icon before call enter loginWithCookieAssistant 2026-04-05 15:56:39 +08:00
geekgeekrun
60ac324603 close browser when find bad cookie 2026-04-05 15:31:58 +08:00
geekgeekrun
dd76a856e8 show running overlay when enter config page 2026-04-05 14:44:18 +08:00
geekgeekrun
15e566b343 add stepStatusMapByStepId in runtimeStorage and logic for update related status on ui 2026-04-05 13:47:56 +08:00
geekgeekrun
e09e7ee936 add runtimeStorage 2026-04-05 12:50:51 +08:00
geekgeekrun
6c865252b2 enable main process hot update 2026-04-05 12:29:31 +08:00
geekgeekrun
3db4905cf6 shorten prerequisite-step-by-step-checkstep-by-step-check 2026-04-05 12:25:54 +08:00
geekgeekrun
a7e57c08f6 Merge branch 'master' into feature/ui 2026-04-05 12:25:46 +08:00
geekgeekrun
bf28af126b ui-v0.17.3 ui-v0.17.3 2026-04-03 15:35:32 +08:00
geekgeekrun
09a1b4b918 Merge commit '675f77a408ef5e0bcc95b8825e6c7aff69a5b2d2' 2026-04-03 15:34:31 +08:00
geekgeekrun
9400d2bd6f Merge branch 'feature/ui' 2026-04-03 15:31:19 +08:00
geekgeekrun
6c80147be2 enhance compatibility for page jumped after chat started; regard activeTimeDesc with empty string as 半年前活跃 2026-04-03 15:27:33 +08:00
rqi14
91b741394b Merge pull request #1 from rqi14/feature/login
Feature/login 招聘端自动化 bug 修复 — 已测试,待合并
2026-04-02 15:56:58 +08:00
@Ginkgo0110
23c820d4af fix(boss): 修复沟通页治理公告弹窗未关闭及新招呼 tab 选择器失效
BOSS_CHAT_PAGE_MAIN 有独立的浏览器启动逻辑,未调用 dismissGovernanceNoticeDialog,
导致弹窗一直阻挡后续所有操作;现将其导出并在 page.goto 完成后显式调用。
新招呼 tab 的 title 含动态未读数(如"新招呼(1312)"),精确匹配 [title="新招呼"]
永远失败,改为前缀匹配 [title^="新招呼"]。

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-02 12:06:26 +08:00
@Ginkgo0110
8bfcb6d044 fix(ui): 用 path.resolve 规范化开发模式下的进程启动路径
run-common.ts 和 launch-daemon.ts 中对 process.argv[1] 应用 resolve(),
避免开发模式下相对路径导致子进程启动失败。

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-02 11:50:33 +08:00
@Ginkgo0110
9123a4d416 fix(boss): 修正沟通页职位下拉选择器并重构未读会话批次处理
constant.mjs:将沟通页职位下拉选择器更新为 .dropmenu-label.chat-select-job;
chat-page-processor.mjs:未读会话改为每批 10 条循环处理,每批结束后
重新点击「未读」tab 刷新列表,并用 seenIds 防止重复处理。

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-02 11:48:53 +08:00
@Ginkgo0110
70cc267fc4 fix(boss): 修复治理公告弹窗关闭 timing 问题
用 waitForSelector 替换 page.$(),等待弹窗异步渲染完成后再点击;
超时由 60s 缩短为 10s,避免弹窗未出现时长时间阻塞。

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-02 11:48:06 +08:00
rqi14
1968e94062 Merge branch 'geekgeekrun:master' into master 2026-03-30 15:09:27 +08:00
rqi14
0bb94409a2 feat(boss): 登录后自动关闭治理公告弹窗;沟通页新招呼/未读 tab 初始化
- 新增 GOVERNANCE_NOTICE_DIALOG_* 选择器与 dismissGovernanceNoticeDialog(),
  在 launchBrowserAndNavigateToChat 与 startBossAutoBrowse 登录后调用,避免阻塞自动化。
- 沟通页:先切「新招呼」再强制点「未读」刷新列表;switchToTab 支持 force 选项。
- 文档:recruiter_architecture §14 弹窗清单与 §6 常量更新;CLAUDE.md 补充登录后弹窗说明;
  新增 plan/README.md、plan/chat_page_tab_navigation.md。

Made-with: Cursor
2026-03-27 12:04:13 +08:00
geekgeekrun-maintainer
b5b4cbe259 Enhance README with job stability discussion
Added clarification on job stability concerns and value creation.
2026-03-25 11:09:52 +08:00
geekgeekrun-maintainer
45c860ddbd Enhance interview feedback and add new sections
Add sections on interviewer biases and interview process feedback.
2026-03-25 11:08:58 +08:00
geekgeekrun-maintainer
7a5c199889 Revise interview and process feedback text
Reworded interview invitation and process feedback sections for clarity.
2026-03-21 00:26:46 +08:00
geekgeekrun-maintainer
1447299354 Update README.md 2026-03-21 00:24:01 +08:00
geekgeekrun-maintainer
775b3467e5 Revise interview comments for improved expression
Updated interview feedback and comments for clarity and detail.
2026-03-21 00:22:39 +08:00
geekgeekrun-maintainer
882645771d Enhance README with interview insights and usage
Added sections for interview feedback and application process.
2026-03-21 00:18:14 +08:00
rqi14
3fb7089c9e recruiter: enhance chat page processing, boss browse flow, and UI improvements
- Improve chat-page-processor with better candidate handling and filtering
- Update chat-page-resume extraction logic
- Add new constants to constant.mjs
- Enhance boss auto browse main flow with verification detection and multi-job sequence support
- Expand boss chat page main flow with HR guide features
- Update BossAutoSequence and BossChatPage Vue components
- Add plan docs: current_status and recruiter_chat_page_hr_guide

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-20 19:07:59 +08:00
geekgeekrun
675f77a408 ui-v0.17.2 ui-v0.17.2 2026-03-20 01:41:35 +08:00
geekgeekrun
435fb170a2 fix sameSite property in cookies not supported by newer puppeteer 2026-03-20 01:40:12 +08:00
rqi14
95c1e54c66 recruiter: add boss auto browse/chat flows, webhook, and candidate tables
- Add recruiter-side automation core and run-core entry
- Extend sqlite-plugin with candidate info + contact logs
- Add UI routes/pages, IPC handlers, progress + log panel
- Document current status and plans under plan/

Made-with: Cursor
2026-03-18 17:37:24 +08:00
geekgeekrun
4048e3b323 ui-v0.17.1 ui-v0.17.1 2026-02-27 10:30:30 +08:00
geekgeekrun
e6489db6c4 Merge branch 'feature/ui' 2026-02-27 10:30:09 +08:00
geekgeekrun
3f08481657 fix style of user agreement 2026-02-27 10:29:46 +08:00
geekgeekrun
97c0f3dfaf ui-v0.17.0 ui-v0.17.0 2026-02-27 01:03:58 +08:00
geekgeekrun
80158682b0 Merge branch 'feature/ui' 2026-02-27 01:03:06 +08:00
geekgeekrun
bf1d9023a6 Merge commit 'fff8ca7dff95454ffba05566c5252a1625cf1bc2' 2026-02-27 01:02:49 +08:00
geekgeekrun
b7ffe30ee0 enhance style of first run readme window 2026-02-27 00:47:46 +08:00
geekgeekrun
f82987bd76 add frame for almost window 2026-02-27 00:47:15 +08:00
geekgeekrun
57bab1900c enhance gtag 2026-02-27 00:13:57 +08:00
geekgeekrun
1c7d3d992a add feature for customize open message 2026-02-26 23:14:38 +08:00
geekgeekrun
fff8ca7dff ui-v0.16.0 ui-v0.16.0 2026-02-22 14:57:05 +08:00