关于 boss-cli
boss-cli 是用于 BOSS 直聘的命令行工具,面向求职者及自动化流程,可搜索和导出职位、查看个人求职信息并执行招呼操作。
主要功能
- 01按条件搜索职位
- 02查看职位详情与推荐
- 03导出搜索结果
- 04查看申请和面试信息
- 05登录并检查账户状态
- 06批量招呼职位联系人
适用场景
- 01按城市和薪资筛选职位
- 02将搜索结果导出为 CSV 或 JSON
- 03检查申请状态、面试邀请和聊天列表
- 04预览后批量招呼匹配职位
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ jackwener/ boss-cli --skill boss-cli安装后在 Claude Code 中输入/boss-cli确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
README.md.gitignoreSCHEMA.mdpyproject.tomluv.lock.github/workflows/publish.ymlci.ymlboss_cli/__init__.pyclient.pybrowser_login.pycli.pyauth.pyindex_cache.pyconstants.pyexceptions.pyboss_cli/commands/__init__.pypersonal.pysocial.pysearch.pyauth.pyrecruiter.py_common.pytests/__init__.pytest_auth.pyconftest.pytest_cli.pytest_cdp_auth.pytest_smoke.py详细介绍
boss-cli — BOSS 直聘命令行工具
二进制文件: boss
凭据: 浏览器 Cookie(自动从 10+ 种浏览器提取)或二维码登录(--qrcode)
设置
# Install (requires Python 3.10+)
uv tool install kabi-boss-cli
# Or: pipx install kabi-boss-cli
# Upgrade to latest (recommended)
uv tool upgrade kabi-boss-cli
# Or: pipx upgrade kabi-boss-cli
身份验证
Agent 注意: 执行任何 boss 命令前,请先检查是否存在凭据。不要假设 Cookie 已配置。
步骤 0:检查是否已完成身份验证
boss status --json 2>/dev/null | jq -r '.authenticated' | grep -q true && echo "AUTH_OK" || echo "AUTH_NEEDED"
如果显示 AUTH_OK,则跳转至命令参考。
如果显示 AUTH_NEEDED,则继续执行步骤 1。
步骤 1:引导用户完成身份验证
确保用户已在任意受支持的浏览器(Chrome、Firefox、Edge、Brave、Arc、Chromium、Opera、Vivaldi、Safari、LibreWolf)中登录 zhipin.com。然后:
boss login # auto-detect browser with valid cookies
boss login --cookie-source chrome # specify browser explicitly
boss login --qrcode # QR code login — scan with Boss app
通过以下命令验证:
boss status
boss me --json | jq '.data.name'
步骤 2:处理常见的身份验证问题
| 症状 | Agent 操作 |
|---|---|
环境异常 (__zp_stoken__ 已过期) | 运行 boss logout && boss login |
未登录 | 运行 boss login |
| 请求频率受限(code=9) | 已内置自动冷却;等待后重试 |
| API 超时 | 检查网络后重试 |
Agent 默认设置
所有机器可读输出均使用 SCHEMA.md 中记录的封装格式。
数据内容位于 .data 下。
- stdout 非 TTY → 自动使用 YAML
--json/--yaml→ 显式指定格式- 富文本输出 → stderr(可安全用于管道:
boss search X --json | jq .data)
命令参考
搜索与浏览
| 命令 | 说明 | 示例 |
|---|---|---|
boss search <keyword> | 按筛选条件搜索职位 | boss search "golang" --city 杭州 --salary 20-30K |
boss show <index> | 查看上次搜索结果中的第 N 个职位 | boss show 3 |
boss detail <securityId> | 查看完整职位详情 | boss detail abc123 --json |
boss export <keyword> | 将搜索结果导出为 CSV/JSON | boss export "Python" -n 50 -o jobs.csv |
boss recommend | 个性化推荐 | boss recommend -p 2 --json |
boss history | 查看浏览历史 | boss history --json |
boss cities | 列出支持的城市 | boss cities |
个人中心
| 命令 | 说明 | 示例 |
|---|---|---|
boss me | 查看个人资料(姓名、年龄、学历) | boss me --json |
boss applied | 查看已申请的职位 | boss applied -p 1 --json |
boss interviews | 查看面试邀请 | boss interviews --json |
boss chat | 查看已沟通过的招聘者 | boss chat --json |
操作
| 命令 | 说明 | 示例 |
|---|---|---|
boss greet <securityId> | 向招聘者打招呼 / 申请职位 | boss greet abc123 --json |
boss batch-greet <keyword> | 向搜索结果中的招聘者批量打招呼 | boss batch-greet "Python" --city 杭州 -n 5 |
boss batch-greet <keyword> --dry-run | 预览但不发送 | boss batch-greet "golang" --dry-run |
账户
| 命令 | 说明 |
|---|---|
boss login | 从浏览器提取 Cookie(自动检测,失败时使用二维码) |
boss login --cookie-source <browser> | 从指定浏览器提取 |
boss login --qrcode | 仅使用二维码登录(在终端输出二维码) |
boss status | 检查身份验证状态(显示 Cookie 名称) |
boss logout | 清除已保存的凭据 |
搜索筛选选项
| 筛选项 | 标志 | 取值 |
|---|---|---|
| 城市 | --city | 北京、上海、杭州、深圳等(使用 boss cities 查看完整列表) |
| 薪资 | --salary | 3K以下、3-5K、5-10K、10-15K、15-20K、20-30K、30-50K、50K以上 |
| 经验 | --exp | 不限、在校/应届、1年以内、1-3年、3-5年、5-10年、10年以上 |
| 学历 | --degree | 不限、大专、本科、硕士、博士 |
| 行业 | --industry | 互联网、电子商务、游戏、人工智能、金融、教育培训、医疗健康等 |
| 公司规模 | --scale | 0-20人、20-99人、100-499人、500-999人、1000-9999人、10000人以上 |
| 融资阶段 | --stage | 未融资、天使轮、A轮、B轮、C轮、D轮及以上、已上市、不需要融资 |
| 职位类型 | --job-type | 全职、兼职、实习 |
Agent 工作流示例
搜索 → 批量打招呼流程
# Preview first
boss batch-greet "golang" --city 杭州 --salary 20-30K --dry-run
# Then execute
boss batch-greet "golang" --city 杭州 --salary 20-30K -n 10 -y
搜索 → 详情流程(结构化)
# Search and extract securityId
SEC_ID=$(boss search "golang" --city 杭州 --json | jq -r '.data.jobList[0].securityId')
# Get full detail
boss detail "$SEC_ID" --json | jq '.data.jobInfo | {jobName, salaryDesc, skills}'
每日职位检查工作流
boss recommend --json | jq '.data.jobList | length' # Check recommendations count
boss search "Python" --city 杭州 --json # Search specific jobs
boss show 1 # View top result details
boss applied --json # Check application status
boss interviews --json # Check interview invitations
boss chat --json # Check messages
boss history --json # Review browsing history
导出流程
boss export "golang" --city 杭州 --salary 20-30K -n 50 -o jobs.csv
boss export "Python" -n 100 --format json -o jobs.json
个人资料检查
boss me --json | jq '.data | {name, age, degreeCategory}'
错误代码
在 error.code 字段中返回的结构化错误代码(参见 SCHEMA.md):
not_authenticated— cookie 已过期或缺失rate_limited— 请求过多(内置自动冷却机制)invalid_params— 缺少参数或参数无效api_error— 上游 API 错误unknown_error— 意外错误
限制
- 无法发送消息 — 无法发送聊天消息(需要 MQTT/Protobuf)
- 无法编辑简历 — 无法通过 CLI 编辑简历
- 无法搜索公司 — 公司页面会返回 HTML(需要 zp_stoken)
- 单个账号 — 每次只能使用一组 cookie
- 请求受限 — batch-greet 内置了每次问候之间 1.5s 的延迟
面向 Agent 的反检测须知
- 切勿并行发送请求 — 内置高斯抖动延迟,以保障账号安全
- 请求速率限制自动恢复:如果出现 code=9,客户端会自动进入冷却状态,逐步增加延迟(10s→20s→40s→60s),并重试一次
- 使用
-v标志进行调试:boss -v search "Python"会显示请求耗时 - 批量问候限制:建议每次会话问候不超过 10 次,以避免触发检测
- cookie 自动刷新:如果 cookie 已存在 ≥ 7 天,boss-cli 会自动尝试从浏览器提取
- 如果
__zp_stoken__过期,请重新登录:运行boss logout && boss login
安全须知
- 不要要求用户在聊天日志中分享原始 cookie 值。
- 优先使用本地浏览器 cookie 提取,而非手动复制/粘贴密钥。
- 如果身份验证失败,请让用户通过
boss login重新登录。 - Agent 应将 cookie 值视为密钥(不要回显到 stdout)。
- 内置的请求速率限制延迟可保护账号;不要绕过它。
评论
支持 Markdown