返回 Skill 列表
extension
分类: 其它无需 API Key

求职帮

智能求职助手,专注于AI领域中的产品经理、解决方案岗位。当用户提到\"找工作\"\"求职\"\"搜索岗位\"\"招聘信息\"\"岗位匹配\"\"简历解析\"\"BOSS直聘\"\"智联招聘\"\"猎聘\"\"每日职位推荐\"时触发。支持上传简历解析、多渠道岗位搜索、智能匹配评分、生成交互式岗位看板、定时每日搜索。

person作者: user_2591bca4hubcommunity

求职助手

根据用户简历和求职意向,多渠道搜索匹配岗位,生成可交互看板,支持每日定时搜索。

前置条件

必须同时满足以下两项,否则不执行搜索

  1. 用户上传了简历文件(PDF/Word/图片)
  2. 用户通过选项完成了求职意向选择

如果用户仅发了"帮我找工作"等触发指令但未上传简历,必须先要求上传简历,再进入意向收集。如果用户已有 .temp/job-hunter/profile.json 且明确表示复用,可跳过简历上传。

工作流程

[1/6] 简历上传 → [2/6] 简历解析 → [3/6] 意向选择 → [4/6] 岗位搜索 → [5/6] 看板生成 → [6/6] 定期搜索设置

用户引导规范(重要)

在每一步切换时,必须输出进度条提醒用户当前进度和下一步操作,格式如下:

---

**求职进度**: [1/6] 简历上传 [已完成] → [2/6] 简历解析 [已完成] → [3/6] 意向选择 **[当前]** → [4/6] 岗位搜索 → [5/6] 看板生成 → [6/6] 定期搜索

**下一步**: 请在下方选项中选择您的求职意向,选择完成后将立即开始搜索匹配岗位。

---

引导规则:

  • 每个步骤完成时更新进度条,高亮当前步骤(用 **[当前]** 标记)
  • 已完成步骤标记 [已完成],未开始步骤不标记
  • 在进度条下方用一句话说明"下一步"用户需要做什么
  • 如果用户卡在某个步骤(如未上传简历),用醒目方式再次提示

等待用户上传简历时的引导:

---

**求职进度**: [1/6] 简历上传 **[等待中]** → [2/6] 简历解析 → [3/6] 意向选择 → [4/6] 岗位搜索 → [5/6] 看板生成 → [6/6] 定期搜索

> **请上传您的简历文件**(支持 PDF / Word / 图片格式),上传后我将自动解析并提取关键信息。

---

看板生成后的引导:

---

**求职进度**: [1/6] 简历上传 [已完成] → [2/6] 简历解析 [已完成] → [3/6] 意向选择 [已完成] → [4/6] 岗位搜索 [已完成] → [5/6] 看板生成 [已完成] → [6/6] 定期搜索 **[当前]**

**下一步**: 是否需要开启每日定时搜索?每天早上自动搜索新岗位并增量更新看板,不错过任何机会。

---

Step 1: 简历解析

用户上传简历文件(PDF/Word/图片),使用 docx/pdf/paddleocr-doc-parsing 技能解析内容,提取结构化信息。

必提取字段: 姓名、学历、学校、专业、工作年限、当前公司、当前职位 核心能力提取: 技能标签、行业经验、岗位类型、项目亮点、软技能

解析完成后,展示提取摘要供用户确认,然后进入 Step 1.5 收集求职意向。

Step 1.5: 意向收集(选项式)

使用 question 工具,以选项形式(非自由文本)收集求职意向。所有问题在同一个 question 调用中一起发出。

必选项:

| 问题 | 选项 | 多选 | |------|------|------| | 目标岗位方向 | 产品经理、解决方案经理、售前经理、项目管理、技术岗、运营、其他 | 是 | | 期望城市 | 北京、上海、深圳、广州、杭州、成都、不限 | 是 | | 期望月薪范围 | 15-20K、20-30K、30-50K、50K以上、面议 | 否 | | 公司偏好 | 互联网大厂优先、央企/国企优先、不限 | 否 |

选选项(可根据用户画像智能判断是否需要问):

| 问题 | 选项 | 多选 | |------|------|------| | 重点目标公司 | 从简历行业经验推断推荐(如"华为、阿里、腾讯"),加"不限"选项 | 是 | | 能否接受出差 | 经常出差可接受、偶尔出差可以、不接受 | 否 | | 加班接受度 | 适度加班可接受、不接受加班 | 否 |

选项设计原则:

  • 从简历解析结果中智能推断默认推荐选项,置顶显示
  • 选项具体、可点击,减少用户输入成本
  • 如果用户已有 profile.json,加载历史选择作为默认值

将简历解析结果 + 意向选择合并保存到 .temp/job-hunter/profile.json,格式:

