mcpField
B
boss-cli

boss-cli

github.com/jackwener生产力1.0k357 次安装3 周前更新
代码仓库

关于 boss-cli

boss-cli 是用于 BOSS 直聘的命令行工具,面向求职者及自动化流程,可搜索和导出职位、查看个人求职信息并执行招呼操作。

主要功能

  1. 01按条件搜索职位
  2. 02查看职位详情与推荐
  3. 03导出搜索结果
  4. 04查看申请和面试信息
  5. 05登录并检查账户状态
  6. 06批量招呼职位联系人

适用场景

  1. 01按城市和薪资筛选职位
  2. 02将搜索结果导出为 CSV 或 JSON
  3. 03检查申请状态、面试邀请和聊天列表
  4. 04预览后批量招呼匹配职位

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/jackwener/boss-cli --skill boss-cli

安装后在 Claude Code 中输入/boss-cli确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

README.md
.gitignore
SCHEMA.md
pyproject.toml
uv.lock
.github/workflows/
publish.yml
ci.yml
boss_cli/
__init__.py
client.py
browser_login.py
cli.py
auth.py
index_cache.py
constants.py
exceptions.py
boss_cli/commands/
__init__.py
personal.py
social.py
search.py
auth.py
recruiter.py
_common.py
tests/
__init__.py
test_auth.py
conftest.py
test_cli.py
test_cdp_auth.py
test_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/JSONboss 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 查看完整列表)
薪资--salary3K以下、3-5K、5-10K、10-15K、15-20K、20-30K、30-50K、50K以上
经验--exp不限、在校/应届、1年以内、1-3年、3-5年、5-10年、10年以上
学历--degree不限、大专、本科、硕士、博士
行业--industry互联网、电子商务、游戏、人工智能、金融、教育培训、医疗健康等
公司规模--scale0-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