Skip to content
 
 

Latest commit

 

History

9 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 

Repository files navigation

BOSS海投助手

Chrome / Edge Manifest V3 扩展。功能是在 BOSS 直聘职位页右上角注入悬浮助手,用来读取左侧职位列表、按条件筛选、自动尝试沟通,并输出运行日志。

当前仓库适合本地“加载已解压的扩展程序”使用。

功能

  • 页面内右上角悬浮助手
  • 只读取左侧职位列表,不混用右侧详情区内容
  • 点击 开始海投 后先完整下滑职位列表,再开始判断匹配
  • 主筛选:
    • 职位关键词
    • 工作地点
  • 高级筛选:
    • 薪资
    • 公司包含
    • 公司排除
    • 招聘者活跃状态
  • 沟通设置:
    • 打招呼语模板
    • 自动打招呼
    • 自动切下一个
    • 轮询间隔
  • 图片简历:
    • 支持在高级选项中选择 JPG
    • 沟通时会尽量自动上传
    • 这是 best-effort 行为,取决于页面是否存在可用上传入口
  • 运行保护:
    • 检测到“无法进行沟通 / 今日已与 150 位 BOSS 沟通”一类弹窗时自动暂停
  • 运行日志:
    • 页面内保留最近日志,便于排查

安装

Chrome

  1. 打开 chrome://extensions/
  2. 打开“开发者模式”
  3. 点击“加载已解压的扩展程序”
  4. 选择本项目根目录

Edge

  1. 打开 edge://extensions/
  2. 打开“开发人员模式”
  3. 点击“加载解压缩的扩展”
  4. 选择本项目根目录

加载后,进入 BOSS 职位列表页,页面右上角会出现悬浮助手。

使用

1. 进入职位页

扩展只在 BOSS 职位页工作。其他页面不会正常运行。

2. 填写主窗口条件

主窗口只保留两项:

  • 职位关键词
  • 工作地点

示例:

  • 职位:后端, Java, Go
  • 地点:上海, 浦东, 远程

关键词支持中文逗号、英文逗号、换行分隔。

3. 点击开始海投

启动后执行顺序:

  1. 自动滚动左侧职位列表到底部
  2. 尽量读完整个懒加载列表
  3. 再计算哪些岗位命中条件
  4. 逐个点击岗位并尝试沟通

在完整读取前,列表职位全条件命中 会显示为 未知。这是刻意设计,避免在列表未读完前展示误导性数字。

4. 查看日志

日志卡片会记录:

  • 预加载进度
  • 当前选中职位
  • 沟通动作结果
  • 自动暂停原因
  • 重试 / 跳过原因

出现异常时,先看日志。

高级选项

点击主窗口右上角齿轮会打开单独的高级窗口。

配置项包括:

  • 薪资
  • 公司
  • 排除公司
  • 招聘者状态
    • 在线
    • 刚刚活跃
    • 今日活跃
    • 3日内活跃
    • 本周活跃
  • 打招呼语模板
  • 发送图片简历
  • 自动打招呼
  • 自动切下一个
  • 间隔(ms)

配置持久化

高级选项通过 chrome.storage.local 持久化保存。

也就是说:

  • 关闭高级窗口后不会丢
  • 刷新页面后不会丢
  • 重开浏览器后仍会保留

打招呼语模板

支持变量:

  • {jobTitle}
  • {companyName}
  • {location}
  • {salary}

默认模板:

您好,我对{jobTitle}岗位很感兴趣,已认真阅读职位描述,期待进一步沟通。

当前自动流程

当前实现大致如下:

  1. 从左侧职位列表提取岗位卡片
  2. 解析岗位标题、公司、薪资、地点、招聘者活跃状态
  3. 根据主筛选和高级筛选判断是否命中
  4. 点击命中岗位,等待右侧详情切换
  5. 优先查找 立即沟通 / 沟通 / 打招呼
  6. 如果出现 留在此页,会点击它并继续留在列表页
  7. 如果出现 继续沟通 / 已沟通,视为已处理
  8. 如果聊天输入框出现,会尝试:
    • 上传图片简历(若已开启且页面支持)
    • 填充招呼语
    • 点击发送

已知限制

  1. BOSS 页面 DOM 经常变化,按钮、弹窗、上传入口都可能失效,需要按实际页面继续适配。
  2. 图片简历上传依赖页面是否暴露了可操作的 input[type=file] 或可触发的上传按钮,不保证所有账号和页面分组都能成功。
  3. 招聘者状态筛选依赖左侧职位列表或当前详情里可提取到的文本,不是所有卡片都会稳定带有状态。
  4. 扩展不会绕过站点限制;如果页面本身不给投递或不给沟通,只会记录失败或暂停。
  5. 当前没有构建流程,属于直接加载源码运行的扩展。

常见问题

1. 页面改了但扩展没变化

按下面顺序操作:

  1. chrome://extensions/edge://extensions/
  2. 点击扩展的“刷新 / Reload”
  3. 回到 BOSS 页面整页强刷

2. 启动后提示没有命中职位

优先检查:

  • 职位关键词是否过窄
  • 地点是否过窄
  • 高级选项里的 薪资 / 公司 / 排除公司 / 招聘者状态 是否卡得太死

3. 沟通数量达到上限后还会继续点吗

不会。检测到“无法进行沟通 / 今日已与 150 位 BOSS 沟通”类弹窗后,扩展会自动暂停。

4. 图片简历为什么没发出去

当前实现是 best-effort:

  • 如果页面上找得到上传入口,会尝试塞入 JPG
  • 如果当前页面结构没有可用上传控件,会在日志里提示,但不会卡死整个流程

项目结构

.
├─ manifest.json
├─ README.md
├─ advanced.html
└─ src
   ├─ background.js
   ├─ content.js
   └─ advanced.js

文件说明

  • manifest.json:扩展声明
  • advanced.html:高级选项窗口
  • src/background.js:持久化设置、运行状态、高级窗口管理
  • src/content.js:悬浮窗、职位读取、预加载、筛选、自动流程
  • src/advanced.js:高级选项读写、图片简历读取、状态多选保存

开发调试

本项目没有打包流程,直接修改源码即可。

建议每次改完都做:

  1. 刷新扩展
  2. 强刷目标页面
  3. 观察悬浮窗日志
  4. 必要时查看页面控制台

语法检查可以直接运行:

node --check src/content.js
node --check src/background.js
node --check src/advanced.js

免责声明

本项目仅用于个人学习和浏览器扩展开发研究。使用时请自行评估风险,并遵守目标网站规则与适用法律法规。

About

No description, website, or topics provided.

Resources

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages