Job Match Report(求职匹配 · 融合报告生成器 · 阶段一)
把一次真实求职的「需求 -> 采集 -> 匹配 -> 背调 -> 报告」链路固化成可复跑的标准产出。
核心理念:匹配引擎只认结构化数据,真实数据由 WebSearch/WebFetch/书签/用户贴 JD 负责采集——不绕过反爬。
何时使用
用户表达「帮我找工作 / 生成求职报告 / 推荐岗位并出报告 / 优化简历」且已具备(或你已生成)以下输入时,直接调本 skill 的 scripts/build_report.py 出报告:
- 真实匹配结果 JSON(含 prefs / passed[] / failed[])
- 三风格 HR 话术 JSON(直球 / 稳重 / 内推,各含 messages[])
若数据还没就绪,先走下方「阶段一前置工作流」补齐。
阶段一前置工作流(采集 -> 匹配 -> 背调)
> 本 skill 自带「报告生成器」,但完整链路需 agent 在调脚本前先完成这些前置步骤。
1. 固定求职需求(一次性,写进匹配器的 prefs / user_preferences.json)
- 必填 5 项:目标城市、岗位方向、期望薪资区间、最低休息(双休/大小周)、硬性排除(区/行业)。
- 可选偏好:行业偏好(朝阳/AI)、公司类型(外资/上市/大型)、经验/学历、通勤锚点(如「中大地铁站」)、加班容忍度、技能清单。
2. 采集真实 JD(解决「假链接」痛点,三种来源按优先级)
1. 用户粘贴:在 Boss/猎聘/前程无忧 看到的 JD 文本(自带真实公司名+真实链接)。
2. agent 用 WebSearch / WebFetch 搜(如 WebSearch("广州 财务BP AI 双休 1.5万 天河")),从猎聘/51job/智联/广州人才网/爱企查真实页抽取 {公司名, 链接, 薪资, 区, 经验, 学历, 行业, 技能},写入 jobs_xxx.json。
3. 书签采集:job-matcher 的 tools/job-extractor.user.js 一键抓取招聘 App 当前页真实 JD。
诚实边界:51job 部分「代理帖」不披露雇主名(标注「某外企集团」即可,链接仍真实);广州暂无地铁通勤矩阵,通勤统一标 source=unknown(不硬淘汰,仅提示自核)。
3. 规则匹配 + 红旗雷达(用 job-matcher 的 cli.py match,或等价匹配逻辑)
- 硬过滤:城市/薪资底线/作息(双休)/经验/学历。
- 软打分:薪资(单边)30% + 通勤15% + 作息15% + 经验15% + 技能25%(离线同义词抽取复活)。
- 红旗雷达:996/大小周/薪资面议/外包/培训贷 -> 透明软扣分,不误杀。
- 输出 真实匹配结果.json(结构见 references/data-schema.md)。
4. 企查查公司背调(用已连的 qcc-company 连接器)
- get_company_by_query(searchKey="公司名") -> 模糊定位(多候选必须展示给用户选,禁止自动锁定)。
- get_company_profile / get_company_registration_info -> 业务/法人/注册资本。
- 把结果补进报告「公司卡片」(若未实时查,报告用岗位快照 company_size/industry 并标注「待实时查」)。
5. 生成 HR 话术(用 job-matcher 的 cli.py hr --style 直球|稳重|内推)
- 角色词从岗位标题推断(财务岗 -> 「财务」,勿误写「产品/职能」)。
- 输出三份 JSON,供本报告模块六消费。
6. 生成报告(本 skill 核心):见下。
生成报告(本 skill 核心命令)
python <skill_dir>/scripts/build_report.py \
--results "真实匹配结果.json" \
--hr 直球.json 稳重.json 内推.json \
--out "融合报告.html" \
--title "广州财务岗·融合匹配报告" \
--top-n 3 --resume-n 8
参数:
- --results:真实匹配结果 JSON(必填,含 prefs/passed/failed)
- --hr:三个 HR 话术 JSON(必填,顺序=直球 稳重 内推)
- --out:输出 HTML 路径(必填)
- --title:报告主标题(可选)
- --top-n:TOP 推荐表格数量(默认 3)
- --resume-n:定向简历岗位数(默认 8)
依赖:仅 Python 标准库(json/html/datetime/argparse/os/sys),无需 pip 安装。
示例数据见 examples/示例-广州财务-融合报告.html(与已交付报告逐字节同源)。
报告 6 大模块
- 推荐岗位:蓝底 TOP3 摘要表(#/岗位/薪资/作息/通勤/匹配分/链接)+ 全量合并卡片(分数|岗位@公司|地区薪资|技能标签|真实链接|描述|5维打分条|推荐理由|风险提示|技能命中/提示)。推荐理由/风险提示左对齐,其余居中。
- 硬性不达标:因薪资低于底线等被硬过滤淘汰的岗位。
- 竞争力分析:用户画像、核心优势/短板、分维度提升建议(薪资校准/补AI技能/CPA/区域/关键词)。
- 企查查雇主调研:TOP5 雇主快照(规模/行业/区域)+ 实时查询说明。
- 定向优化简历:前 N 岗,每岗含 职业摘要 + 技能匹配矩阵(命中/缺失) + 可展开完整简历草稿(应聘职位/摘要/技能矩阵/核心经历/教育)+ 可展开改写建议清单(待补关键词/量化成果/行业对齐/ATS优化/薪资锚点)。
- HR 打招呼话术:直球/稳重/内推三风格可切换,每条 textarea 可编辑(可编辑标签 + 复制本条),底部「复制当前风格全部」+「一键复制(待发送)」。
HR 一键直发(阶段二,本 skill 暂缓)
- 阶段一报告里的 HR 话术做到「可编辑 + 复制就绪」,不真实发送。
- 若后续用户要「发给 HR」,需接入招聘消息连接器(如 Boss/猎聘开放 API 或 GUI 自动化),在阶段二单独实现「一键直发」。
已知边界(务必对用户透明)
- 真实数据依赖 web 工具/书签/用户贴 JD,非自动爬虫;反爬站点 WebFetch 可能空,需用户贴 JD 兜底。
- 广州通勤矩阵缺失 -> 边界区岗位标「需确认通勤」,不硬淘汰。
- 企查查多候选时必须让用户选主体,禁止自动锁定任一轮选。
- 定向简历「核心经历/教育与经验」需用户补充原文,报告仅生成摘要/矩阵/建议框架。