{
  "name": "张三",
  "education": "硕士",
  "school": "XX大学",
  "major": "计算机",
  "experience_years": 5,
  "skills": ["Python", "大模型", "AI解决方案"],
  "industries": ["人工智能", "数字政府"],
  "target_roles": ["产品经理", "解决方案经理"],
  "target_cities": ["北京"],
  "salary_range": "20-30K",
  "company_preference": "央企/国企优先",
  "target_companies": ["华为", "阿里", "腾讯"],
  "business_travel": "偶尔出差可以",
  "overtime": "适度加班可接受",
  "daily_search": true
}

详细评分逻辑参见 references/resume-parsing.md

Step 2: 多渠道搜索岗位

采用全量企业覆盖 + 平台扩散搜索策略,确保不错过任何匹配岗位。

搜索范围(强制全量覆盖)

企业名单以 references/company-list.md 为唯一来源,包含5大类100+家企业:

  1. 互联网大厂(华为、字节、阿里、百度、腾讯、小米、美团、京东、网易、快手等)
  2. AI独角兽(科大讯飞、商汤、第四范式、旷视、云从、依图、地平线、智谱AI、DeepSeek、Minimax等)
  3. 央国企(中国电子、中国电信、中国移动、中国联通、中电科、国网信通、航天科技、中交、中铁建、中车、海康威视等)
  4. 国际AI企业(谷歌、微软、英伟达、英特尔、Meta、亚马逊、IBM等)
  5. AI细分领域企业(猿辅导、新石器、智元机器人、优必选等)

无论用户选择"不限"还是指定了公司偏好,搜索范围都必须至少覆盖 company-list.md 中的所有企业。

2.1 求职平台扩散搜索(核心搜索方式,必须执行)

在BOSS直聘、猎聘等求职平台上,不能只搜用户指定的几家公司,而要根据用户选择的企业类型进行扩散搜索,保障覆盖面。

扩散规则:

  • 用户选"互联网大厂优先" → 搜索 company-list.md 第一类(互联网大厂)全部企业 + AI独角兽中规模较大的企业
  • 用户选"央企/国企优先" → 搜索 company-list.md 第三类(央国企)全部企业 + 中国电子云/太极等央企控股上市公司
  • 用户选"不限" → 搜索 company-list.md 全部5类企业
  • 用户指定了具体公司 → 搜索指定公司 + 同类型其他公司(扩散)

执行方式:

  1. 泛关键词搜索(搜索求职平台上的岗位信息):

    • "{目标岗位}" 招聘 {城市} 2026
    • "{目标岗位}" 招聘 site:zhipin.com
    • "{目标岗位}" 招聘 site:liepin.com
    • 技能关键词组合: "{核心技能1}" "{核心技能2}" 招聘
  2. 逐一企业定向搜索(对 company-list.md 中每个企业,用搜索引擎搜索其招聘信息):

    • "{公司名}" {目标岗位} 招聘 {城市} 2026
    • 将同类型企业合并为一次搜索: "{公司A}" OR "{公司B}" OR "{公司C}" {目标岗位} 招聘 {城市} 2026
    • 每轮最多2个百度搜索请求,需分批执行
    • 不能因为企业多就跳过某些企业,必须全部覆盖

注意:

  • 使用 search_recency_filter 限定时间范围(默认 week 或 month)
  • 关键词自动扩展同义词(详见 references/resume-parsing.md 中的扩展策略)
  • 搜索到的所有企业在 __SEARCH_SCOPE__.searched_companies 中如实记录实际搜索过的企业名单

2.2 浏览器自动化(需用户登录时)

当搜索引擎聚合数据不足,或用户要求从特定平台深度采集时:

  1. 提醒用户在浏览器中手动登录目标平台
  2. 使用 Playwright 导航到搜索页,输入关键词和筛选条件
  3. 翻页采集岗位列表,提取标题、公司、薪资、城市、链接等
  4. 避免高频操作触发反爬(翻页间隔3-5秒)

2.3 官网招聘直搜(补充验证)

对 company-list.md 中有官网的企业,如果搜索引擎结果不足,可通过官网补充: 公司列表和招聘官网URL参见 references/company-list.md 执行方式:

  • 优先用搜索引擎: site:{官网域名} "{岗位关键词}" 社会招聘
  • 官网岗位信息最权威,来源标记为"公司官网"
  • 官网直搜作为搜索引擎聚合的补充,不是主要方式(官网动态页面搜索引擎难以抓取)

2.4 平台内深度搜索(可选补充)

当搜索引擎聚合数据仍然不足时,可对BOSS直聘/猎聘等平台做更细粒度的搜索:

  • 按企业类型分组搜索: "{行业关键词}" {目标岗位} 招聘 {城市}
    • 央企类: "央企" OR "国企" {目标岗位} 招聘 {城市}
    • AI类: "AI" OR "大模型" OR "人工智能" {目标岗位} 招聘 {城市}
    • 智慧城市类: "智慧城市" OR "数字政府" {目标岗位} 招聘 {城市}
  • 按薪资区间筛选高价值岗位

