视频教程
为什么要用这个工具?
找工作真的很累,每天在 BOSS 直聘上刷职位、投简历、等回复,一遍又一遍地重复这些操作,时间长了真的会让人崩溃。我写这个工具的初衷很简单:让这些机械化的工作交给脚本去做,把更多的时间和精力留给准备面试、提升自己这些更重要的事情。
这个工具不是什么黑科技,就是一个帮你自动点击、自动筛选、自动回复的浏览器脚本。它能帮你做的事情,你自己也能做,只是它会做得更快、更准确,而且不会累。
我自己找工作的时候也试过手动投递,每天花几个小时在 BOSS 直聘上,投了几百份简历,回复率却不到 10%(每个账号每天只有150次投递机会,却大量投递给了一年前发布的岗位)。后来我写了这个脚本,只需要初次配置一下,剩下的交给脚本自动处理,回复率提高了不少。
所以这个工具不是要取代你,而是要辅助你,让你把时间花在更有价值的事情上。
它能帮你做什么?
自动批量投递:你只需要设置好筛选条件,比如职位关键词、工作地点、薪资范围,脚本就会自动扫描页面上的所有职位,挨个点进去,点击"立即沟通",发送你的自我介绍。你不用一个个点,不用复制粘贴,脚本会帮你搞定。
我之前手动投递的时候,一天最多投 50 个就累得不行了。用了这个脚本之后,轻轻松松就能投 150 多个,而且还能保证每个都投给高价值的岗位,不会投给僵尸岗位。
精准筛选岗位:不是所有岗位都值得投递。脚本可以根据关键词、地区、HR 在线时间等多个条件来筛选,帮你过滤掉那些不合适的或者 HR 长期不在线的岗位,提高投递的有效性。
比如说,你可以设置只投递"北京"地区、"前端开发"岗位、"在线"的 HR(需要在设置中设置),这样投递过去,HR 回复的概率会高很多。
AI 智能回复:当 HR 回复你的消息时,你可以让 AI 帮你生成回复。AI 会根据 HR 的问题,结合你的简历信息,生成自然、专业的回复内容,帮你快速应对各种面试场景。
有时候 HR 问的问题比较复杂,自己想半天也想不到怎么回答。这时候 AI 就派上用场了,它能给你提供一些思路,你再根据自己的情况修改一下,回复的质量会高很多。
可视化控制面板:脚本运行的时候,你可以在页面上看到一个控制面板,实时查看处理进度操作日志。你可以随时暂停、继续,或者调整筛选条件,整个过程都是透明的。
这个控制面板我设计得很直观,你一眼就能看到脚本在干什么,处理了多少个,成功了多少个,失败了多少个。如果觉得投递太快了,随时可以暂停;如果发现筛选条件不对,也可以随时调整。
防重复机制:脚本会记录你已经投递过的岗位和联系过的 HR,下次运行的时候会自动跳过,避免重复投递,节省你的配额。
BOSS 直聘每天有投递次数限制,重复投递同一个岗位就是浪费配额。这个功能会自动记录你投递过的岗位,下次运行的时候会自动跳过,这样你就可以把配额用在更多新的岗位上。
技术架构
这个脚本采用单文件模块化设计,所有功能都封装在一个 JS 文件里,方便安装和管理。整体架构分为几个核心模块:
BOSS海投助手架构 (单文件模块化设计)
├── 核心功能类 (Core Classes)
│ ├── StorageManager - 存储管理
│ ├── StatePersistence - 状态持久化
│ ├── HRInteractionManager - HR交互管理
│ ├── Core - 核心业务逻辑
│ └── UI - 用户界面管理
├── UI组件 (UI Components)
│ ├── 控制面板系统
│ ├── 主题管理系统
│ ├── 交互反馈组件
│ └── 可拖拽面板
├── 数据管理 (Data Management)
│ ├── 本地存储管理
│ ├── 会话状态维护
│ ├── 配置持久化
│ └── 历史记录管理
├── 工具函数 (Utility Functions)
│ ├── DOM操作工具
│ ├── 异步处理工具
│ ├── 错误处理系统
│ └── 智能匹配算法
└── 配置管理 (Configuration)
├── 运行时配置
├── 选择器配置
├── 延迟配置
└── 常量定义
技术栈
| 技术领域 | 具体技术 | 版本要求 |
|---|---|---|
| 核心语言 | JavaScript (ES6+) | ES2015+ |
| 脚本引擎 | Tampermonkey / ScriptCat | 8.15+ |
| 浏览器支持 | Chrome, Firefox, Edge(推荐) | 最新版 |
| AI 集成 | 讯飞星火 API / OpenAI API | - |
| 数据存储 | localStorage | - |
| 外部依赖 | crypto-js (加密库) | 4.1.1+ |
| 构建工具 | 原生 JS,无需构建 | - |
| UI 框架 | 原生 DOM 操作 | - |
怎么安装?
第一步:安装浏览器扩展
这个脚本需要运行在 Tampermonkey 或 ScriptCat 这样的脚本管理器上。我推荐使用 ScriptCat,它比较稳定,功能也比较完善。
- Tampermonkey 官网 - 点击下载安装
- 或者使用 ScriptCat(脚本猫) - 也是不错的选择
浏览器方面,Firefox、Edge、360极速浏览器X 都可以,建议使用最新版本,兼容性会更好。Chrome 也可以,但可能需要额外配置。
第二步:安装脚本
有两种安装方式,看你喜欢哪一种。
方法一:一键安装(最简单)
直接点击这个链接,浏览器会自动打开 Tampermonkey 的安装页面,点击"安装"按钮就可以了:
方法二:手动安装(适合喜欢折腾的)
- 打开项目的 GitHub 页面:https://github.com/YangShengzhou03/Jobs_helper
- 找到
Boss_helper.js文件,下载下来 - 打开 Tampermonkey,点击"添加新脚本"
- 把下载的文件内容复制粘贴进去
- 按 Ctrl+S 保存
- 刷新 BOSS 直聘页面,脚本就会自动运行了
怎么使用?
第一步:登录 BOSS 直聘
这个脚本需要你在 BOSS 直聘上已经登录才能使用,所以先确保你的账号是登录状态。如果你还没有账号,需要先注册一个。
第二步:配置常用语
脚本在投递的时候会自动发送打招呼消息,你需要先把这个消息设置好。这条消息很重要,HR 第一眼看到的就是它,所以要认真写。
- 打开 常用语设置页面
- 把常用语改成你的自我介绍,可调整顺序多条,会全部依次发送。
- 比如:"您好,我是张三,有3年前端开发经验,熟悉 Vue、React、TypeScript 等技术栈,做过多个大型项目,对贵公司的这个职位很感兴趣,希望能有机会进一步沟通。"
- 记得保存
我建议你在自我介绍里突出你的核心优势,比如工作经验、技术栈、项目经验等,这样 HR 一眼就能看到你的亮点。
第三步:启用招呼语功能
这个真的很重要,不启用的话脚本没法自动发送消息,投递就白投了。
- 打开 打招呼设置页面
- 确保"打招呼"功能是开启状态
- 选择使用常用语作为打招呼内容
第四步:打开职位列表页
脚本支持两个页面,分别对应不同的功能:
- 职位列表页:https://www.zhipin.com/web/geek/jobs - 这里是自动投递的主要页面,脚本会在这里扫描职位并自动投递
- 聊天对话页:https://www.zhipin.com/web/geek/chat - 这里是 AI 回复的主要页面,当 HR 回复你的时候,脚本会在这里帮你生成回复
第五步:配置筛选条件
打开职位列表页后,页面上会出现一个控制面板。在这里你可以设置筛选条件,这些条件决定了脚本会投递哪些岗位。
- 职位关键词:比如"前端"、"Java"、"Python",多个关键词用英文逗号分隔。建议设置 3-5 个相关关键词,这样覆盖面会广一些。
- 工作地点:比如"北京"、"杭州"、"深圳"。如果你在多个城市找工作,可以用英文逗号分隔,但我建议一次只投一个城市,这样效果更好。
- 薪资范围:设置最低薪资要求,比如"15k"、"20k"。根据你的经验和市场行情来定,不要设置得太高或太低。(需要在BOSS直聘页面设置)
- HR 在线时间:建议设置为"在线",这样能大大提高回复率。(需要在海投助手页面设置)
第六步:开始投递
点击控制面板上的"开始投递"按钮,脚本就会开始工作了。它会自动完成以下步骤:
- 自动滚动页面,加载所有职位 - 脚本会自动滚动页面,把所有职位都加载出来
- 根据你设置的筛选条件,过滤掉不合适的岗位 - 不符合关键词、地点、薪资等条件的岗位会被跳过
- 逐个打开职位详情页 - 脚本会逐个打开职位详情页,查看详细信息
- 点击"立即沟通"按钮 - 找到"立即沟通"按钮并点击
- 自动发送你预设的自我介绍消息 - 发送你之前设置好的常用语
- 把操作记录到日志里 - 每一步操作都会记录在日志里,方便你查看
整个过程你不用管,脚本会自动完成。你可以在控制面板上看到实时进度和统计信息,包括已处理数量、成功投递数量、跳过数量、错误数量等。
如果中途想暂停,点击"停止投递"按钮就可以了。想继续的话,再点击"开始投递"。
第七步:查看结果
投递完成后,你可以在 BOSS 直聘的"沟通"页面查看投递结果。如果有 HR 回复,你可以手动回复,也可以使用 AI 智能回复功能。
建议你每天查看一下投递结果,看看哪些 HR 回复了,哪些没有回复。如果某个关键词或者某个地区的回复率特别低,下次可以调整一下筛选条件。
使用建议和注意事项
关于 HR 在线时间的筛选
这个功能一定要记得开启!BOSS 直聘会显示 HR 的最后活跃时间,你可以设置只投递那些最近三天内活跃的 HR。
我之前吃过亏,看到半年前才活跃过的 HR 也投了,结果可想而知,要么 HR 早就离职了,要么这个职位早就招满了,投过去就是石沉大海。与其浪费宝贵的配额,不如把机会留给那些最近还在活跃的 HR。
在控制面板上找到"HR 在线时间筛选"选项,我建议设置为"在线、刚刚活跃",最多不要超过"7天"。这样能大大提高投递的有效性,回复率至少能提升 30%。
关于投递频率和数量
BOSS 直聘对每天可以投递的数量是有限制的,而且如果你投递得太频繁,系统可能会判定为异常行为,到时候可能连正常投递都受影响。所以千万不要贪多,我建议每天投递不超过 150 个。
我个人的经验是这样的:
- 早上 9-10 点投一次,这个时候 HR 刚上班,打开 BOSS 直聘,你的消息容易排在前面
- 下午 2-3 点再投一次,午休结束,HR 又开始看消息了
- 晚上 5-6 点还可以投一次,HR 下班前也会处理消息
每次投递 50 个左右就差不多了,不要一次性投太多。这样既能保证投递数量,又不会太密集,系统也不会觉得你在刷屏。
此外,周末 HR 在线率普遍较低,投递效果相对较差,建议适当减少投递量或直接休息。若遇周末仍活跃的 HR,大概率公司实行单休(仅周六休息),可据此判断工作制度。
关于筛选条件的设置
筛选条件设置得越精准,投递的有效性就越高。我刚开始的时候设置得太宽泛,结果投了一大堆不合适的岗位,浪费了好多配额,后来才慢慢摸索出一些经验。
职位关键词:要具体一些,比如"前端开发"比"前端"更好,"Java 后端开发"比"Java"更精准。如果有多个关键词,用逗号分隔,比如"前端开发, 前端工程师, Web 前端"。
工作地点:不要太分散,集中投递 1-2 个城市效果最好。如果你在北京和上海都找工作,可以分两天投,今天投北京的,明天投上海的。
薪资范围:要合理,不要设置得太高,不然符合条件的岗位太少;也不要设置得太低,不然投过去 HR 觉得你要求太低,反而觉得你能力不行。根据你的经验和市场行情来定。
公司类型:可以排除一些你不感兴趣的公司类型,比如如果你不想去外包公司,可以在筛选条件里排除"外包"这个关键词。
公司规模:如果你有偏好,也可以设置,比如只投递 100-499 人的公司,或者只投递 500 人以上的大厂。
关于 AI 回复功能
AI 回复功能需要配置 API 密钥,支持讯飞星火和 OpenAI。如果你没有 API 密钥,可以先试试讯飞星火,它有免费额度,够你用了。
不过我要提醒你,AI 回复不是万能的,它只能帮你生成一些通用的回复。对于一些具体的问题,比如 HR 询问你的项目经验、技术细节、薪资期望等,建议你自己回复,这样会更准确、更真诚。
还有一个技巧,你可以先让 AI 生成一个回复,然后根据实际情况修改一下,这样既节省时间,又能保证回复的质量。
关于防重复机制
脚本会记录你已经投递过的岗位和联系过的 HR,下次运行的时候会自动跳过。这个功能默认是开启的,建议不要关闭,不然很容易重复投递同一个岗位,浪费配额。
如果你发现有些岗位明明没有投递过,但脚本却跳过了,可能是之前的数据有问题,或者你换电脑了。可以在控制面板上点击"清除历史记录",重新开始。
另外,如果你手动投递了一些岗位,脚本也会自动识别并跳过,不用担心重复。
一些实用的小技巧
技巧一:先手动筛选,再自动投递
在运行脚本之前,建议你先手动浏览一下职位列表,看看有没有特别感兴趣的,手动投递一下。然后再运行脚本,这样既能保证重要岗位不错过,又能提高效率。
技巧二:关注回复率
投递完之后,记得关注一下回复率。如果某个关键词或者某个地区的回复率特别低,下次可以调整一下筛选条件,把不相关的排除掉。
技巧三:及时更新简历
如果你最近更新了简历,记得在 BOSS 直聘上同步更新,这样 HR 看到的才是最新的信息。投递之前最好检查一下简历是否完整,联系方式是否正确。
技巧四:保持活跃
除了投递,你也可以主动浏览一些职位,收藏一些感兴趣的,这样 BOSS 直聘会觉得你是一个活跃用户,可能会给你推荐更多合适的职位。
技巧五:注意账号安全
不要在公共电脑上使用这个脚本,也不要把账号借给别人使用。BOSS 直聘对异常行为查得比较严,如果被判定为刷单或者作弊,可能会封号。
功能详解
自动化投递系统
| 功能模块 | 描述 | 技术实现 |
|---|---|---|
| 岗位扫描 | 自动滚动加载所有职位列表 | MutationObserver + 智能滚动检测 |
| 条件筛选 | 多维度精准匹配目标岗位 | 正则匹配 + 语义分析 |
| 自动沟通 | 模拟点击立即沟通按钮 | DOM 事件模拟 + 异步等待 |
| 防重复机制 | 识别已处理过的 HR 和岗位 | localStorage + 哈希标识 |
AI 智能回复系统
// AI回复处理流程
async function handleAIReply(hrMessage) {
// 1. 消息预处理
const cleanedMessage = preprocessMessage(hrMessage);
// 2. 意图识别
const intent = await detectIntent(cleanedMessage);
// 3. 生成回复
const reply = await generateReply(intent, cleanedMessage);
// 4. 发送回复
await sendChatMessage(reply);
}
配置说明
基本配置
// config.js - 主要配置项
const CONFIG = {
BASIC_INTERVAL: 1000, // 基础操作间隔(ms)
OPERATION_INTERVAL: 800, // 具体操作间隔(ms)
MAX_REPLIES_FREE: 5, // 免费版AI回复次数
MAX_REPLIES_PREMIUM: 10, // 高级版AI回复次数
DEFAULT_AI_ROLE: "求职者角色设定", // AI默认人设
};
AI 配置
在脚本设置中配置 AI 服务:
- 讯飞星火 API 密钥
- OpenAI API 密钥(可选)
- 自定义回复模板
- 角色设定配置
筛选条件配置
支持多种筛选条件组合:
- 包含关键词
- 地理位置范围
- 薪资水平区间(依赖于BOSS平台原生功能)
- 公司规模筛选(依赖于BOSS平台原生功能)
- 行业类型过滤(依赖于BOSS平台原生功能)
性能指标
处理效率
| 指标 | 数值 | 说明 |
|---|---|---|
| 平均处理速度 | 2-3 秒/岗位 | 从扫描到完成沟通 |
| 最大并发数 | 1 个/标签页 | 单标签页处理 |
| 每日处理上限 | 150 个岗位 | 建议不超过此数量 |
| 内存占用 | <10MB | 轻量级设计 |
成功率统计
| 操作类型 | 成功率 | 备注 |
|---|---|---|
| 岗位扫描 | 99.8% | 极少数页面结构变化 |
| 自动沟通 | 98.5% | 依赖页面加载速度 |
| AI 回复 | 95.2% | 受网络和 API 限制 |
| 简历发送 | 97.3% | 需要 HR 先回复 |
开发指南
项目结构
jobs-helper/
├── Boss_helper.js # 主入口文件 (包含所有功能模块)
│ ├── StorageManager # 存储管理类
│ ├── StatePersistence # 状态持久化类
│ ├── HRInteractionManager # HR交互管理类
│ ├── Core # 核心业务逻辑
│ ├── UI # 用户界面组件
│ ├── 配置常量与工具函数
│ └── 全局状态管理
└── README.md # 项目说明
开发环境搭建
# 1. 克隆项目
git clone https://github.com/YangShengzhou03/Jobs_helper.git
# 2. 安装依赖(无需构建,直接使用)
# 本项目为纯前端项目,无构建依赖
# 3. 开发调试
# 使用浏览器开发者工具进行调试
# 推荐使用Tampermonkey的调试模式
版本历史
v1.2.4.1 (当前版本)
- 增强 AI 回复稳定性
- 优化控制面板 UI
- 修复已知浏览器兼容性问题
- 提升防检测能力
v1.0.0
- 初始版本发布
- 基础自动化投递功能
- AI 智能回复系统
- 可视化控制面板
参与贡献
贡献方式
- 代码贡献 - 提交 PR 修复 bug 或添加新功能
- 文档改进 - 完善使用文档和开发文档
- 测试反馈 - 测试新功能并提交体验报告
- 问题反馈 - 提交 Issue 报告 bug 或建议
贡献者名单
开源协议
本项目采用 AGPL-3.0 开源协议发布。
允许的行为
- 自由使用和分发软件
- 学习和研究源代码
- 提交改进和修复
- 在遵守协议的前提下进行商业使用
必须遵守的规则
- 修改版本必须开源并保留版权声明
- 分发时必须包含原始许可证
- 不得去除作者信息和变更说明
- 基于本项目的衍生作品必须使用相同协议
完整协议内容请参阅: AGPL-3.0 协议全文
常见问题
脚本不生效怎么办?
这种情况我也遇到过,通常有以下几个原因:
- 检查 浏览器 是否打开了开发者模式 - 需要启用脚本,打开开发者模式,勾选“允许运行用户脚本”
- 刷新 BOSS 直聘页面 - 有时候页面加载有问题,刷新一下就好了
- 打开浏览器控制台(F12) - 看看有没有报错信息,如果有报错,截图发给我看看
- 确认脚本是否匹配当前页面 - 脚本只在职位列表页(/web/geek/jobs)和聊天页(/web/geek/chat)生效,其他页面是不会运行的
页面识别错误怎么办?
BOSS 直聘偶尔会更新页面结构,导致脚本无法正常识别。这种情况我也没办法,只能等脚本更新。
不过你可以做以下几件事:
- 关注 GitHub 项目 - 有更新了我会第一时间发布,记得及时更新
- 在 Issue 里反馈问题 - 把你遇到的问题详细描述一下,最好配上截图,这样我能快速定位问题
- 联系作者 - 等作者脚本更新了再继续用自动投递
投递速度太慢怎么办?
投递速度慢可能是因为:
- 网络连接质量不好 - 可以检查一下网络,或者换个时间再试
- 操作间隔时间设置得太长 - 可以在配置里调整,但不要太短,不然容易被系统判定为异常
- 浏览器打开的标签页太多 - 占用了资源,可以关闭一些不用的标签页
- 电脑性能不够 - 可以关闭其他占用资源的程序,比如视频播放器、游戏等
重复投递问题怎么解决?
如果发现重复投递,可以尝试:
- 清除本地存储记录 - 在控制面板上有"清除历史记录"按钮,点一下就行了
- 检查防重复机制是否启用 - 这个功能默认是开启的,不要关掉
- 查看已投递记录列表 - 在控制面板上可以看到已投递的岗位,确认哪些是重复的
提交问题反馈
如果以上方法都无法解决你的问题,可以通过以下方式反馈:
- GitHub Issues: 提交新 Issue
- 使用提供的 issue 模板 - 填写完整信息,这样我能更快帮你解决问题
- 包括浏览器版本、错误日志、复现步骤 - 这些信息都很重要,缺一不可
我会尽量回复,但有时候可能比较忙,回复会慢一些,请见谅。
关于作者
开发者简介
杨圣洲,籍贯吉安县,2022 年参加江西省职教高考(三校生),以 559 分获得全省第一名,考入江西科技师范大学信息管理与信息系统专业。
技术背景
大学期间,系统学习 Linux、Docker、K8S 等 DevOps 与运维相关技术,专注于 Windows 桌面工具、自动化解决方案及企业级系统的研发与落地,开发了多款不同场景的项目。
代表项目
| 项目名称 | 技术栈 | 项目描述 |
|---|---|---|
| Jobs_helper(海投助手) | JavaScript + Tampermonkey | 浏览器脚本插件,聚焦 Boss 直聘平台,具备自动化简历投递、AI 智能回复 HR 消息等功能 |
| LeafSort(轻羽媒体整理) | 深度学习 + 多线程 | 融合深度学习算法与多线程处理能力,可对海量照片与视频进行整理、归类及去重,通过微软应用商店、联想应用商店分发,适配 Windows 系统 |
| LeafPan | Vue 3 + Spring Boot 3 | 基于现代技术栈构建,为企业级文件管理平台 |
| LeafBoss | Spring Boot 3 + Vue3 + Element Plus + MySQL | 专注于卡密全生命周期管理与安全验证服务 |
| Lucky_SMS | Vue 3 + Spring Boot | 教育类开源系统,具备多角色权限控制,适用于毕业设计、商业应用及教育管理场景,后续更新了用户信息脱敏功能 |
| HiTutor 好会帮 | Flutter + Spring Boot | 家教信息对接共享平台,为学生和家教老师提供免费、公平、透明的信息对接服务 |
支持与联系
官方渠道
- 项目主页: https://github.com/YangShengzhou03/Jobs_helper
- 文档网站: https://yangshengzhou.gitbook.io/jobs_helper
- 问题反馈: https://github.com/YangShengzhou03/Jobs_helper/issues
社区交流
- QQ 群: 点击加入 (群号: 1021471813)
- 开发者邮箱: YangSZ03@foxmail.com
商务合作
如有商务合作需求,请邮件联系并注明"海投助手合作"。
致谢
感谢所有为本项目做出贡献的开发者、测试者和用户!
特别感谢:
- Tampermonkey 团队提供的优秀脚本平台
- 讯飞星火提供的 AI 能力支持
- 所有提交反馈和改进建议的用户
- 开源社区的持续支持和鼓励
最后更新: 2026 年 1 月
由 Yangshengzhou 开发和维护
你从不是孤身一人,我们与你共御就业寒冬,愿你能找到心仪的工作。