🚀 An industrial-grade AI job application system (BOSS/Liepin/51job). Workflow: Scraping ➡️ SQLite ➡️ LLM Eval ➡️ RPA Delivery. | 🚀 工业级全自动 AI 求职系统。工作流:自动抓取 ➡️ SQLite 入库 ➡️ LLM 深度评估 ➡️ RPA 静默投递。基于 FastAPI, LangGraph & DrissionPage.
Last updated Jul 4, 2026
52
Stars
9
Forks
0
Issues
0
Stars/day
Attention Score
47
Topics
Language breakdown
Python 55.7%
TypeScript 43.4%
CSS 0.8%
JavaScript 0.0%
▸ Files
click to expand
README
🚀 Auto-Job-Hunter | 全自动 AI 求职
Auto-Job-Hunter 是一个工业级的多平台全自动求职系统。它不仅仅是一个爬虫,而是一个集成了 DOM 穿透抓取、多智能体(Multi-Agent)简历重写、一票否决规则树、以及飞书云端大盘 的硬核求职矩阵。
支持平台:BOSS 直聘 | 前程无忧 (51job) | 猎聘网
✨ 核心特性 (Features)
- 🕷️ 多平台制霸与防风控
- 🧠 LangGraph 多智能体协作
Splitter -> Architect -> Critic -> Formatter 四阶段 Agent 工作流。
* 独创 80 分放行机制,打分不合格自动打回重写,确保发给 HR 的每一句话都是王炸。
- 🛡️ 双漏斗清洗过滤引擎 (Veto System)
- 📊 云端与本地数据双向奔赴
- 💻 极客范 Next.js 控制台
🏗️ 架构全景 (Architecture)
抓取 (Scrape) ➡️ 入库 (SQLite) ➡️ 规则清洗 (Rule Filter) ➡️ 云端看板 (Feishu) ➡️ 深度评估 (LLM Agent) ➡️ 自动投递 (Auto Delivery)
🛠️ 快速开始 (Quick Start)
1. 硬件与系统前置要求 ⚠️ (必看)
- 操作系统:当前代码高度定制化,建议在 macOS 环境下运行(底层强依赖 Mac 的
osascript唤醒浏览器机制及 Mac 版 Word 的 PDF 转换引擎)。Windows/Linux 用户需自行修改底层的脚本执行逻辑。 - Python:3.10 及以上版本(代码中使用了
X | Y等较新的语法特性)。 - Node.js:18+(并全局安装
pnpm包管理器)。 - 系统依赖:必须通过 Homebrew 安装
poppler(PDF 转长图引擎的 C++ 底层依赖)。 - 账号与秘钥:准备好 OpenAI 格式的大模型 API Key,以及一个飞书账号。
2. 基础环境搭建
打开 Mac 终端,按顺序执行以下命令:# 1. 安装系统级依赖
brew install poppler
2. 克隆项目
git clone https://github.com/[你的用户名]/Auto-Job-Hunter-OpenSource.git
cd Auto-Job-Hunter-OpenSource
3. 配置 Python 虚拟环境 (强烈推荐)
python3 -m venv venv
source venv/bin/activate
4. 安装 Python 全家桶依赖
pip install -r requirements.txt
5. 下载 Playwright 浏览器专属内核 (必须执行)
playwright install chromium
3. 初始化极客控制台 (前端)
由于前端使用了锁版本的pnpm-lock.yaml,请务必使用 pnpm 安装:
# 如果你没有 pnpm,先全局安装:npm install -g pnpm
cd frontend
pnpm install
cd ..
4. 授权 Mac 辅助功能 (防报错关键)
由于脚本使用了pyautogui 模拟真实的物理鼠标轨迹:
- 请打开 Mac 的 「系统设置」 -> 「隐私与安全性」 -> 「辅助功能」。
- 将你的 终端应用 (Terminal / iTerm2) 以及 IDE (VSCode / Cursor / PyCharm) 添加进去并开启开关,否则运行时会报权限错误。
5. 配置文件与基础设施
复制环境模板并填入你的密钥:cp common/config_example.py common/config.py
cp .env.example .env
(请在 .env 中填入你的 OPENAIAPIKEY,飞书相关的 Key 将在下一步获取)
6. 📊 飞书多维表格 (Bitable) 数据库配置指南
本项目使用“飞书多维表格”作为轻量级的云端数据库和极客控制面板。为了让程序能够读写你的飞书表格,请严格按照以下步骤配置:6.1 克隆数据库模板
- 打开模板:访问 👉 Auto-Job-Hunter 求职自动化模板(访问密码:
9&8T6388)。 - 转存模板:点击页面右上角的 “使用该模板” 或 “复制”。
- 确认转存:将其保存到你的“我的空间”中。接下来的所有 ID 获取操作,都请在你自己空间下的这份新表格中进行。
6.2 获取开发者凭证与终极授权 (APPID & APPSECRET)
- 登录平台:访问 飞书开放平台 并登录。
- 创建应用:点击 “创建企业自建应用”,为应用起名(例如:
Auto-Job-Hunter),点击创建。 - 获取密钥:在左侧栏 “凭证与基础信息” 中复制
App ID和App Secret,填入.env文件。 - 🤖 添加机器人实体(必做!):在左侧栏 “应用功能” -> “添加应用能力” 中,找到 “机器人” 并点击添加。(注:只有赋予了机器人能力,你的代码才能拥有一个“身份”去编辑文档)。
- 开通数据权限:在左侧栏 “开发配置” -> “权限管理”,开通以下两个核心权限:
查看、评论、编辑和管理多维表格 (bitable:app:read_write)
* 查看、评论和导出多维表格 (bitable:app:readonly)
- 发布应用:在左侧栏 “应用发布” -> “版本管理与发布”,创建版本(如
1.0.0)并申请发布。 - 🔑 给机器人“发钥匙”(极其重要!防 403 报错指南):
+ 号的小人图标)。
* 在搜索框中搜索你创建的应用名称(如 Auto-Job-Hunter),授予其 “可编辑” 权限并完成。
* 💡 【进阶避坑 Workaround】:如果系统抽风,在协作者搜索框里搜不到你的应用,请使用以下“曲线救国”绝招:
1. 打开飞书客户端,发起一个群聊,把你本人和刚才创建的机器人拉进同一个群。
2. 将你的多维表格链接直接发送到这个群聊中。
3. 在表格的分享面板中,将权限设置为“获得链接的群成员均可编辑”。这样机器人就能顺理成章地获得数据写入权限了!
6.3 获取数据库坐标 (APPTOKEN & TABLEID)
观察转存后的飞书多维表格浏览器网址:https://你的域名.feishu.cn/base/xxxxxxxxxxxxxx?table=yyyyyyyyyy&view=...
- 获取 APP_TOKEN(Base ID):
/base/,App Token 是 /base/ 后面、? 之前的一串字符。(填入 .env 的 FEISHUAPPTOKEN)*
* Wiki 模式:若网址以 /wiki/ 开头,请去 飞书 API 调试台 -> “知识库” -> “获取节点信息 (getnode)”,传入 wiki 链接里的代码获取真实的 obj_token,填入 .env。
- 获取五个关键 TABLE_ID:
table= 后面的 ID 就会改变。请依次复制并填入 .env:
* 岗位表 ➡️ FEISHUTABLEID_JOBS
* 配置表 ➡️ FEISHUTABLEID_CONFIG
* 提示词表 ➡️ FEISHUTABLEID_PROMPTS
* 简历表 ➡️ FEISHUTABLEID_RESUMES
* 偏好表 ➡️ FEISHUTABLEID_PREFERENCES
7. 初始化本地 SQLite 数据底座
python data/db_manager.py
看到 "✅ 数据库初始化成功!WAL 模式已激活" 即可
🚀 运行系统 (Usage)
系统采用“先物理授权,后逻辑调度”的防风控模式,请按以下流水线操作:
阶段一:采集身份令牌 (Cookie Harvesting)
首次运行,需让系统获取各大平台的通行证(本地缓存,绝不上云)。- BOSS 直聘:
python boss_scraper/boss login --cookie-source edge
# 按提示打开 Edge 登录 Boss 直聘网页版,终端显示“✅ 登录成功”即可。
- 猎聘网:
python liepinscraper/liepincookie_harvester.py
- 前程无忧 (51job):
python 51jobscraper/51jobcookie_harvester.py
(💡 运行后系统会弹出浏览器,请手动完成扫码登录,看到成功提示后关闭浏览器即可。有效期内无需重复获取。)
阶段二:启动控制台基础服务
新开两个终端窗口,分别运行后台引擎与极客控制台:# 终端 1:启动 FastAPI 后端大脑
cd jobhunter-backend
python main.py
终端 2:启动 Next.js 沉浸式工作台
cd frontend
pnpm dev or npm run dev
浏览器打开 http://localhost:3000
阶段三:下达自然语言指令 (NL Controller)
授权完成后,即可进入“脱离浏览器”的自动化调度阶段。在终端启动对应的调度管家:- 启动 BOSS 调度:
python bossscraper/bossnl_controller.py - 启动猎聘调度:
python liepinscraper/liepinnl_controller.py - 启动 51job 调度:
python 51jobscraper/51jobnl_controller.py
指令示例:"帮我抓取广州和深圳的 AI 产品经理,薪资 20-30k,抓取前 3 页数据。"
(⚠️ 提示:为确保成功越过风控,Boss 采集时系统会在需要时自动弹出浏览器新标签页,请勿关闭,抓取结束后可手动清理。)
📂 核心目录解析
common/:全局配置与飞书底层 API。data/:SQLite WAL 数据库。bossscraper/&51jobscraper/&liepin_scraper/:三大平台物理隔离的自动化抓取引擎。jobprocessor/:数据处理大脑,包含ruleconfig.json(一票否决黑名单)。aiagents/&multiagent_workflow/:基于 LangGraph 的简历/话术重写工厂。backend/:FastAPI 调度器。frontend/:Zustand + SSE 驱动的现代化 React 前端。
⚠️ 免责声明 (Disclaimer)
- 本项目开源仅供编程学习与 AI 自动化工作流交流使用。
- 请合理控制抓取频率,尊重各大招聘平台的服务器资源。滥用极高频率并发抓取导致封号,作者概不负责。
- 代码中已包含适当的随机休眠与防风控机制,但在使用全自动投递功能时,请务必检查大模型生成的话术,避免社死。
🤝 参与贡献 (Contributing)
如果你觉得这个项目很酷,欢迎提交 PR 优化底层逻辑,或者添加更多的招聘平台支持!也欢迎在 Issue 区讨论 AI 求职的更多可能性。🙏 致谢 (Acknowledgments)
本项目的诞生离不开开源社区的灵感与前人的探索,特此致谢以下优秀的开源项目:- 终端 CLI 交互与登录授权逻辑:部分参考自 jackwener/boss-cli。
- 10 维度 AI 简历深度评估模型:部分灵感与评估维度参考自 santifer/career-ops。
⭐️ 如果这个工具帮你拿到了心仪的 Offer,请给它点个 Star! ```
⚖️ 版权声明 (License)
Copyright (c) 2026 Jolie Zeng (jolie-z). All rights reserved.
本项目源代码及相关文档仅供个人学习、技术研究及非商业性质的交流使用。 未经作者(Jolie Zeng)明确书面许可,严禁将本项目用于任何形式的商业用途(包括但不限于:作为 SaaS 服务提供、二次打包售卖、嵌入商业产品中牟利等)。商用授权请联系作者沟通。
🔗 More in this category