当前位置: 首页 > news >正文

BOSS直聘招聘端AI辅助自动化技术研究

最近公司HR反映直聘上虚假应聘者越来越多,比如你找个程序员,就会有各种外包开发公司或者零工平台冒充求职者发简历应聘,此外还有不少求职简历和职位要求八竿子都打不着,这些估计都是用海投工具的,虽然我就做过这样的海投工具😎,但是有矛就得有盾,社会才能和谐😁。于是我就开始造盾了,写这篇文章时我开发的招聘工具(暂且称之为“BOSS助手”)已使用了3个月,对BOSS招聘端的业务逻辑也有了比较充分的了解,下面就介绍下我的实现过程,也算做一次总结。

BOSS直聘招聘端技术架构

boss直聘目前有3种登录招聘账号的方式,分别是手机APP、电脑客户端、浏览器,如果做自动化,浏览器肯定是最好入手的方式。web端仍是vue的技术栈,只不过不像以前的求职端,用的是比较老的版本,现在已经完全使用vite打包,所以单从页面代码上是很难看出逻辑的,而且部分地方是还使用了wasm技术,这样加解密的逻辑逆向难度就非常高了,但是无论怎样它都是在浏览器运行,那就离不开js,这样就能找到切入点,无非就是要多些耐心去研究。

首先从登录开始,入口页面与求职端是一样的,区别就是要切换到“我要招聘”

这里做自动化有两种方式,

1、拦截二维码发送到其它渠道进行扫码登录,但是二维码的有效期很短,要及时操作。

2、手机+短信验证码,然后还得处理人机校验,相对第一种方式更麻烦,需要借助一台手机接码和通过专用的ai来完成人机校验,但是可以做到登录过程完全自动化。如果只是少量招聘账号就没有必要用这种方式,维护成本也会比较高。

当然最安全的方式还是人肉登录,但是boss直聘对异地登录管控很严,反复几次PC端登录权限就会被管控。有人可能说我用固定的代理ip不就行了,但是boss在你每次操作时都会上报操作的设备信息以及鼠标的点击位置,所以它真想要识别你并不难。

登录成功后就会进入首先进入聊天界面,这里的用并不是vue单页应用,左侧的除了聊天菜单其实都是加载一个iframe

而且对于多页面打开做了限制,比如你同时打开两个聊天页面,另一个就会自动登出,一方面为了反爬,另一方面也是为了节约mqtt消息长链接。

接下来自动化要解决的就是api接口和消息两个主要问题。

API

先说API接口,header中下面三个参数是关键,可以用postman去模拟请求,部分接口会有signX参数,cookie没什么好说的,其它参数都可以在js中找到生成逻辑,为避免麻烦,这里就不公开了。

MQTT

然后消息这块和求职端技术是一样的,具体可以看我博客研究BOSS求职端的文章,用的是protobuffer协议,找到定义文件,解密即可,为避免麻烦,这里就不公开了。

有人说直接调用接口会被封账号,那是因为没有掌握接口的正确调用姿势,你想浏览器上的运行的所有代码最终都是通过接口和boss的服务器交互,所以调用接口一定是最高效的方式。如果使用无头浏览器做模拟鼠标操作,定位元素的成本就很高,每次页面的小小调整就有可能导致你的整个流程失效,而且vue等现代前端框架都是虚拟dom,靠css或id定位元素就非常不可靠。

工具的操作流程

下面是开发好的工具大致功能说明

注册

在使用本工具前您需要用自己邮箱注册工具的账号(非boss直聘账号),已注册的用户可跳过。

添加BOSS直聘账号

这里一定要用boss直聘招聘者账号,不要用求职者账号,否则无法使用

登录成功后左侧会显示您的boss账号信息

招聘任务

本工具可以自动在boss直聘的【搜索牛人】或【推荐牛人】两个入口进行自动打招呼,但是【搜索牛人】需要开通直聘的付费服务(具体咨询boss直聘客服),否则无法使用。

添加任务

基础配置

  1. 【选择职位】必须选择。只会显示boss直聘中您开放的职位。
  2. 搜索入口二选一,如果没有购买BOSS直聘服务,那么只能选择【推荐牛人】入口。
  3. 点击【设置搜索条件】会弹出boss直聘的界面,请在弹出的boss界面里选择好筛选条件,然后关闭弹出的boss直聘页面。请勿在页面中做筛选以外的操作,否则会导致筛选无效和搜索不到牛人!

【推荐牛人】设置搜索条件

【搜索牛人】设置搜索条件

Ai招呼语

默认是关闭的,打开后会结合当前的职位和牛人简历自动生成一段招呼语,打开前需要先配置大模型密钥。该功能打开后,前面已设置的固定招呼语将失效。

【自定义Ai提示词】打开该功能后,点击编辑提示词,可为该职位的任务单独定制招呼语提示词。

Ai评估求职者

启用该功能后,将先对求职者信息进行评估,满足要求后才会打招呼,启用该功能后会出现如下界面

【自定义Ai提示词】开启后点击编辑提示词即可覆盖系统默认的提示词。注意:评估的结果取决于提示词。系统有通用提示词,也可以根据自己的实际需要进行调整。

【评估阈值】如果Ai评估结果低于该阈值则不会和求职者打招呼或回复该求职者的消息。

【打招呼前评估】打招呼前对可见的牛人信息进行评估,如果低于阈值则不会打招呼。需要注意:打招呼前并不能获得牛人的完整信息,比如工作经历、附件简历等。

【收到简历后评估】收到牛人发送的附件简历后进行评估,如果低于阈值,则不再自动回复该牛人的所有消息。