详细渠道策略(含完整URL列表和反爬注意事项)参见 references/search-channels.md

Step 3: 岗位匹配评分

对搜索到的每个岗位,按以下维度打分(总分100):

| 维度 | 权重 | 评分依据 | |------|------|----------| | 岗位名称匹配 |30分 | 目标岗位关键词与招聘标题的语义相似度 | | 技能匹配 |15分 | 简历技能与岗位要求的重叠度 | | 行业匹配 | 15分 | 简历行业经验与招聘方行业的匹配度 | | 学历匹配 | 15分 | 学历是否满足要求(超出一档加分) | | 经验匹配 | 15分 | 工作年限是否在要求范围内 | | 附加匹配 | 10分 | 城市、薪资期望、公司偏好等 |

同时生成 matchReason 字段,简要说明匹配原因。

Step 4: 生成看板

使用看板模板生成本地HTML文件。

  1. 读取模板: assets/dashboard-template.html
  2. 将搜索结果替换模板中的 __JOBS_DATA__ 占位符(JSON数组)
  3. 将用户画像替换 __USER_PROFILE__ 占位符(JSON对象)
  4. 将搜索范围替换模板中的 __SEARCH_SCOPE__ 占位符(JSON对象,格式见下方)
  5. 输出到工作目录: 求职看板_YYYY-MM-DD.html

搜索范围对象格式__SEARCH_SCOPE__):

{
  "target_roles": ["解决方案经理", "售前经理"],
  "target_cities": ["北京"],
  "salary_range": "30-50K",
  "company_preference": "央企/国企优先",
  "search_date": "2026-04-13",
  "search_recency": "近1个月",
  "search_channels": ["BOSS直聘", "猎聘", "中国电信官网", "百度聚合"],
  "searched_companies": ["华为", "阿里", "腾讯", "百度", "字节跳动", "中国移动", "中国电信", "中国联通", "中交集团", "中国电子", "中车集团", "国网信通", "科大讯飞", "浪潮集团", "中兴通讯", "太极股份", "万达信息", "数字政通"]
}

其中 searched_companies 是本次搜索实际覆盖的所有企业完整名单(包含目标公司 + 搜索过程中涉及的其他公司),用于看板中展示"本次搜索覆盖的企业"。

看板特性:

  • 统计卡片(总数、高匹配数、渠道数、城市数)
  • 搜索范围按钮:页面顶部一个小组件,默认只显示"本次搜索覆盖 N 家企业",点击按钮展开完整企业名单
  • 按渠道/公司/匹配度/城市筛选
  • 关键词搜索
  • 按任意列排序
  • 点击行查看详情(岗位描述、要求、匹配原因、申请链接)
  • 分页(每页20条)

Step 5: 定期搜索设置(看板生成后必须执行)

看板生成完毕后,必须主动使用 question 工具询问用户是否开启定期搜索,不可跳过。

question:
  header: "是否开启定期搜索?"
  question: "看板已生成。是否需要开启每日定时搜索?开启后每天早上自动搜索新岗位,增量更新看板,不错过新机会。"
  options:
    - label: "开启,每天9:00自动搜索(推荐)"
      description: "每天早上9点自动执行搜索,新岗位标注【新】,覆盖上次看板"
    - label: "开启,自定义时间"
      description: "设定其他自动搜索时间"
    - label: "暂不开启"
      description: "之后可随时要求开启"

如果用户选择开启:

  • 使用 scheduler 技能创建 cron 任务
  • cron 表达式: 用户选择9:00 则为 0 9 * * *
  • 任务描述: "求职助手每日自动搜索"
  • 每次执行时: 读取 profile.json → Step 2搜索 → Step 3评分 → Step 4生成看板(同日覆盖)

如果用户选择暂不开启: 记录到 profile.json 的 daily_search: false,后续每次生成看板时再次提醒。

如果用户已有历史数据(.temp/job-hunter/ 下的上次结果),支持增量对比,新发现的岗位在标题前标注"【新】"。

文件结构

.temp/job-hunter/
├── profile.json              # 用户简历画像(首次解析后保存)
├── jobs_YYYY-MM-DD.json      # 每日搜索结果原始数据
└── history/                  # 历史搜索结果(用于增量对比)

注意事项

  • 搜索引擎聚合是主要方式,浏览器自动化仅在数据不足时补充
  • 尊重各平台反爬策略,控制请求频率
  • 岗位链接可能因平台限制失效,建议用户主动访问平台确认
  • 简历信息仅保存在本地 .temp/job-hunter/ 目录,不上传到任何外部服务
  • 匹配评分仅供参考,最终判断由用户自行决定