Boss-Career-Ops
BOSS 直聘求职全流程 CLI 工具。覆盖从职位搜索到拿到 offer 的完整闭环。
核心原则:规则引擎评估推荐,人决定行动。系统自动执行高分职位,低分职位需人工确认。
功能概览
- 职位搜索 — 关键词 + 城市 + 福利多维筛选,搜索缓存减少 API 调用
- 5 维评估 — 匹配度、薪资、地点、发展、团队自动评分,全行业同义词表,匹配/不匹配原因输出
- 阈值驱动 — batch-greet 内置阈值逻辑,B 级自动打招呼,D 级自动跳过
- 简历定制 — 根据职位 JD 生成 ATS 友好的 MD/PDF 简历,关键词注入
- 批量打招呼 — 高斯随机延迟 + 随机长停顿,最大 10 个,防封号
- 聊天管理 — 消息历史、摘要、标签、导出
- 求职流水线 — 发现→评估→投递→沟通→面试→offer 全程追踪,所有操作结果自动入库
- 面试准备 — 基于职位信息生成面试要点
- Web 仪表盘 — 求职决策仪表盘,5 维评分可视化、Pipeline 看板、零配置可用
- TUI Dashboard — 终端可视化求职看板
快速开始
安装
# 推荐:uv 全局安装
uv tool install boss-career-ops
# 或 pip
pip install boss-career-ops
# 或从源码安装
uv tool install git+https://github.com/maimaigptlink9/boss-career-ops.git
要求:Python >= 3.12
开发模式
git clone https://github.com/maimaigptlink9/boss-career-ops.git
cd boss-career-ops
uv sync
uv run bco <cmd>
uv run pytest
初始化
# 1. 环境诊断
bco doctor
# 2. 首次使用,初始化配置
bco setup
# 3. 登录 BOSS 直聘(自动检测 Chrome Profile,4 级降级)
bco login
# 4. 确认登录态
bco status
基本使用
# 搜索职位
bco search "Golang" --city 广州 --welfare "双休,五险一金"
# 对搜索结果批量评估
bco evaluate --from-search
# 批量打招呼(内置阈值逻辑)
bco batch-greet "Golang" --city 广州
# 生成定制简历
bco resume <job_id> --format pdf
# 查看求职流水线
bco pipeline
# 启动 Web 仪表盘(零配置可用,规则引擎开箱即用)
bco web
评估引擎
5 维评分体系
| 维度 | 权重 | 评估内容 |
|---|---|---|
| 匹配度 | 30% | 技能、经验、学历与 JD 的匹配程度(全行业同义词表 ~100 组) |
| 薪资 | 25% | 薪资范围与预期的对比,连续评分(非阶梯跳变) |
| 地点 | 15% | 城市偏好、邻近城市支持、远程可能性 |
| 发展 | 15% | 职业成长空间(按岗位类型选关键词:技术/产品/运营/市场/设计/数据/管理) |
| 团队 | 15% | 公司阶段、团队文化(按岗位类型选关键词) |
评分改进
- 评分区分度提升:发展/团队基准分从 3.0 降至 1.5,解决评分集中在 C 级的问题
- 全行业同义词表:覆盖技术/产品/运营/市场/设计/数据/财务/人力/销售/内容/电商/法务/行政/通用共 ~100 组
- 匹配原因输出:每个评估结果包含
match_reasons(优势)和mismatch_reasons(不足) - 信息不足标记:搜索结果缺 description 时标记
confidence: "preliminary",提示查看详情后评分可能变化 - 薪资连续评分:用连续函数替代阶梯跳变,5K 差距不再导致 1.0 分跳变
- 邻近城市支持:广州→深圳 3.5 分(而非 2.0),北京→天津同理
评分等级与自动动作
| 等级 | 分数 | 含义 | 自动动作 |
|---|---|---|---|
| A | 4.5-5.0 | 强烈推荐 | 自动投递 |
| B | 3.5-4.4 | 值得投入 | 自动打招呼 |
| C | 2.5-3.4 | 一般 | 需人工确认 |
| D | 1.5-2.4 | 不太匹配 | 需人工确认 |
| F | 0.0-1.4 | 不推荐 | 跳过 |
命令参考
环境与认证
| 命令 | 说明 |
|---|---|
bco doctor |
环境诊断 |
bco setup |
初始化配置(首次使用) |
bco login |
登录(4 级降级:Bridge Cookie→CDP→QR httpx→patchright),支持 --profile 指定 Chrome 配置文件 |
bco logout |
清除本地登录态 |
bco status |
检查登录态 |
bco bridge status |
查看 Bridge Daemon 状态 |
bco bridge test |
Bridge 连通性诊断(3 步检查) |
bco skill-update |
检查远程版本并获取最新 skill.md 内容 |
职位搜索与评估
| 命令 | 说明 |
|---|---|
bco search <keyword> --city <city> --welfare <welfare> |
搜索职位 + 福利筛选 |
bco recommend |
个性化推荐 |
bco evaluate [target] 或 --from-search |
5 维评估 |
bco detail <security_id> |
查看职位完整详情(双通道降级) |
投递与沟通
| 命令 | 说明 |
|---|---|
bco greet <security_id> <job_id> |
打招呼 |
bco batch-greet <keyword> --city <city> |
批量打招呼(最大 10 个) |
bco apply <security_id> <job_id> |
投递简历 |
bco apply <security_id> <job_id> --resume <job_id> |
投递前先上传简历再投递 |
bco resume <job_id> --format <md|pdf> |
生成定制简历 |
bco resume <job_id> --format pdf --upload |
生成 PDF 并上传到 BOSS 直聘平台 |
聊天管理
| 命令 | 说明 |
|---|---|
bco chat --export <csv|json|html|md> |
聊天管理 + 导出 |
bco chatmsg <security_id> |
聊天消息历史 |
bco chat-summary <security_id> |
聊天摘要 |
bco mark <security_id> --tag <tag> |
联系人标签 |
流水线与导出
| 命令 | 说明 |
|---|---|
bco pipeline |
求职流水线追踪(数据来自搜索/评估/投递等操作的自动入库) |
bco export <keyword> -o <output> --format <csv|json|html|md> |
多格式导出 |
面试与 Dashboard
| 命令 | 说明 |
|---|---|
bco interview <job_id> |
面试准备 |
bco dashboard |
启动 TUI Dashboard |
bco web |
启动 Web 仪表盘(求职决策仪表盘,零配置可用) |
配置
所有配置存储在 ~/.bco/ 目录(可通过 BCO_HOME 环境变量自定义)。
个人档案 — ~/.bco/config/profile.yml
name: ""
title: ""
experience_years: 0
skills: []
expected_salary:
min: 0
max: 0
preferred_cities: []
remote_ok: false
education: ""
career_goals: ""
avoid: ""
简历 — ~/.bco/cv.md
Markdown 格式的完整简历,评估引擎和简历生成器都会读取此文件。越详细,评估越准确。
自动执行阈值 — ~/.bco/config/thresholds.yml
auto_action:
auto_greet_threshold: 4.0 # B+ 及以上自动打招呼
auto_apply_threshold: 4.5 # A 级自动投递
skip_threshold: 2.0 # D 级及以下直接跳过
confirm_required: true # 中间分数段需人工确认
rate_limit:
request_delay_min: 1.5 # 请求最小延迟(秒)
request_delay_max: 3.0 # 请求最大延迟(秒)
batch_greet_max: 10 # 批量打招呼上限
batch_greet_delay_min: 2.0 # 批量打招呼最小延迟
batch_greet_delay_max: 5.0 # 批量打招呼最大延迟
burst_penalty_multiplier: 2.0 # 突发惩罚倍数
retry_max_attempts: 3 # 最大重试次数
retry_base_delay: 5.0 # 重试基础延迟
retry_max_delay: 60.0 # 重试最大延迟
search_page_delay_min: 3.0 # 搜索翻页最小延迟
search_page_delay_max: 6.0 # 搜索翻页最大延迟
search_max_pages: 5 # 搜索最大翻页数
cache:
default_ttl: 3600 # 默认缓存 TTL(秒)
search_ttl: 1800 # 搜索缓存 TTL(秒)
Web 仪表盘
bco web 启动求职决策仪表盘(FastAPI + Alpine.js),定位是评分和 Pipeline 的可视化,不是 BOSS 网页的复刻。
核心页面
| 页面 | 功能 | BOSS 网页可替代 |
|---|---|---|
| 决策看板 | Pipeline 看板 + 5 维评分卡片 + 优劣势分析 + 待办 | ❌ |
| 设置 | 个人档案编辑 + 阈值配置 | ❌ |
技术架构
浏览器 → FastAPI (web/server.py) → PipelineManager / BossAdapter / EvaluationEngine
- 后端:FastAPI,业务逻辑通过
pipeline/manager.py、pipeline/analytics.py调用 - 前端:Alpine.js (CDN) + 原生 JS,暗色主题,无构建工具
- 安全:默认绑定
127.0.0.1,API Key Fernet 加密存储,写操作需认证
安全说明
- Token 使用 Fernet 加密存储(PBKDF2 密钥派生,绑定机器+用户)
- API Key 使用 Fernet 加密存储(Web 设置页保存时加密)
- 请求间隔使用高斯随机延迟 + 5% 概率随机长停顿,模拟人类行为
- 浏览器通道共享节流器,防止降级后请求密度失控
- Cookie 回写机制,捕获服务端 Set-Cookie 更新
- Token 自动刷新(stoken 过期时 CDP 优先刷新)
- 批量操作内置上限(batch-greet 最大 10 个)
- 敏感信息不输出到日志
- CSV 导出防止公式注入,文件导出防止路径遍历
- Web 仪表盘默认绑定
127.0.0.1,写操作需BCO_WEB_API_KEY认证
参考项目
本项目融合了以下两个开源项目的核心能力:
- boss-agent-cli — AI Agent 专用的 BOSS 直聘求职 CLI 工具,提供平台操作能力(搜索、打招呼、投递、聊天等)
- career-ops — AI 驱动的求职评估系统,提供智能评估能力(多维评分、简历定制、面试准备等)
License
MIT
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
boss_career_ops-0.10.0.tar.gz
(198.3 kB
view details)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file boss_career_ops-0.10.0.tar.gz.
File metadata
- Download URL: boss_career_ops-0.10.0.tar.gz
- Upload date:
- Size: 198.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/6.2.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f1554aa248de5c38758b010ef3bfb8212db22209b49ccfae904fe30bd3d94938
|
|
| MD5 |
ec729be0d694b56a7bf4cc33e4619288
|
|
| BLAKE2b-256 |
4c44e6ec029fc52072a2fcc60c48dc39845ec89c8f5b0a926f8204de080cf6b1
|
File details
Details for the file boss_career_ops-0.10.0-py3-none-any.whl.
File metadata
- Download URL: boss_career_ops-0.10.0-py3-none-any.whl
- Upload date:
- Size: 129.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/6.2.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
94007cb92f43f397d6dd151421ea93f7ee953966ff95fe34c2cb418254fd7f6c
|
|
| MD5 |
8aae6456027fae5d9339c68bbe677111
|
|
| BLAKE2b-256 |
f599b87903b6d643bb353fab7eb6449401ced7ead56e1a9aee26336c07e9f7ef
|