自动回复消息

开启后会自动回复求职者发送的文本(不支持图片)消息由于每个企业的回复逻辑都不一样,因此这里开放给用户自行配置,只有配置后自动回复才会生效!点击【配置】按钮进行配置

目前有“规则回复”和“Ai回复”两种自动回复方式,如果两种都配置了,那么会优先使用“规则回复”,在规则覆盖不了的情况下会再调用“Ai回复”的配置,如果两种都没有覆盖到,那么在app里会显示为未读消息,由人工去回复。

规则回复配置

可以按照消息的文字进行过滤并作出相应的回复或动作,具体请往下看。

点击“添加”按钮填写规则

规则填写说明:

比如我要匹配消息内容中包含“简历”两个字的,然后执行自动请求简历的操作,那么如下配置即可

点击“确定”,再点击“保存”。

多个关键字匹配有两种方式:

  1. A和B(A&B):即消息内容中既要包含A也要包含B,比如我要匹配“你们工资能给多少”和“你能给多少薪资”这两类消息,他们的共同点是都包含“你”和“资”,那么规则可配置为“你&资”。

  1. A或B(A|B):即消息内容中要么包含A要么包含B,仍然以匹配“你们工资能给多少”和“你能给多少薪资”这两类消息为例,要么包含“工资能给多少”,要么包含“多少薪资”,那么规则可配置为“工资能给多少|多少薪资”。

左侧的上下箭头按钮用于调整优先级,每条消息都会按顺序从上到下匹配你设置好的规则,一旦完成匹配,就不会再匹配后面的规则。匹配不上的将会在app内提醒,你再手工回复。

Ai回复配置

点击“Ai回复”开关开启Ai回复消息功能

这里有两个提示词来控制Ai回复的逻辑,它们在全局配置中可以自定义,在这里也可以自定义,这里的自定义配置只对当前的任务(职位)相关的消息生效。意图判断的目的相当于先对消息做一次过滤,筛选完后再交给回复求职者消息进行更详细的回复。目的是减少对大模型token的调用量,提高回复的效率。

AI配置

AI模型配置

本工具支持市面主流各大模型,也支持配置自己部署的模型,但是自己部署的模型需要支持OpenAI的sdk

获取各大模型的配置信息可以参考下面的教程或者网上搜索。

获取deepseek密钥

获取豆包大模型密钥

添加大模型

点击添加按钮会出现下面的弹框,请在弹框内填入你已经获得的模型配置信息。

名称:随意填写,目的当你配置多个模型时便于区分,不要重名即可。

描述:可选。

model:各大模型都有自己的模型id,详情咨询各大模型平台。

baseUrl:各大模型都有自己的模型baseUrl,详情咨询各大模型平台。

temperature:根据自己的需求和各大模型的特点选填。

API密钥:到各大模型平台获取

添加好模型后请按下面的步骤启用

大模型管理

工具支持添加多个大模型,但同时只能有一个模型在使用。如果启用ai相关功能,必须要有一个模型在使用。

【使用】使用该模型,使用后背景为淡蓝色。

【删除】删除模型配置,已使用的模型无法删除,只能编辑。

【编辑】编辑模型配置信息。调整过配置后,建议重新打开软件,确保配置生效。

提示词配置

工具有固定的提示词,按下图可以找到

每个提示词都可以自定义,但是在自定义前请先熟悉各个提示词的用途。

    http://www.dtcms.com/a/338076.html

    相关文章:

  1. 某储备土地前期开发项目控制保护区桥梁自动化监测
  2. 8.19 note
  3. HashMap:源码
  4. OpenLayers 入门指南【七】:加载自定义控件
  5. 部署耐达讯自动化Profibus转光纤方案,变频器通信从此告别‘掉线焦虑’!“
  6. Next.js数据获取
  7. 飞算JavaAI智慧文旅场景实践:从景区管理到游客服务的全链路系统搭建
  8. 无人机激光测距技术应用与挑战
  9. 【前端进阶】UI渲染优化 - 骨架屏技术详解与多框架实现方案
  10. Maven(一)
  11. 做一个答题pk小程序多少钱?
  12. 《红色脉-络:一部PLMN在中国的演进史诗 (1G-6G)》 第6篇 | 专题:核心网的第一次革命——从电路交换到“用户/控制面分离”
  13. java17学习笔记-增强型伪随机数生成器
  14. LeetCode100-438找到字符串中所有的字母异位词
  15. 上网行为管理之用户认证技术和应用控制技术
  16. 开源im即时通讯软件开发社交系统全解析:安全可控、功能全面的社交解决方案
  17. 具身智能3全身动力学控制软件包(人形机器人)摘自Openloong社区
  18. N32G430C8-串口驱动问题
  19. MATLAB的实用字母识别系统实现含GUI界面
  20. 软件在线安装和离线安装
  21. c/c++标准库
  22. GISer大事件,保研考研竞赛时间线一览
  23. Java中的128陷阱:深入解析Integer缓存机制及应对策略
  24. 为什么体育应用离不开 API?数据接入基础指南
  25. ae关键帧路径显示不完全怎么办
  26. Linux 服务:RAID 级别解析与 mdadm 工具实操指南
  27. 【Vue】Vue3检测滚动到底部
  28. week2-[循环嵌套]数位和为m倍数的数
  29. 牛客周赛 Round 105(小苯的xor构造/小苯的权值计算/小苯的01矩阵构造/小苯的重排构造/小苯的xor图/小苯的前缀gcd构造)
  30. 【石油化工行业SAP整体解决方案内容总结】