BOSS直聘 AI 求职全流程系统 — 搜索、评估、投递、沟通、面试、谈判闭环
Project description
Boss-Career-Ops
BOSS 直聘 AI 求职全流程 CLI 工具。覆盖从职位搜索到拿到 offer 的完整闭环。
核心原则:AI 评估推荐,人决定行动。系统自动执行高分职位,低分职位需人工确认。
AI 编排:AI 任务(评估/润色/摘要/面试准备)由 Agent 直接完成,无需配置外部 LLM API。
功能概览
- 职位搜索 — 关键词 + 城市 + 福利多维筛选,搜索缓存减少 API 调用
- 5 维评估 — 匹配度、薪资、地点、发展、团队自动评分,全行业同义词表,匹配/不匹配原因输出
- 阈值驱动 — batch-greet 内置阈值逻辑,B 级自动打招呼,D 级自动跳过
- 简历定制 — 根据职位 JD 生成 ATS 友好的 MD/PDF 简历,关键词注入
- 批量打招呼 — 高斯随机延迟 + 随机长停顿,最大 10 个,防封号
- 聊天管理 — 消息历史、AI 摘要、标签、导出
- 求职流水线 — 发现→评估→投递→沟通→面试→offer 全程追踪,所有操作结果自动入库
- 面试准备 — 基于职位信息生成面试要点
- Web 仪表盘 — AI 求职决策仪表盘,5 维评分可视化、Pipeline 看板、AI 助手、零配置可用
- 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 内容 |
Agent AI 任务
| 命令 | 说明 |
|---|---|
bco agent "帮我找深圳的Agent岗位" |
AI Agent 对话式求职助手(LangGraph 多Agent编排) |
bco agent --interactive |
交互模式,持续对话 |
bco agent-evaluate <job_id> |
输出职位数据供 Agent 评估 |
bco agent-evaluate --stage 发现 --limit 10 |
输出待评估职位列表 |
bco agent-save evaluate --job-id <id> --score <n> --grade <G> --analysis "..." |
保存评估结果 |
bco agent-save resume --job-id <id> --content "..." |
保存简历润色结果 |
bco agent-save chat-summary --security-id <id> --data '...' |
保存聊天摘要 |
bco agent-save interview-prep --job-id <id> --data '...' |
保存面试准备 |
RAG 知识库
| 命令 | 说明 |
|---|---|
bco rag-index |
构建/更新 RAG 知识库索引(从 Pipeline DB 读取 JD) |
bco rag-index --reindex |
全量重建索引 |
bco rag-search "AI Agent 开发" --collection jd --top-k 10 |
RAG 语义搜索(jd/resume/interview) |
MCP Server
| 命令 | 说明 |
|---|---|
bco mcp-server |
启动 MCP Server(供 Claude Desktop 等客户端调用) |
职位搜索与评估
| 命令 | 说明 |
|---|---|
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 仪表盘(AI 求职决策仪表盘,零配置可用) |
配置
所有配置存储在 ~/.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(秒)
AI Agent 集成
本工具专为 AI Agent 设计,AI 任务由 Agent 直接完成,无需配置外部 LLM API。
零配置可用
系统采用「规则引擎开箱即用 + AI 无缝升级」策略:
- 不配置 AI → 规则引擎模式:5 维评分、A/B/C/D/F 等级、推荐语、技能同义词匹配、ATS 关键词注入、Pipeline 看板,覆盖 80% 核心价值
- 配置 AI → AI 增强模式:AI 评估覆盖规则评分、AI 简历润色、AI 聊天摘要、AI 回复建议、AI 面试准备
AI 配置支持 Web 设置页(30 秒完成)和环境变量两种方式,优先级:环境变量 > ai_config.yml > 规则引擎。
工作原理
Agent 读取数据(bco agent-evaluate / bco chatmsg)
→ Agent 思考分析(评估/润色/摘要/面试准备)
→ Agent 写入结果(bco agent-save)
→ 后续命令读取 Agent 结果(bco evaluate / bco resume / bco interview)
Agent 工具命令
bco agent-evaluate— 输出职位数据供 Agent 评估分析bco agent-save— 保存 Agent 的 AI 分析结果到数据库
Skill 集成
将 skills/boss-career-ops/skill.md 放到对应 Agent 的 skill 目录即可自动理解并调用 bco 命令:
OpenClaw:
mkdir -p ~/.openclaw/skills/boss-career-ops && cp skills/boss-career-ops/skill.md ~/.openclaw/skills/boss-career-ops/skill.md
Claude Code:
在项目目录中打开 Claude Code,CLAUDE.md 会自动加载为上下文。
WorkBuddy:
cp skills/boss-career-ops/skill.md ~/.workbuddy/skills/boss-career-ops/skill.md
Web 仪表盘
bco web 启动 AI 求职决策仪表盘(FastAPI + Alpine.js),定位是 AI 智能层的可视化,不是 BOSS 网页的复刻。
核心页面
| 页面 | 功能 | BOSS 网页可替代 |
|---|---|---|
| 决策看板 | Pipeline 看板 + 5 维评分卡片 + 优劣势分析 + 待办 | ❌ |
| AI 助手 | 回复建议 + 简历定制 + 面试准备 + 技能差距 | ❌ |
| 设置 | AI Key 配置引导 + 个人档案编辑 | ❌ |
技术架构
浏览器 → FastAPI (web/server.py) → agent/tools.py → PipelineManager / BossAdapter / EvaluationEngine
- 后端:FastAPI,所有业务逻辑通过
agent/tools.py调用 - 前端:Alpine.js (CDN) + 原生 JS,暗色主题,无构建工具
- AI 配置:Web 设置页配置 API Key,Provider 信息从
data/llm_providers.yml读取 - 安全:默认绑定
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认证
系统升级路线图
目标:将现有 CLI 自动化工具升级为真正的 AI Agent 系统,同时满足「求职实用」和「面试证明 Agent 开发能力」两个目标。
已完成改造
| 改造 | 状态 | 核心变化 | 详细文档 |
|---|---|---|---|
| LangGraph 多Agent编排 | ✅ 已完成 | Agent I/O 数据通道 → StateGraph + Conditional Edge 路由,6 个专业 Agent 节点 | upgrade-langgraph.md |
| RAG 知识库 | ✅ 已完成 | 关键词匹配 → ChromaDB 语义向量检索 + MMR 重排 | upgrade-rag.md |
| MCP Server | ✅ 已完成 | CLI 命令行 → MCP 协议(JSON-RPC over stdio),9 Tool + 3 Resource | upgrade-mcp.md |
| 规则引擎评估改进 | ✅ 已完成 | 评分区分度提升、全行业同义词表、匹配原因输出、薪资连续评分、邻近城市 | 规则引擎评估改进方案.md |
| Web 仪表盘 | ✅ 已完成 | AI 求职决策仪表盘,5 维评分可视化、Pipeline 看板、AI 助手、零配置可用 | Web前端方案.md |
| Web 与 CLI 对齐 | ✅ 已完成 | agent/tools.py 增强,Pipeline 阶段推进、搜索入库、简历 PDF 生成修复 | web-cli-alignment.md |
| 风控对抗增强 | ✅ 已完成 | QR httpx 登录、浏览器通道节流、随机长停顿、Cookie 回写、Token 自动刷新 | 风控对抗实现对比分析.md |
进行中改进
| 改造 | 状态 | 核心变化 | 详细文档 |
|---|---|---|---|
| Web 功能补全 | 🔄 进行中 | 搜索页面、投递按钮、聊天页面、简历预览、面试准备、数据分析 | web-completion-plan.md |
| 功能广度补全 | 🔄 进行中 | detail 命令、搜索缓存、登出、搜索预设/监控、日报/跟进 | 功能对比分析.md |
新增依赖
pyproject.toml 的 dependencies 已新增:langchain>=0.3、langgraph>=0.2、langchain-openai>=0.2、chromadb>=0.5、mcp>=1.0
LLM 配置
| 环境变量 | 说明 | 默认值 |
|---|---|---|
BCO_LLM_PROVIDER |
LLM 提供者(openai/deepseek/local) | deepseek |
BCO_LLM_API_KEY |
API Key | — |
BCO_LLM_BASE_URL |
API Base URL(兼容 OpenAI 接口) | — |
BCO_LLM_MODEL |
模型名 | deepseek-chat |
也可通过 Web 设置页(bco web → 设置 → AI 配置)配置,API Key 加密存储到 ~/.bco/ai_config.yml。优先级:环境变量 > ai_config.yml > 规则引擎。
Claude Desktop 集成
{
"mcpServers": {
"boss-career-ops": {
"command": "bco",
"args": ["mcp-server"]
}
}
}
参考项目
本项目融合了以下两个开源项目的核心能力:
- boss-agent-cli — AI Agent 专用的 BOSS 直聘求职 CLI 工具,提供平台操作能力(搜索、打招呼、投递、聊天等)
- career-ops — AI 驱动的求职评估系统,提供智能评估能力(多维评分、简历定制、面试准备等)
License
MIT
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
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.7.0.tar.gz.
File metadata
- Download URL: boss_career_ops-0.7.0.tar.gz
- Upload date:
- Size: 338.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0f32ea0ed1451b8d84ceedfa7f59923b4f81b021a37c33544cbcd8f47c3a82aa
|
|
| MD5 |
ae890e82d4dbeb94cf061e5d1d0736d8
|
|
| BLAKE2b-256 |
1ebc9d671d5a093447fa0b171455a4dfc30ac69f13e0fd71d5f12926a79d30b9
|
File details
Details for the file boss_career_ops-0.7.0-py3-none-any.whl.
File metadata
- Download URL: boss_career_ops-0.7.0-py3-none-any.whl
- Upload date:
- Size: 161.1 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 |
a42306d45f78610f63e3cd7cd79b5d961142793119b16cf66f064d9d70e4ccd3
|
|
| MD5 |
27f981d48a451adeaf9048543d96a916
|
|
| BLAKE2b-256 |
acd936978f77f1d26b9f717e8a3b4171f13ca7ae0690208106df7d9590d0795a
|