Skip to content

Repository files navigation

BOSS Bot--职迹

一个面向多种求职场景的本地求职运营工作台。项目将职位信息整理、简历匹配、职业画像、AI 辅助决策和求职进度记录集中到同一个 Flask Web 界面中,帮助使用者在本地完成信息分析与求职复盘。

小黑将散乱岗位卡送入求职分拣台,依次完成简历匹配、决策与跟进

本项目仅用于技术交流、学习研究和本地实验,不构成商业服务、招聘服务或平台运营工具。

核心能力

职位数据与市场分析

  • 通过受控浏览器流程采集公开可见的职位信息,并保存职位、公司、技能、福利和 JD 等数据。
  • 支持职位列表分页、关键词搜索、HR 活跃状态、经验、学历、匹配分和跟进状态筛选。
  • 支持自动补抓岗位 JD,并在任务启动前提示单次任务规模,避免高频、过量访问。
  • 基于本地岗位库生成城市、薪资、经验、学历、行业、高频技能和 JD 完整率等分析视图。
  • 支持导出岗位 CSV 与分析报告,便于后续在 Excel、Python 或 BI 工具中继续分析。

简历匹配与职业画像

  • 支持上传 PDF、DOCX、TXT、MD 简历并在本地提取文本。
  • 从简历生成可编辑的匹配配置,包括目标岗位、技能、行业偏好与排除条件。
  • 支持对历史岗位批量重新计算匹配度。
  • 提供深度简历解读:简历质量、优势、风险与缺口、优先改进建议和求职策略。
  • 自动生成职业画像,并以技能证据、实习/工作经历、项目经历、教育经历等结构化卡片展示。
  • 职业画像可人工确认或在“高级编辑职业画像”中修改后保存,后续 AI 面试会使用确认后的版本。
  • 对部分兼容模型不稳定的 JSON 输出提供文本兼容模式,避免因格式问题中断简历解读。

AI 求职辅助

  • 采用国内模型优先的 AI 配置:内置 DeepSeek、通义千问/阿里云百炼、Kimi、百度千帆、智谱 GLM、MiniMax 和本地 Ollama 预设;同时保留其他 OpenAI 兼容服务与 OpenAI Responses API。
  • 选择预设后会自动填入推荐的协议、Base URL 和模型名,用户只需填写对应服务商的 API Key;模型名和 Base URL 仍可按控制台配置修改。
  • 保存配置后会自动发起一次不包含简历、岗位数据的短连接测试,并显示“未验证 / 验证成功 / 验证失败”状态;可随时单独重新测试。
  • 支持岗位 AI 评价:推荐理由、风险点和行动建议。
  • 招呼语会针对每个岗位,结合已入库 JD、已保存的简历职业画像和简历原文事实生成;支持人工编辑、重新生成、保存与复制。
  • 可从岗位详情发起 AI 模拟面试,当前支持:综合初面、专业技能面、项目深挖、HR 面、压力追问。
  • 模拟面试支持逐轮回答、即时反馈与结束复盘;记录仅保存于本地数据库,不会发送到任何招聘平台。

求职流程管理

  • 支持将岗位加入待处理队列,并手动维护投递状态、投递时间、渠道、简历版本和备注。
  • 支持公司黑名单;被拉黑公司会在默认岗位列表中隐藏,并跳过后续入库。
  • 支持生成、保存、复制招呼语草稿;浏览器单条发送需要用户二次确认。
  • 支持用户主动开启并保持一个可见浏览器会话;爬取完成后不自动关闭,消息检查、单条招呼和单条投递会串行复用同一登录态。
  • 支持单条受控投递尝试:只有页面给出明确信号后才更新本地状态,无法确认时由用户手动记录。
  • 支持只读检查未读会话并生成 HR 回复提醒;不会自动回复消息。

技术栈

  • 后端:Python、Flask、SQLite
  • 浏览器层:DrissionPage、Chrome
  • 简历解析:pypdf、python-docx
  • AI 接口:OpenAI Responses API / OpenAI 兼容 Chat Completions API
  • 前端:原生 HTML、CSS、JavaScript

快速开始

1. 安装依赖

请在启动 Web UI 的同一个 Python 环境中安装依赖:

python -m pip install -r requirements.txt

如果运行时出现 No module named 'DrissionPage',通常表示当前启动服务的 Python 环境与安装依赖的环境不一致。

2. 启动服务

python app.py

打开 http://127.0.0.1:5000

Windows 下开发更新后,可使用项目内的重启脚本清理旧 Flask 进程并启动新服务:

powershell -ExecutionPolicy Bypass -File .\restart_server.ps1

3. 推荐使用流程

  1. 在“匹配度配置”上传简历,检查自动提取的目标岗位与技能。
  2. 打开“简历工作区”,生成深度简历解读并确认职业画像。
  3. 配置搜索条件后启动小规模职位采集;建议每次仅使用 1 个关键词、1–2 页。
  4. 在“岗位雷达”筛选和查看岗位详情,结合 AI 评价决定是否加入待处理队列。
  5. 手动记录投递与沟通进度;需要时从岗位详情发起本地 AI 模拟面试。

数据与隐私

项目会在本地保存 SQLite 数据库、简历文本、浏览器登录状态、Cookie、浏览器 Profile、AI 配置和操作日志。这些内容可能包含个人信息或认证信息。

  • 请不要将 boss_bot.dbboss_cookies.json、浏览器 Profile、日志文件或包含 API Key 的配置上传到公开仓库。
  • 共享或发布代码前,请自行检查并移除个人简历、职位数据、Cookie、截图和密钥。
  • 使用 AI 接口前,请阅读并理解所选服务商的数据处理与隐私政策。

使用边界与平台规则

本项目必须在遵守适用法律法规及目标平台用户协议、robots 规则、隐私政策和访问规范的前提下使用。

  • 不得绕过、破坏或对抗平台安全机制、访问控制或风控系统。
  • 不得高频请求、批量抓取、恶意访问或影响平台正常运行。
  • 不得未经授权收集、保存、传播个人信息或其他受保护数据。
  • 不得批量骚扰、发送垃圾消息、虚假沟通,或在未确认的情况下自动投递、自动回复。
  • 浏览器自动化仅应在用户知情、单条确认、合理频率和合法授权的范围内进行。

使用者应对自己的配置、运行方式和由此产生的行为承担全部责任。

致谢

浏览器自动化与爬虫层在开发和学习过程中参考了 GitHub 开源项目 BossFlow 的部分思路与实践。感谢 BossFlow 原作者及所有贡献者的无私开源和技术分享。

README 工作流配图使用 Ian Xiaohei Illustrations Skill 生成,感谢作者 Ian 的开源分享。

如使用或参考相关开源项目,请同时遵守其许可证、版权声明和使用条款。本项目不声明拥有 BossFlow 的代码或相关知识产权。

联系方式

项目交流、学习讨论或版权相关问题请联系:

13996232430@163.com

项目状态

项目仍处于持续迭代的学习与实验阶段。招聘平台页面、接口和规则可能发生变化,浏览器自动化流程也可能随之失效;请在隔离环境中验证,并自行评估使用风险。

About

AI-powered job search assistant for BOSS直聘: job crawling, resume analysis, JD matching, personalized greetings, application tracking, and interview simulation.

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Contributors

Languages