Skip to content

imwyvern/boss-autogreet

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

22 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Boss直聘自动打招呼工具 / Boss Zhipin Auto Greeting Tool

Node.js + Playwright 自动化脚本,用于在 Boss 直聘网页端复用登录态、搜索远程岗位,并批量发送招呼语。

支持 macOS / Windows / Linux 全平台运行。


⚡ 快速开始

环境要求

  • Node.js 20+(推荐 22 LTS)
  • npm 10+(随 Node.js 一起安装)
  • Git

安装(macOS / Linux)

git clone https://github.com/user/boss-autogreet.git
cd boss-autogreet
npm install

安装(Windows)

方式一:PowerShell / CMD

# 1. 安装 Node.js(如未安装)
# 从 https://nodejs.org/ 下载 LTS 版本,安装时勾选"Add to PATH"

# 2. 打开 PowerShell 或 CMD
git clone https://github.com/user/boss-autogreet.git
cd boss-autogreet
npm install

# 3. 首次运行会自动下载 Chromium(约 150MB),请耐心等待

方式二:一键脚本(双击运行)

下载项目后,双击 install.bat 即可完成安装。

使用

# Step 1: 扫码登录(弹出浏览器窗口,用手机扫码)
node src/index.js login

# Step 2: 预览搜索结果(不打招呼)
node src/index.js search

# Step 3: 搜索 + 自动打招呼
node src/index.js run

# 查看打招呼历史
node src/index.js history

Windows 用户也可以使用 npm scripts:

npm run login
npm run search
npm run run
npm run history

📖 功能特性

功能 说明
🔐 扫码登录 Cookie 持久化到 userdata/,下次自动跳过登录
🔍 全国远程搜索 默认搜索"远程",支持自定义关键词和城市
👋 自动打招呼 逐个点击"立即沟通"并发送自定义招呼语
🛡 反检测 playwright-extra + stealth 插件隐藏自动化特征
🐢 人类模拟 随机延迟 5-15 秒、鼠标轨迹模拟、批次休息
🚫 每日上限检测 检测到"今日沟通已达上限"自动停止
📝 去重机制 history.json 记录已打招呼岗位,不重复沟通
📸 异常截图 遇到验证码/风控时自动截图保存

⚙️ 配置文件

编辑 config.json 自定义行为:

{
  "searchQuery": "远程",
  "city": "100010000",
  "greeting": "您好,我对这个远程岗位很感兴趣,期待与您交流!",
  "maxPages": 10,
  "maxGreetPerRun": 50,
  "delayBetweenGreets": [5000, 15000],
  "delayAfterBatch": [60000, 180000],
  "batchSize": 15,
  "headless": false,
  "screenshotOnError": true
}
参数 说明 默认值
searchQuery 搜索关键词 "远程"
city 城市代码(100010000=全国) "100010000"
greeting 打招呼时发送的消息 见上
maxPages 最大翻页数 10
maxGreetPerRun 单次运行打招呼上限 50
delayBetweenGreets 每次打招呼间隔 [min, max] ms [5000, 15000]
batchSize 每批多少个后长休息 15
delayAfterBatch 批次休息时间 [min, max] ms [60000, 180000]

可选扩展字段:jobType(职位类型过滤)、salaryRange(薪资过滤)、experience(经验过滤)


📁 目录结构

boss-autogreet/
├── config.json          # 运行配置
├── install.bat          # Windows 一键安装脚本
├── run.bat              # Windows 一键运行脚本
├── src/
│   ├── index.js         # CLI 入口
│   ├── browser.js       # 浏览器会话管理
│   ├── login.js         # 扫码登录
│   ├── search.js        # 搜索远程岗位
│   ├── greet.js         # 自动打招呼
│   ├── filter.js        # 岗位过滤规则
│   └── utils.js         # 工具函数 + 选择器定义
├── data/                # 运行时数据(gitignore)
│   ├── history.json     # 打招呼历史记录
│   ├── jobs.json        # 最近搜索结果快照
│   └── screenshots/     # 异常截图
└── userdata/            # 浏览器 Cookie 数据(gitignore)

⚠️ 注意事项

  1. Boss 直聘有日沟通限额(通常 100 次/天),超限会被提示
  2. 短时间大量操作可能触发风控,建议保持默认延迟设置
  3. 验证码:遇到滑块验证时脚本会暂停并截图,需手动处理
  4. 选择器可能过期:Boss 改版后需更新 src/utils.js 中的 SELECTORS
  5. 仅供学习交流,请遵守 Boss 直聘使用条款

🔧 常见问题

Windows 上 npm install 报错?

确保 Node.js 已正确安装并添加到 PATH:

node --version   # 应显示 v20+ 或 v22+
npm --version    # 应显示 10+

Chromium 下载失败?

手动安装:

npx playwright install chromium

如果网络受限,可设置代理:

set HTTPS_PROXY=http://127.0.0.1:7890
npx playwright install chromium

登录态过期了?

重新运行 node src/index.js login 扫码即可,Cookie 会覆盖更新。

如何修改搜索城市?

编辑 config.json 中的 city 字段。常用城市代码:

  • 100010000 — 全国
  • 101010100 — 北京
  • 101020100 — 上海
  • 101280100 — 广州
  • 101280600 — 深圳
  • 101210100 — 杭州

License

ISC

About

Boss直聘自动打招呼工具 - Playwright自动化,支持 macOS/Windows/Linux

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors