某直聘智能求职 Agent — 从岗位采集、AI 评分到人工确认投递、回复监测与定制简历生成的本地自动化流水线
🚀 本地运行 · 🔒 人工确认 · 🤖 多模型兼容 · 🧭 Chrome 自动化
BossHunter 面向正在集中求职、又不想把时间耗在重复筛选和机械沟通上的用户。它通过「AI 评分 + 人工确认」策略,帮助你筛选岗位、准备沟通内容并管理投递状态,同时把最终发送决定留在你手里。
搜索岗位 → AI 评分筛选 → 生成个性化招呼语 → 人工确认 → 发送 → 监听 HR 回复 → 生成定制简历
如果 BossHunter 帮你少做一次重复筛选、多抓住一个合适机会,欢迎点亮一个 🌟 Star。你的支持能让更多有同样需求的求职者发现它,也会推动兼容性和稳定性继续更新。
想及时了解新版本,可以点击仓库右上角 Watch → Custom → Releases;遇到问题或有功能建议,欢迎提交 Issue。
Star 完全自愿,不影响任何功能使用。
完整演示入口: 点击观看 BossHunter 产品功能演示视频
视频演示了从配置、岗位采集、AI 评分、人工确认、发送招呼语到监测执行的完整链路。
本项目仅供学习、研究与个人求职效率提升使用。
- 本项目与任何招聘平台及其关联公司无任何隶属、合作或背书关系。
- 使用自动化工具操作第三方平台可能违反其用户协议,由此产生的账号限制、封禁、法律纠纷等后果由使用者自行承担。
- 作者不对任何直接或间接损失负责。
- 请合理设置频率限制,避免对平台造成负担。
- 建议仅在个人求职期间短期、低频使用。
找工作过程中,很多时间都消耗在重复搜索岗位、筛选匹配度、修改招呼语和跟进消息上。
BossHunter 希望把这些重复流程交给 AI 和自动化处理,让求职者把精力放在更重要的事情上:
- 判断机会是否真的适合自己
- 优化简历和项目经历
- 准备面试
- 跟进真正有价值的岗位反馈
BossHunter 不是为了鼓励无脑海投,而是希望帮助你更高效、更有判断力地管理求职流程。
BossHunter 适合这些用户:
- 正在集中投递岗位的求职者
- 想用 AI 提高简历投递效率的人
- 想减少重复筛选岗位时间的人
- 希望本地运行、不想把账号和简历交给第三方平台的人
- 对 AI Agent、浏览器自动化、求职效率工具感兴趣的开发者
| 能力 | 说明 |
|---|---|
| 智能采集 | 基于关键词与城市自动翻页采集岗位,内置去重 |
| AI 两阶段评分 | 快速预筛(关键词匹配) → 深度评分(AI 分析 JD) |
| 定制招呼语 | AI 根据岗位 JD + 个人简历生成个性化开场白 |
| 人工确认 | 投递前必须经过确认,支持逐个/批量审核 |
| 低频发送策略 | 随机间隔、时间窗口、每日上限、发送前浏览 |
| HR 回复监听 | 自动检测 HR 回复,触发建议回复或定制简历生成 |
| 简历请求识别 | 识别附件简历请求卡片,生成定制简历并等待手动发送 |
| Web Dashboard | 可视化看板,实时查看漏斗数据、岗位状态与监测执行 |
| 自动跟进 | 超过设定时间未回复时自动发送一次跟进消息 |
采集(scrape) → 预筛(prefilter) → AI评分(score) → 人工确认(confirm)
→ 招呼语(greet) → 发送(send) → 自动监测(monitor)
→ 简历请求 / AI建议回复 / 自动跟进
关键边界:投递与敏感动作必须保留人工确认点,不做完全无人值守的高频自动投递。
| 依赖 | 版本 | 用途 |
|---|---|---|
| Python | 3.10+ | 核心运行时 |
| Node.js | 22+ | 本地 Browser Runtime / CDP 代理 |
| Chrome | 最新稳定版 | 连接已登录浏览器 |
| AI API Key | — | Anthropic 或 OpenAI 兼容接口 |
Important
BossHunter 不会代替你启动或登录招聘平台。运行前请先完成:
- 使用 Google Chrome 启动远程调试;
- 在这个可远程控制的 Chrome 窗口中提前登录要使用的招聘网站,并保持窗口打开;
- 在本地配置面板连接好 AI API,并通过
bosshunter ai-status检测。
方式一(推荐):在 Google Chrome 地址栏输入 chrome://inspect/#remote-debugging,勾选 Allow remote debugging。
方式二:使用启动参数:
# Windows
chrome.exe --remote-debugging-port=9222 --user-data-dir="%LOCALAPPDATA%\BossHunterChrome"
# macOS
open -na "Google Chrome" --args --remote-debugging-port=9222 --user-data-dir="$HOME/.bosshunter-chrome"
# Linux
google-chrome --remote-debugging-port=9222 --user-data-dir="$HOME/.bosshunter-chrome"使用启动参数时会打开独立的 Chrome 用户目录。请在这个新窗口中登录招聘网站;登录在其他 Chrome 窗口中无法被 BossHunter 复用。
# 1. 克隆仓库
git clone https://github.com/powerycy/BossHunter.git
cd BossHunter
# 2. 安装 Python 依赖
pip install -e .
# 可选:仅在需要 xhtml2pdf fallback 渲染时安装
pip install -e ".[pdf]"- 按上方方式开启 Chrome 远程调试。
- 在同一个 Chrome 窗口中打开招聘网站并完成登录。
- 保持 Chrome 运行,不要在任务期间关闭这个远程控制窗口。
bosshunter web打开 http://127.0.0.1:8686,完成:
- 上传 Markdown(
.md)或 Word(.docx)简历。 - 设置搜索关键词、目标城市、评分阈值、发送频率和时间窗口。
- 在「AI 设置」选择 Claude、DeepSeek、豆包或其他兼容服务,填写服务商提供的 API Key 和模型名称。
- 保存后运行:
bosshunter ai-status只有显示 AI 连接通过后,再开始投递。API Key 只在本地面板输入,不要粘贴到 Issue、聊天记录或提交文件中。
bosshunter connect
bosshunter runbosshunter connect 只检测连接,不会自动启动 Chrome。如果检测失败,请回到第二步重新开启远程调试,并确认招聘网站已在同一 Chrome 窗口登录。
系统自动执行:采集 → AI 评分 → 人工确认 → 生成招呼语 → 发送 → 自动监测。
请使用已开启远程调试、且已登录招聘网站的 Google Chrome。操作间存在拟人化时间间隔,可在工作台点击停止,命令行模式下按
Ctrl+C停止。
bosshunter run自动执行:采集 → 评分 → 确认 → 招呼语 → 发送 → 自动监测。
bosshunter scrape -k "Python开发" # 采集
bosshunter score # AI 评分
bosshunter confirm # 人工确认
bosshunter greet # 生成招呼语
bosshunter send # 发送已生成的招呼语bosshunter monitor # 持续监听 HR 回复(默认30分钟间隔)
bosshunter monitor --once # 只检查一次bosshunter web # 打开 http://127.0.0.1:8686bosshunter ai-status # 安全检测 AI 服务连接(不显示 Key)
bosshunter status # 简要统计
bosshunter status --full # 完整仪表盘核心配置项:
| 配置段 | 关键字段 | 说明 |
|---|---|---|
profile |
resume_path, salary_min/max, deal_breakers |
简历路径、期望薪资与排除条件 |
search |
keywords, cities, max_pages |
搜索策略 |
scoring |
threshold, prefilter_threshold |
评分阈值 |
throttle |
daily_limit, interval_min/max, send_windows |
低频发送策略 |
ai |
service, provider, model, api_key, base_url |
AI 服务与接口配置 |
monitor |
interval, max_resume_sends_per_cycle |
监听设置 |
follow_up |
enabled, interval_hours, skip_weekends |
跟进策略 |
配置页可直接选择 Claude、DeepSeek、豆包或其他 OpenAI 兼容接口:
- Claude / Anthropic:使用 Anthropic Messages;可通过
ANTHROPIC_API_KEY提供 Key。 - DeepSeek:自动使用 OpenAI Chat Completions 和官方 Base URL;可通过
DEEPSEEK_API_KEY提供 Key。 - 豆包 / 火山方舟:自动使用 OpenAI Chat Completions 和方舟 Base URL;可通过
ARK_API_KEY提供 Key。 - 其他 OpenAI 兼容接口:填写服务商提供的 Base URL 和模型 ID;可通过
OPENAI_API_KEY提供 Key。 - 安装 AI 只检测标准环境变量是否存在,不读取或输出 Codex、Claude Code、ChatGPT 等工具自身的登录凭证。
- 可运行
bosshunter ai-status安全验证当前配置,命令不会显示完整 Key。 - 公开仓库不包含任何真实 API Key、内部域名或个人配置。
BossHunter/
├── SKILL.md # Skill 行为定义(Claude Code 加载)
├── README.md # 本文件
├── LICENSE # MIT License
├── config.example.yaml # 配置模板(脱敏)
├── pyproject.toml # Python 包定义
├── .gitignore # 安全排除规则
├── resume.example.md # 简历模板示例
├── docs/demo/ # 产品截图与演示视频
├── src/
│ └── bosshunter/ # 核心源码
│ ├── main.py # CLI 入口
│ ├── config.py # 配置加载
│ ├── db.py # SQLite 数据层
│ ├── pipeline.py # 流程编排
│ ├── ai/ # AI 评分 + 招呼语 + 简历生成
│ ├── browser/ # Browser Runtime / CDP 连接
│ ├── scraper/ # 岗位采集
│ ├── executor/ # 发送 + 监听
│ ├── tracker/ # 状态追踪
│ ├── throttle.py # 低频发送策略
│ ├── dedup/ # 去重
│ ├── ui/ # 终端交互 UI
│ └── web/ # Web Dashboard
└── data/ # 运行时数据(不入库)
├── bosshunter.db
└── resumes/
本项目默认采用保守策略:
- 时间窗口 — 仅在配置时间窗口内发送
- 随机间隔 — 每次操作间隔随机
- 每日上限 — 限制每天发送数量
- 发送前浏览 — 发送前先浏览岗位页
- 随机休息 — 小概率跳过当天
- 渐进退避 — 连续错误时自动增加间隔
- 人工确认 — 所有投递必须经过人工审核
即便如此,无法保证 100% 不被检测。请自行评估风险。
A: 存在风险。本项目通过低频、随机间隔、时间窗口和人工确认降低风险,但平台随时可能更新检测逻辑。建议保守配置。
A: 支持官方 Anthropic、Anthropic Messages 兼容接口和 OpenAI 兼容的 Chat Completions 接口。兼容服务需要自行填写 Base URL、API Key 与模型名。
A: 支持 Markdown(.md)和 Word(.docx)简历;Word 文件会在本地转换为 Markdown 后使用。旧版二进制 .doc 暂不支持。AI 会根据具体岗位 JD 动态生成定制简历,并输出 PDF。
A: 项目通过 CDP (Chrome DevTools Protocol) 直连你日常使用的浏览器,天然携带登录态,无需保存招聘平台账号密码。
| 日期 | 版本号 | 类型 | 更新内容 |
|---|---|---|---|
| 2026-08-02 | v2.2.0 | 功能与稳定性 | 单岗位失败不再中断全流程;额度未完成岗位下次优先续发;加强首次沟通、历史会话、任务停止、后台页面与最新配置生效逻辑,并简化工作台。 |
| 2026-07-30 | v2.1.1 | 稳定性修复 | 修复 AI 评分与招呼语可能因 Token 限制中断的问题:回答被截断时增大输出上限重试,上下文过长时压缩请求,额度或限流异常会保留进度并在工作台显示原因。 |
| 2026-07-30 | v2.1.0 | 功能与体验 | 支持中文名 Markdown 和 Word(.docx)简历;新增 DeepSeek、豆包和自定义兼容 API;启动前会明确提示 Chrome、远程调试与 AI 配置问题。 |
| 2026-07-27 | v2.0.0 | 功能改进 | 优化定制简历投递和监测恢复流程,并清理公开文档中的隐私信息。 |
| 2026-06-29 | v2.0.0 | 稳定性 | 修复工作台任务可能卡住的问题;自动跟进默认关闭,把发送决定留给用户。 |
查看每个版本的完整说明:CHANGELOG.md
展开查看 v2.2.0 功能与稳定性更新
- 部分失败继续流程:单个岗位发送失败后单独记录,其他岗位和后续 HR 回复监测继续执行。
- 额度待办自动续发:因每日额度未执行的已确认岗位保留招呼语,下次运行全流程时优先处理。
- 最新配置立即生效:人工确认期间修改的每日上限、发送间隔等设置,在真正发送前重新读取。
- 首次沟通与历史会话兼容:根据平台预设招呼语、首次沟通编辑器和已存在会话选择对应发送路径,增加结果验证与安全重试。
- 停止更及时:采集、AI 请求、招呼语、发送和监测统一响应停止请求,已完成结果会保留。
- 工作台简化:移除普通用户不需要的全量重新评分入口,三个主要操作按三栏布局展示。
- 系统性风险仍会暂停:验证码、限流、账号拦截或连续系统错误会中止发送,避免继续触发平台风控。
- @yukinoshi:提交 #25,贡献多 AI 服务兼容与 Thinking 参数等改进思路。
- @elowenzhouyb-source:提交 #27,贡献 AI 评分、招呼语与发送可靠性等改进思路。
展开查看 v2.1.1 稳定性修复
- Token 截断自动恢复:评分或招呼语回答因输出上限被截断时,自动增大当前请求的输出 Token 上限后重试。
- 上下文超限自动恢复:简历或岗位内容超过模型上下文时,保留关键信息并压缩当前请求后重试。
- 失败不丢进度:单个岗位仍失败时保留待处理状态;额度不足、限流或鉴权异常会保存已完成结果并安全暂停。
- 前端明确反馈:工作台任务日志会显示 Token、额度、限流、鉴权或连接问题,不再只表现为操作中断。
展开查看 v2.1.0 更新说明
- 简历上传兼容性:支持中文文件名的 Markdown 简历,并新增 Word(
.docx)简历上传与文本解析。 - 多 AI 服务商:配置面板支持 DeepSeek、豆包、Anthropic、OpenAI 和自定义兼容接口,自动填写对应协议与 Base URL。
- Web 工作台升级:新增本地可视化工作台,集中展示采集、评分、确认、发送、监测与简历生成状态。
- 启动前环境诊断:前端逐项检查 Google Chrome、远程调试、招聘平台页面、AI Key、Base URL、模型、简历与搜索配置,并给出中文修复提示。
- 简历请求卡片识别:可识别招聘平台聊天中的「附件简历请求」卡片,并归类为简历请求。
- 定制简历生成:检测到 HR 要简历后,根据岗位 JD 生成定制 PDF 简历,提供下载与手动发送入口。
- 监测执行视图:按「待回复 / 简历请求 / 自动跟进 / 已回复」分类查看监测结果。
- AI 建议回复:检测到 HR 问题时可生成建议回复,默认需要人工确认后再发送。
- 自动跟进记录:对超时未回复岗位执行一次自动跟进,并在监测执行中保留跟进内容。
- 人工确认边界更清晰:卡片识别只做归类提醒和简历生成,不自动点击「同意 / 拒绝 / 发简历」。
- 配置脱敏:Web API 返回配置时不暴露原始 API Key。
- 示例配置脱敏:公开仓库只保留占位配置,不包含个人简历、联系方式、数据库或运行时数据。
- 兼容 API 说明泛化:支持 Anthropic Messages 兼容接口与模型名模糊匹配,不在公开文档中暴露内部服务名称或内部域名。
- 仪表盘去重:同一岗位的监测记录在前端按最新记录展示,减少重复刷屏。
- 统计口径优化:「简历生成」按实际生成的简历文件统计。
- AI 连接引导:用户可让安装 AI 协助打开本地配置面板、选择服务商并检测连接;API Key 只在本地面板填写,不读取安装 AI 自身的登录凭证。
- 本地 Browser Runtime:内置 CDP 代理连接日常 Chrome,减少额外浏览器配置成本。
BossHunter 是个人维护的开源项目。如果它对你有帮助,欢迎:
- 点 Star 收藏项目
- 分享给正在找工作的朋友
- 提 Issue 反馈真实使用问题
- 参与功能规划讨论
- 提交 PR 一起完善功能
你的 Star 会帮助项目获得更多曝光,也会让我更有动力继续维护招聘平台适配、AI 匹配能力和 Web Dashboard。
⭐ Star 项目:
https://github.com/powerycy/BossHunter
欢迎 PR 和 Issue。请注意:
- 不接受绕过平台安全机制、规避检测或提高默认发送频率的 PR。
- 不接受收集、上传或外发用户隐私数据的 PR。
- 建议先开 Issue 讨论再提交大改动。
