Recruitment Aggregator — 高校思政教师 / 辅导员 / 国企党建行政 招聘信息汇总
用户画像(默认匹配目标)
本技能已针对以下用户画像进行定制,所有查询默认按此画像筛选匹配度:
| 维度 | 信息 |
|---|---|
| 毕业院校 | 四川农业大学 马克思主义学院 |
| 专业 | 马克思主义理论 |
| 学历 | 硕士研究生(27 届,即 2027 年毕业) |
| 本硕一致性 | 本硕专业不一致(需关注岗位是否对本硕一致有硬性要求) |
| 政治面貌 | 中共党员(辅导员/思政教师岗位普遍要求) |
| 目标岗位 | ① 高校思政课教师 ② 高校辅导员 ③ 国企/央企党建行政岗 |
| 工作地点 | 仅限成都 |
| 毕业时间 | 2027 年 6-7 月 |
> 详细背景档案见 references/profile.md。
三类目标岗位说明
岗位一:高校思政课教师(最优匹配)
- 对口专业:马克思主义理论、思想政治教育、马克思主义哲学等
- 硬性条件:中共党员、硕士及以上、马理论相关专业
- 需关注的风险点:部分高校要求本硕专业一致,需逐条检查招聘简章
- 搜索关键词:
思政课专任教师马克思主义学院教师马理论教师思政教师
岗位二:高校辅导员
- 硬性条件:中共党员、硕士及以上
- 专业限制:辅导员岗位对专业通常较宽松,马理论专业有加分优势
- 搜索关键词:
辅导员专职辅导员思政辅导员学生工作
岗位三:国企/央企党建行政岗(国企最优)
- 对口岗位:党群工作部、党委办公室、党建专员、纪检监察、行政管理
- 硬性条件:中共党员(党建岗普遍要求)、硕士优先
- 搜索关键词:
党建党群党务纪检监察行政管理综合文秘党委办公室 - 成都国企资源丰富:四川发展、成都城投、中国东方电气集团、四川航空、中铁二院等
Workflow Decision Tree
用户请求
├── "帮我查最新的招聘" → 执行「按画像快速查询」
├── "只看成都的思政教师岗位" → 执行「单岗分类查询」
├── "只看国企党建行政岗" → 执行「单岗分类查询」
├── "搭建自动监控系统" → 执行「自动化部署」
├── "汇总这周的成都招聘" → 执行「批量汇总(含匹配度评分)」
└── "帮我爬取某个招聘页面" → 执行「单页面提取」
一、按画像快速查询(默认流程:混合爬虫 + 实时网页补搜)
由于各大招聘网站(如高校人才网)的默认列表页行数有限,且部分检索和搜索页面(如 /search)采用客户端 JS (Vue SPA) 渲染,基本的爬虫脚本适合作为“基线抓取”(获取基础和历史大纲),但必须通过主动网页补搜(使用 web_search 结合关键词模板)来进行实时检索,形成完整的混检索。
当用户需要查询招聘信息时,必须严格执行以下三步:
1.1 步骤一:基线脚本抓取 (Baseline Scraper)
运行 Python 聚合脚本抓取当前的分类索引列表(数据源含:高校人才网×3 频道翻页、人社部/国家大学生就业平台、川/蓉人社与人事考试网、应届生求职网、成都人才网、26 所成都高校人事处定向扫描,全部由 assets/sources.json + assets/university_hr_pages.json 配置驱动):
python3 scripts/aggregate.py --days 30 --location 成都 --format json --output /tmp/baseline_results.json
运行后,读取该 /tmp/baseline_results.json 中的结果作为基础数据集。
脚本内置增量监控(状态存于 assets/job_store.jsonl,自动维护):
- 每条结果带 is_new 标记:本次新发现的岗位为 true,历史已见为 false;
- 下线推断:连续 3 次抓取未再出现的岗位自动剔除;
- 数据源健康度(assets/source_health.json):连续 3 次失败的源会在结尾告警,meta.source_health 中可查每源状态;
- 只想看增量时加 --only-new 参数。
agent-browser 渲染兜底(默认开启,--no-browser 关闭):requests 失败的源(403/UA 拦截、SSL、JS 渲染等)自动改用 agent-browser CLI(CDP 常驻浏览器)渲染抓取;源配置 browser: true 可强制走浏览器(须配 parser: generic_list)。兜底含错误页标题检测(403/502/WAF challenge 页不误判为成功)。若未安装 agent-browser 则静默禁用兜底。注意:agent-browser 浏览器实例为常驻 daemon,跑完不自动关闭,可用 agent-browser close 手动清理。
1.2 步骤二:主动实时网页补搜 (Supplementary Web Search)
使用 web_search 工具,依照 references/profile.md 里的关键词模板,至少执行 2-3 次针对性的搜索引擎实时补搜:
- 高校思政课教师检索:
site:gaoxiaojob.com 成都 思政教师 2026或者是成都 高校 思政教师 招聘 2026 - 辅导员检索:
site:gaoxiaojob.com 成都 辅导员 2026或者是成都 高校 辅导员 招聘 2026 - 国企党建岗检索:
成都 国企 党建 招聘 应届生 2026或者是成都 央企 党群 招聘 2026
通过 web_search 获取最新的、长尾的、由搜索引擎索引到的活性网页详情(直接指向高校人事处或国企官网)。
补搜结果必须回流(避免下次重复报告同一条补搜岗位):把本次补搜收录进报告的条目整理为 JSON(数组或 {"results": [...]},每条至少含 title + detail_url/organization),保存为临时文件后执行:
python3 scripts/ingest.py /tmp/websearch_results.json --source-name "AI补搜-<岗位类型>"
1.3 步骤三:双源汇总、打分与去重 (Normalization, Grading & Deduplication)
将「基线脚本抓取」到的条目与「主动网页补搜」到的活性网页条目合并,按照以下规则清洗:
1. 去重:标题与链接高度相似者,保留最新、最完整的一条。
2. 过滤下线/过期:凡是脚本或搜索结果中标注"已下线"、"过期"或截止日期在今天之前的,一律归入“已过期或不活跃岗位”予以隐藏或单独陈列。
3. 匹配度评分:按以下维度打分:
| 评分维度 | 权重 | 满分条件 |
|---|---|---|
| 地点匹配 | 30% | 成都市区或近郊 = 5,四川其他 = 2,其他 = 0 |
| 岗位匹配 | 25% | 思政教师/辅导员/党建行政 = 5,相关 = 3,不相关 = 0 |
| 专业对口 | 20% | 明确招马理论专业 = 5,思政相关 = 3,不限 = 2,限制其他 = 0 |
| 学历匹配 | 10% | 硕士起 = 5,博士 = 2(硕士可冲),仅本科 = 0 |
| 本硕一致要求 | 8% | 不要求 = 5,未提及 = 3,明确要求本硕一致 = -10(直接标记高风险) |
| 截止日期 | 7% | 距离截止还有 15 天以上 = 5,7-15 天 = 3,不足 7 天 = 1 |
1.4 步骤四:生成 HTML 报告(默认最终交付格式)
汇总结果必须默认以 HTML 报告的形式交付(除非用户明确要求 Markdown / JSON / CSV)。风格要求:科技感、简洁、纯白底板。
模板 assets/report-template.html 采用「纯 JSON 数据块 + 渲染引擎分离」设计:整套页面结构、CSS、渲染逻辑全部固化,你唯一要做的就是替换文件里那一段 <script id="page-data" type="application/json"> 中的 JSON,页面会在浏览器中自动渲染。不要改动 CSS 与渲染引擎脚本。
生成步骤:
1. 读取模板 assets/report-template.html。
2. 按下方 JSON Schema 组织本次汇总、评分、去重后的岗位数据,构造出完整的 JSON。
3. 用你构造的 JSON 整体替换 <script id="page-data" type="application/json"> ... </script> 之间的内容(其余部分原样保留)。
4. 将结果写入文件(如 ~/Desktop/招聘信息汇总_YYYY-MM-DD.html 或用户指定路径),并用 preview_url / 浏览器打开预览。
JSON 数据 Schema(填这一段即可):
{
"hero": {
"eyebrow": "招聘可视化报告",
"title": "报告标题,如:成都 · 27届马理论硕士 求职机会汇总",
"description": "一句话总述:本次汇总的范围、口径与用途",
"meta": ["更新时间:2026-07-23", "求职画像:27届马理论硕士 · 四川农大", "地点偏好:成都", "重点方向:思政教师 / 辅导员 / 国企党建"]
},
"stats": [
{ "label": "重点关注岗位", "value": "6", "desc": "当前最适合优先投递或重点跟进" },
{ "label": "国企党建岗位", "value": "3", "desc": "近期发布但需要另行判断经验门槛" },
{ "label": "已过期岗位", "value": "2", "desc": "保留作参考样本即可" },
{ "label": "当前主结论", "value": "优先投递3所高校", "desc": "一句话结论,便于一眼看懂" }
],
"priorityIntro": "这里放最值得尽快行动的岗位。支持按类别筛选。",
"priorityJobs": [
{
"title": "思政课专任教师",
"org": "XX大学 马克思主义学院",
"location": "成都",
"score": 4.8,
"categories": ["teacher"],
"urgent": false,
"tags": [
{ "text": "马理论对口", "tone": "good" },
{ "text": "党员要求", "tone": "info" },
{ "text": "本硕一致未提及", "tone": "warn" }
],
"info": [
{ "key": "发布时间 / 截止", "value": "2026-07-01 / 2027-03-15" },
{ "key": "适配判断", "value": "专业与画像高度匹配" },
{ "key": "主要风险", "value": "未提及本硕一致,需核实简章" },
{ "key": "建议动作", "value": "重点投递,准备试讲" }
],
"link": "https://example.com"
}
],
"watchIntro": "这些岗位可以关注,但不建议作为近期主投目标。",
"watchJobs": [],
"guoqiIntro": "国企党建/党务方向放这里;没有则留空数组。",
"guoqiJobs": [],
"insights": ["现实判断1", "现实判断2"],
"notices": ["补充说明1(抓取口径/样本偏差/时间窗口)"],
"advice": ["优先级1", "优先级2"],
"summary": "一句话总判断",
"footer": "本报告基于公开招聘信息汇总,仅供参考;请以各单位官方公告为准。"
}
填写规范(必须严格遵守,否则页面渲染失败):
| 字段 | 规则 |
|---|---|
| 整体格式 | 标准 JSON:双引号、无注释、无尾随逗号 |
hero.meta |
数组,建议放「更新时间 / 求职画像 / 地点偏好 / 重点方向」4 项 |
stats |
建议 4 张卡片;value 若超过 12 个字符会自动缩小字号 |
job.score |
0~5 数字,映射匹配度评分(见 1.3):>=4 绿色 / 3~4 橙色 / <3 红色,进度条按 score*20% |
job.categories |
顶部筛选用:["teacher"]=思政教师,["advisor"]=辅导员;国企岗放 guoqiJobs 即可,可不填 |
| newJobs(可选) | 本期新发现岗位(脚本输出中 is_new=true 的条目),结构同 priorityJobs;留空 [] 时「本期新发现」板块自动隐藏。新岗位建议额外加一个 {"text":"🆕 本期新增","tone":"good"} 标签 |
job.urgent |
true 时归入「截止较近」筛选。距截止不足 7 天建议置 true |
job.tags[].tone |
只能取 good(绿) / warn(橙) / bad(红) / info(蓝) / purple(紫) |
job.info |
key-value 列表,思政教师/辅导员建议 4 项,谨慎/国企岗建议 2 项 |
| 本硕一致风险 | 用 tag 表达:不要求→{"text":"本硕一致不要求","tone":"good"};未提及→{"text":"本硕一致未提及","tone":"warn"};明确要求→{"text":"要求本硕一致","tone":"bad"} 并在 info 主要风险中说明 |
| 数组可空 | watchJobs / guoqiJobs 为 [] 时,对应板块与导航项会自动隐藏 |
| 岗位归类 | 思政教师、辅导员 → priorityJobs;不建议主投/已过期 → watchJobs;国企党建党务 → guoqiJobs |
> 若用户明确要求其他格式,则参考如下 Markdown 简版结构输出:
>
> markdown
> ## 招聘信息汇总(成都 · 思政教师 / 辅导员 / 国企党建岗)
> > 更新时间:YYYY-MM-DD | 画像:27届马理论硕士 · 四川农大 · 成都
>
> | # | 匹配度 | 岗位 | 单位 | 岗位类型 | 截止 | 本硕一致要求 | 链接 |
> |---|--------|------|------|---------|------|------------|------|
> | 1 | ⭐⭐⭐⭐⭐ 4.6 | 思政专任教师 | XX大学 | 思政教师 | 2027-03-15 | 未提及 | [查看]() |
>
二、单岗位分类查询
当用户只想看某一类岗位时(如只看思政教师、只看国企党建):
- 加载
references/profile.md和references/sources.md - 仅使用与该岗位类型对应的数据源和关键词
- 仍然按匹配度评分排序
- 输出只包含该类型的表格
三类岗位的数据源映射:
| 岗位类型 | 优先数据源 | 核心关键词 |
|---|---|---|
| 思政教师 | 高校人才网·马理论 + 成都高校人事处 | 成都 马克思主义 教师 思政课 专任 |
| 辅导员 | 高校人才网·辅导员频道 + 成都高校人事处 | 成都 辅导员 硕士 |
| 国企党建 | 国聘网 + 央企招聘平台 + 成都国企官网 | 成都 党建 党群 纪检监察 党委 |
三、批量汇总(含匹配度评分)
当需要一次性汇总多个来源的招聘信息:
- 加载
references/sources.md确定成都相关的全部数据源 - 对每个数据源使用
web_fetch抓取内容 - 按归一化 schema 提取 → 满匹配度评分 → 按评分降序输出
- 单独列出「本硕一致硬性要求」的高风险岗位
归一化 schema 已扩展匹配度字段:
{
"id": "唯一标识",
"title": "岗位标题",
"organization": "招聘单位",
"job_type": "sizheng_teacher | fudaoyuan | guoqi_dangjian | other",
"location": "工作地点",
"is_chengdu": true,
"deadline": "截止日期",
"detail_url": "详情链接",
"match_score": 4.2,
"match_details": {
"location_score": 5,
"job_match_score": 5,
"major_match_score": 5,
"edu_match_score": 5,
"major_consistency_risk": "not_required",
"deadline_score": 3
},
"requirements": {
"education": "硕士及以上",
"major": "马克思主义理论",
"political_status": "中共党员",
"major_consistency_required": false
},
"risk_flags": ["major_consistency_required", "phd_preferred"]
}
四、自动化部署(长期监控)
搭建自动化招聘信息监控系统,按以下步骤执行:
4.1 方案选择
| 方案 | 适用场景 | 技术栈 | 维护成本 |
|---|---|---|---|
| A. Python 爬虫 + 定时任务 | 结构化页面、有 API 接口 | Python + requests/BeautifulSoup + cron | 低 |
| B. Playwright 浏览器自动化 | JS 渲染页面、需要登录 | Playwright + cron | 中 |
| C. RSS 订阅聚合 | 支持 RSS 的数据源 | RSSHub / FreshRSS | 极低 |
| D. GitHub Actions 定时任务 | 不需要持久化服务器 | GitHub Actions + Python | 极低 |
推荐组合:C(RSS 优先)→ A(API 爬取)→ B(兜底)→ D(部署)
4.2 使用 Python 爬虫脚本
执行 scripts/aggregate.py 进行批量聚合:
# 默认模式:成都 + 用户画像 + 全部三类岗位
python3 scripts/aggregate.py --profile --location 成都
# 只看思政教师岗
python3 scripts/aggregate.py --profile --location 成都 --type sizheng_teacher
# 只看国企党建行政岗
python3 scripts/aggregate.py --profile --location 成都 --type guoqi_dangjian
# 输出 Markdown 报
告
python3 scripts/aggregate.py --profile --location 成都 --format markdown --output report.md
参数说明:
- --type: sizheng_teacher(思政教师)| fudaoyuan(辅导员)| guoqi_dangjian(国企党建行政)| all(全部)
- --profile: 启用用户画像匹配度评分(默认开启)
- --location: 工作地点过滤(默认:成都),支持 成都 全国 等
- --output: 输出文件路径
- --days: 仅抓取最近 N 天(默认 14)
- --format: json | csv | markdown
- --only-new: 仅输出本次新发现的岗位(基于 assets/job_store.jsonl 增量库)
- --source: 指定数据源 key(可用源见 assets/sources.json,高校人事处源 key 形如 univ_scu)
脚本会自动:
1. 读取 references/sources.md 筛选成都相关数据源
2. 依次请求各数据源
3. 解析 HTML/JSON 提取结构化招聘信息
4. 按用户画像计算匹配度评分
5. 去重并检出本硕一致要求的风险岗位
6. 按评分降序输出
五、单页面提取
对于单个招聘页面的信息提取:
- 使用
web_fetch获取页面内容 - 自动提取关键字段:岗位名称、单位、地点、学历要求、专业要求、政治面貌、本硕一致要求、截止日期、联系方式
- 自动计算该岗位对用户画像的匹配度
- 输出结构化 JSON + 匹配度评分
六、通知推送
汇总完成后,默认输出为科技·简洁·白底风格的 HTML 报告(见 1.4);也可通过以下方式推送结果:
- HTML 报告(默认) — 基于
assets/report-template.html生成本地.html,浏览器直接打开 - 企业微信文档 — 使用
企业微信文档MCP 将结果写入智能表格 - 企业微信消息 — 通过
wecom-unifiedskill 发送汇总消息 - Markdown / JSON / CSV 文件 — 用户明确要求时输出对应格式
- 邮件 — 通过 SMTP 发送汇总报告
七、用户特别注意事项(每次查询必检)
对每条招聘信息,额外检查以下与用户画像相关的风险点:
| 风险点 | 检查方法 | 处理 |
|---|---|---|
| 本硕专业一致性 | 检查招聘简章中是否出现"本硕专业一致""本硕一致""本硕阶段均为" | 如出现,标记为高风险并单独列出 |
| 博士优先 | 检查是否标注"博士优先""博士研究生优先" | 标记为中等风险,用户可尝试但竞争压力大 |
| 第一学历要求 | 检查是否要求"第一学历为全日制本科"或"211/985/双一流" | 四川农业大学为 211/双一流,此项通常无风险 |
| 年龄限制 | 检查是否设硕士年龄上限(常见 30/35/40 周岁) | 标注年龄要求供用户自查 |
| 毕业时间窗口 | 检查是否明确要求"2027 年应届"或允许提前/延后毕业 | 用户为 27 届毕业生,确认时间匹配 |
Resources
assets/report-template.html
默认最终交付用的 HTML 报告模板,科技·简洁·纯白底板风格,内置全部 CSS 与渲染引擎、无外部依赖。采用「纯 JSON 数据块 + 渲染引擎分离」设计:只需替换文件中 <script id="page-data" type="application/json"> 内的一段 JSON,页面即自动渲染(勿改 CSS 与渲染脚本)。JSON Schema 与填写规范见 1.4。
scripts/aggregate.py
Python 批量聚合脚本,支持按用户画像、地点、岗位类型过滤。直接执行即可,无需加载到上下文。
scripts/store.py
增量状态层:job_store.jsonl(跨运行去重、is_new 标记、连续 3 次未出现判定下线)与 source_health.json(数据源健康度,连续 3 次失败告警)。由 aggregate.py / ingest.py 自动调用,无需手工执行。
scripts/ingest.py
AI 补搜结果回流脚本:把 web_search 收录的岗位写入增量库,下次不再重复标记为「新」。
assets/sources.json
数据源外置配置(扩充真源):聚合平台 + gov 人社渠道 + 第三方平台。新增数据源只需在此追加条目,无需改代码。
assets/university_hr_pages.json
成都高校人事处招聘页清单(26 所),驱动定向抓取器逐校扫描(univ_<key> 虚拟源)。enabled=false 可临时停用某校。
assets/job_store.jsonl / assets/source_health.json
运行时状态文件,由脚本自动维护,禁止手工编辑;如需重置增量基线可直接删除(下次运行重新全量入库)。
references/sources.md
完整数据源清单(含成都本地高校、国企、人社渠道),包含各平台 URL、API 特征和搜索策略。
references/profile.md
用户个人背景档案,包含教育经历、求职偏好、硬性条件和注意事项。