修复:智联Chrome登录检查与独立分析页 - #51
Open
damingishere-coder wants to merge 6 commits into
Open
Conversation
Merged
BOSS HR 值守现在区分自动回复、无需回复和人工决策:已确认的事实及固定薪资/到岗口径经完整上下文和独立审核后可自动处理,薪资让步、具体预约、Offer、敏感材料、未知事实及读取失败只进入 QQ 人工决策。普通成功静默,无需回复直接结束。 - 补齐原始媒体、图片识别、PDF/DOCX 解析和读取状态;保留连续提问及最新上下文。无法可靠解析的语音、附件和缺失内容转人工。 - 使用专用托管标签,统一分钟检查及半小时补漏,后台串行扫描与发送。手动操作持久暂停,岗位扫描不能导航聊天标签;面板局部更新保留未保存输入和阅读状态。 - 增加 V18 增量迁移,持久化加密授权、媒体上下文、决策依据和 QQ 通知。发送前核验档案、授权、目标、本轮消息、指定简历 SHA256;结果未知不自动重发。 - QQ 仅接受指定群及操作人的指令,支持详情分页、修改、补充、确认记住、暂停和恢复。新消息及修改使旧确认失效;通知收到成功回执与 message_id 才标记送达。 验证:后端 359 个测试(355 通过、4 跳过),前端 72 个测试,扩展 116 个测试通过;typecheck、扩展校验、生产构建和 bootJar 通过;lint 0 error、30 个既有 warning。另以全新临时 SQLite/密钥和 loopback 端口验证 V18 迁移及 HR API,未连接真实 BOSS、NapCat 或 AI。 启用限制:当前尚未部署或开启真实托管。正式启用前须备份共享数据库、配置 QQ 操作人、确认指定 PDF,并受控验收真实读取及发送。语音转写能力未声明时保持人工处理;BOSS 原生简历入口必须能提供唯一选中附件的原件校验,否则不尝试发送。回滚先停值守和新任务,再回退程序,保留数据库与发送未知记录。 本 PR 承接 #51(当前运行版本所在分支),避免重复审阅依赖修复;不得跳过依赖直接合并稳定分支。详细文件清单、验证入口和回滚步骤见 `tasks/2026-09-07-boss-hr-autopilot.md`。不自动合并。
智联搜索页已从 /sou 转到 /jobs,旧检查会重复导航五次后失败;首屏 HTTP 岗位链接也被全部过滤。此次修复兼容新版搜索和滚动列表,逐张校验卡片对应的详情身份与正文,再按现有档案、去重和 AI 队列提交。重扫保留已有完整字段,避免采集失败覆盖历史信息。 验证:扩展 118 项、真实结构 DOM 9 项通过;后端 360 项(4 跳过)通过;类型检查、定向 lint、前端构建通过。批处理竞态测试先持久化任务再启动 worker,两个五条批次和并发上限连续两次验证通过。 以当前部署基线 codex/fix-zhilian-analysis-login-20260907 为目标,避免混入 main 尚未接收的其他功能。Chrome Bridge 升级至 1.6.7,ID 和权限不变。数据库/旧扩展/RunDock 记录已本地备份;真实 20 岗位采集入库和 AI 验收待扩展加载及本机服务切换确认,不执行投递或聊天。 CI:最新提交 e228523 的 Backend、Frontend、Chrome Extension、Docker Configuration 全部通过。前端 CI 使用 Node 24,满足锁定 DOM 测试依赖的运行要求。
薪资菜单在页面底部固定向下展开导致选项超出视口;智联扫描预检在没有打开平台标签页时直接报错。现在菜单根据上下空间自动选择展开方向并限制宽高,分析岗位数使用 5 到 200、间隔 5 的下拉选项,已有非整倍数配置仍保留。 点击开始扫描时,预检允许扩展自动打开固定的智联官方搜索页并等待就绪。有页面则复用,并发请求只打开一个标签页;被动状态检查不创建页面,登录、安全验证和未知状态仍阻止扫描。扩展升级为 1.6.8。 验证:扩展静态校验通过,121 项扩展测试和 84 项前端测试全部通过,Next.js 生产构建(含 TypeScript)通过。独立只读测试数据预览中实际验证了 1280×720 视口底部菜单完整显示,并选择岗位数 25。尚未部署或在用户已加载的 Chrome 扩展中验证新开页逻辑。 延续已部署 PR #53 的集成分支作为基线。本 PR 不修改数据库、用户配置或投递逻辑;部署时需更新前端、重新加载 Chrome Bridge 1.6.8 并刷新工作台。
智联采集遇到单个岗位入队失败时,会中断整批提交;该岗位虽然已经入库,却会在后续扫描中被当作重复岗位跳过。本次将提交改为逐项回执和可恢复断点,并补齐官网完整筛选及生效核验。 ## 任务可靠性 - SQLite 写入先取得写保留,唯一键竞争返回已有任务,临时锁冲突在新事务有限重试;其他错误记录类型、档案、批次和岗位标识。 - 逐项返回已入队、已有任务、无需分析、待重试和永久错误;扩展只补交未确认项,200 项队列满时等待,不扩大容量。 - 保存但缺少任务的岗位可以补入队;既有分析、投递与 UNKNOWN 对账规则保留。增加同版本初始化和扫描所有权检查,以及独立采集、入队、AI 分析进度。 ## 完整筛选 - 接入地区、地铁、学历、经验、公司性质、融资、人数、工作性质、职位类别、行业,沿用城市、关键词、薪资、分析数量。 - 使用智联公开字典快照及官方参数,保留来源、版本和摘要;支持城市关联与层级选择、官网多选规则、行业最多 5 项。 - V19 仅新增 filters_json;旧配置保持不限。所有非空筛选进入断点签名,采集前核对 URL、官网标题和选中标记,未生效即停止。 - 扩展版本 1.7.0;实验通路不能核验新增筛选时明确拒绝执行。 ## 验证 - 后端 test/build:367 项,0 失败,4 项跳过;临时文件 SQLite 覆盖并发、消费者同时写入、唯一竞争、数据库锁、永久异常和容量。 - 前端 89 项测试通过,生产构建通过,lint 无错误;扩展 127 项测试与清单/语法校验通过。 - 使用独立端口 16867 和空测试数据库验证 MyBatis 配置保存回读、错误城市关联返回 400、城市条件重置和页面展示;生产 6866 未重启。 - 在实际 Chrome 官方页面核验多选组合,以及地区、地铁、职位、行业末级选中状态。严格组合零结果由官网明确提示。 - CI 已扩展运行完整前端测试。发布前仍需本次授权,随后等待生产 AI 队列结束、备份共享数据库和 RunDock 配置、更新服务/扩展,再恢复原失败批次并验收真实整批扫描。 发布、原批次恢复和保留新增数据的回滚步骤见 docs/zhilian-reliable-filters-release.md。原始历史日志没有具体 SQLite 异常,不能将此次锁竞争复现当作历史错误已被证实。
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
修复内容
智联扫描此前读取后端 Playwright 登录状态,导致 Chrome 已登录仍被拦截;配置页同时保留了嵌入式分析。现在统一使用 Chrome 页面状态检查,将分析放到独立路由,并补齐批次切换、队列刷新、档案隔离和加载错误提示。
总览按完整筛选范围聚合,不再随分页变化。确认投递保留审核步骤,响应丢失不自动重发。扩展升级为 1.6.5,固定 ID 与 Boss 值守功能保持兼容。
验证
发布关系
这是基于 #49 运行分支的堆叠 PR,仅包含本次智联修复。尚未切换当前 6866 服务;上线需要同步更新前后端和 Chrome 扩展。无数据库迁移。部署与回退说明见 docs/zhilian-analysis-login-repair.md。