Skip to content

breezeFur/bosspilot

Repository files navigation

BossPilot Java

一个基于 Spring Boot + Playwright + Vue 3 的 BOSS 直聘自动化项目,当前聚焦以下能力:

  • 自动扫描职位并尝试发起沟通
  • 自动处理聊天页未读消息回复
  • 通过配置页维护筛选规则、调度参数和浏览器登录 Cookie

当前功能

  • 开始自动打招呼
    • 扫描 BOSS 职位列表
    • 按城市、经验、薪资、正则规则做匹配
    • 进入职位详情页后自动发起沟通
    • 可选使用 AI 生成首轮打招呼内容
  • 处理未读消息
    • 进入聊天页读取未读会话
    • 提取最近对话上下文
    • 调用外部 AI 生成回复
    • 自动发送消息
  • 自动调度
    • 支持按顺序组合执行开始聊天和回复未读
  • 配置后台
    • 前端保留 BOSS 配置 页面
    • 后端保留当前仍在使用的配置接口

项目结构

bosspilot-java/
├─ frontend/           Vue 3 + Vite 前端配置页
├─ bosspilot-db/       JPA 实体与 Repository
├─ bosspilot-core/     Spring Web 与公共基础模块
├─ bosspilot-jd/       BOSS 自动化业务主逻辑
├─ bosspilot-main/     启动模块与默认资源
├─ doc/                每次代码改动的变更记录
└─ pom.xml             Maven 聚合工程

技术栈

  • Java 21
  • Spring Boot 3.3
  • Playwright Java 1.49
  • MySQL
  • Vue 3
  • Vite

运行前准备

1. 环境要求

  • JDK 21
  • Maven 3.9+
  • Node.js 18+
  • MySQL 8+

说明:

  • 仓库当前已经打包了一份 Windows Chromium 到 third_party/playwright/chromium-1148
  • 后端会优先使用仓库内浏览器,而不是依赖当前用户目录下的 ms-playwright

2. 后端配置

默认配置文件位于:

  • bosspilot-main/src/main/resources/application.yml

至少需要确认以下配置:

  • spring.datasource.*
  • server.port
  • bosspilot.ai-service.*
  • bosspilot.browser.*

说明:

  • 仓库中的数据库地址、用户名、密码是本地开发值,开源使用前建议自行替换
  • spring.jpa.hibernate.ddl-auto=update 会在启动时自动更新表结构

3. BOSS 登录态

当前项目主要通过以下方式获取登录态:

  • 在 BOSS 配置页填写 manualCookie
  • 复用已有浏览器会话,让程序读取当前上下文

如果没有有效登录态,自动化主流程无法正常工作。

4. 外部 AI 服务

未读回复和 AI 打招呼依赖外部 AI SSE 服务:

  • bosspilot.ai-service.base-url
  • bosspilot.ai-service.boss-chat-endpoint

如果关闭 AI:

  • 首轮打招呼会回退到默认文案
  • 未读回复生成会失败或回退

启动方式

启动后端

在仓库根目录执行:

mvn -pl bosspilot-main -am spring-boot:run

默认地址:

http://localhost:8686

启动前端

frontend 目录执行:

npm install
npm run dev

默认地址:

http://localhost:3000

Vite 已配置开发代理,/api 会转发到:

http://localhost:8686

前端页面

当前只保留一个页面:

  • /boss:BOSS 自动化主配置

主要可配置内容包括:

  • 手动 Cookie
  • 职位名称 / 类型 / 描述正则
  • 城市、经验、薪资条件
  • 推荐页动态 / 静态筛选组合
  • AI 首轮打招呼开关
  • 未读回复上下文条数
  • 自动同意附件简历卡片
  • 调度次数与间隔
  • 职位来源列表

后端接口

配置接口

  • GET /api/config/boss
  • PUT /api/config/boss
  • GET /api/config/filter-options

自动化接口

  • POST /api/automation/start
  • POST /api/automation/reply-unread
  • POST /api/automation/schedule
  • GET /api/automation/status

测试与构建

后端测试

mvn -pl bosspilot-jd -am test

前端构建

cd frontend
npm run build

注意事项

  • 本项目依赖真实页面 DOM 和接口行为,BOSS 页面结构变化后可能需要同步修复
  • Playwright、Cookie、浏览器环境、风控状态都会影响稳定性
  • 仓库内附带的是 Windows 版 Chromium,跨平台运行时仍需补齐对应平台浏览器
  • 前端当前是独立 Vite 工程,默认没有直接打包进 Spring Boot 静态资源
  • 自动化能力请仅在合法、合规、符合目标平台规则的前提下使用

变更记录

仓库中的每次代码改动都会在 doc/ 目录生成对应的说明文件。

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors