Resources
11Install
npx skillscat add powerycy/bosshunter Install via the SkillsCat registry.
BossHunter Skill
某直聘智能求职 Agent — 全自动化求职流水线的 Claude Code Skill。
触发条件
当以下任意情况发生时触发:
首次对话(Onboarding):
- 用户在本项目目录下发起任何对话,且当前目录不存在
config.yaml
常规操作:
- 采集岗位 / 搜索职位
- 评分 / 筛选岗位
- 生成招呼语
- 确认投递清单
- 发送招呼语
- 监听 HR 回复
- 查看求职状态 / 数据看板
- 一键执行求职流程
首次对话 / Onboarding
当用户在本项目目录下首次发起对话时(无论消息内容是什么),Agent 必须执行以下流程:
触发判断
满足以下任意一条即视为首次使用:
- 当前目录下不存在
config.yaml - 用户明确表示"刚开始用" / "第一次用"
执行步骤
1. 自我介绍
我是 BossHunter,你的 某直聘智能投递助手。
我可以帮你自动完成:搜索岗位 → AI 评分筛选 → 生成个性化招呼语 → 人工确认 → 自动发送 → 监听 HR 回复 → 投递定制简历。
整个过程需要你确认后才会发送,不会偷跑。
2. 引导打开 Web 配置面板
执行:
bosshunter web告知用户:
我已帮你启动配置面板,浏览器会自动打开 http://127.0.0.1:8686
请在面板中完成以下初始设置:
3. 引导配置项
按优先级引导用户完成:
| 优先级 | 配置项 | 说明 |
|---|---|---|
| ★★★ | 上传简历 | 面板左侧「简历」区域,上传 .md 格式简历 |
| ★★★ | 搜索关键词 | 你想找什么岗位(如 Python开发、后端工程师) |
| ★★★ | 目标城市 | 选择投递城市 |
| ★★☆ | 期望薪资 | 设置最低/最高薪资范围 |
| ★★☆ | 一票否决词 | 看到就跳过的关键词(如 外包、996) |
| ★☆☆ | AI 阈值 / 频率 | 可保持默认,后续按需调整 |
4. 配置完成确认
用户表示配置完成后:
- 运行
bosshunter connect确认 Chrome 连接正常 - 如果连接正常,提示用户可以开始使用(
bosshunter run或分步操作) - 如果连接失败,引导开启 Chrome 远程调试并登录 某直聘
如果不是首次使用
如果 config.yaml 已存在且用户没有明确要求重新配置,跳过 onboarding,直接响应用户意图。
前置检查
在执行任何操作前,检查环境就绪状态:
# 检查 Python 环境
python --version
# 检查 Chrome CDP 连接
bosshunter connect如果 bosshunter 命令不存在,引导用户执行:
cd /path/to/BossHunter && pip install -e .如果 Chrome 连接失败,引导用户:
- 确保 Chrome 已启动
- 开启远程调试:
chrome://inspect/#remote-debugging→ 勾选 Allow - 确保已登录 某直聘
工作流程
完整流程(一键模式)
bosshunter run自动按顺序执行:连接检测 → 采集 → 评分 → 招呼语 → 人工确认 → 发送
分步控制
根据用户意图选择对应命令:
| 用户意图 | 命令 |
|---|---|
| "帮我搜索/采集岗位" | bosshunter scrape -k "关键词" |
| "评分/筛选一下" | bosshunter score |
| "生成招呼语" | bosshunter greet |
| "确认投递" | bosshunter confirm |
| "发送" | bosshunter send |
| "看看状态/数据" | bosshunter status --full |
| "打开看板" | bosshunter web |
| "监听回复" | bosshunter monitor |
| "生成简历给xx岗位" | bosshunter resume --job-id xxx |
监听模式
# 持续监听(默认30分钟间隔)
bosshunter monitor
# 只检查一次
bosshunter monitor --once监听模式会:
- 打开 某直聘聊天页
- 检测哪些 HR 回复了
- 自动为回复的岗位生成定制简历
- 通过聊天窗口发送简历
状态流转
pending → scored → filtered (AI 过滤)
→ ready → approved → sent → replied → resume_sent → follow_up_sent
→ rejected (用户主动拒绝)关键节点说明:
scored: AI 评分完成ready: 招呼语已生成,待确认approved: 用户已确认,待发送sent: 招呼语已发送replied: HR 已回复resume_sent: 简历已发送follow_up_sent: 跟进消息已发送
安全约束
必须遵守
- 人工确认不可跳过 — 所有投递必须经过
confirm步骤 - 时间窗口 — 仅在配置的
send_windows内发送 - 频率限制 — 遵守
daily_limit和间隔设置 - 错误退避 — 连续失败时自动增加间隔
风险提示
执行投递相关操作前,如果是用户首次使用,提示:
自动化操作招聘平台存在账号封禁风险。已内置多层反检测策略但无法完全避免,继续操作即视为接受风险。
配置文件
配置存放在项目根目录 config.yaml,可通过 Web Dashboard 可视化编辑:
bosshunter web # 打开配置页面核心配置说明:
profile:
resume_path: "./resume.md" # 简历文件路径
salary_min: 15 # 最低期望薪资 (K)
salary_max: 30 # 最高期望薪资 (K)
deal_breakers: ["外包", "996"] # 一票否决关键词
search:
keywords: ["Python开发", "后端"] # 搜索关键词
cities: ["北京", "上海"] # 目标城市
scoring:
threshold: 71 # AI 评分通过线
prefilter_threshold: 40 # 预筛分数线
throttle:
daily_limit: 30 # 每日发送上限
interval_min: 60 # 最短间隔 (秒)
interval_max: 180 # 最长间隔 (秒)
send_windows: ["09:00-16:00"] # 发送时间窗口数据存储
- SQLite 数据库:
./data/bosshunter.db - 定制简历输出:
./data/resumes/ - 历史记录:
./data/history.jsonl
与 web-access Skill 的关系
BossHunter 依赖 CDP Proxy 进行浏览器操作,其浏览器连接层与 web-access Skill 共享相同的 CDP 连接机制。如果已安装 web-access,两者可共享同一个 Chrome 实例和 Proxy 进程。
故障排除
| 问题 | 解决方案 |
|---|---|
| "无法连接到 Chrome" | 检查 Chrome 是否开启远程调试 |
| "未发现 某直聘页面" | 在 Chrome 中打开 zhipin.com 并登录 |
| "没有待确认的岗位" | 先执行 scrape → score → greet |
| "发送失败" | 检查是否在时间窗口内,检查日限是否用完 |
| "评分结果都是0" | 检查 AI API Key 配置是否正确 |