boss-cli
boss-cli
English | 中文
在终端或 AI agent 里搜 BOSS直聘(com.hpbr.bosszhipin) 职位 —— 纯 Python、离设备,
跑的时候不需要手机/模拟器。它把 App 的 native 请求加签库
(libyzwg.so)用 Python 复现了出来,所以一条普通 HTTP 请求就能被服务器接受。
$ boss search "安卓逆向" --city 北京,上海,杭州
# 12 jobs for '安卓逆向' (cities=['北京', '上海', '杭州'], page=1)
- [北京] 资深Android逆向与风控对抗专家 | 70-100K·13薪 | PureblueAI
- [上海] 移动安全/逆向工程师 | 30-60K | ...
- [杭州] android逆向开发 | 50-75K | 小算科技
...研究 / 学习用途。它用的是你自己登录账号的 token 去搜;请自行遵守 BOSS直聘的服务条款,别高频打接口。
功能
离设备搜索 —— 运行时不需要手机 / 模拟器 / unidbg,只要 Python + 你的 session token。
一条命令多城市 ——
--city 北京,上海,杭州,支持城市名或城市码。关键词筛选 ——
--filter 远程/--filter 兼职,只保留标题/标签/公司命中的岗位。文本或 JSON 输出 —— 可读列表,或
--json供脚本消费。MCP 服务 —— 把搜索暴露成工具(
boss_search)给 Claude / 任意 MCP 客户端。
Related MCP server: trackly-cli
安装
pip install -r requirements.txt # lz4, requests (mcp only needed for the MCP server)获取 session(一次性)
客户端需要从一台你自己、已登录的 BOSS直聘设备上拿三样东西:
字段 | 来源 |
| 请求头里的 |
| query 参数 |
| 在 |
用任意 HTTPS 抓包工具(Reqable / Charles / mitmproxy;App 若做了证书绑定,配个 frida SSL unpin 脚本)
抓一条 App 发出的 GET https://api5.zhipin.com/api/batch/requests,把上面几个值填进
session.local.json:
cp session.example.json session.local.json # then paste your t2 / client_info / uniqid / cardlist_defaultssession.local.json 已被 gitignore(里面是你的 token)。t2 会过期 —— 搜索开始返回
invalid auth 时,照上面再抓一个新的即可。
用法
# by city name or code, one or several
boss search "Python" # default city from your session
boss search "数据分析" --city 上海
boss search "安卓逆向" --city 北京,上海,杭州 # multi-city, results tagged [city]
# filter / paginate / cap
boss search "逆向" --city 北京,上海 --filter 远程 # only jobs mentioning 远程 (remote)
boss search "Golang" --page 2 --limit 20
boss search "算法" --json # parsed jobs as JSON
# run without installing (module form)
python -m bosscli.cli search "AIGC" --city 深圳参数:--city(城市名/码,逗号分隔)· --filter <文本> · --page N · --sort -1 ·
--limit N · --json · --token <t2>(临时覆盖)· --session <路径>。
内置城市名:全国 / 北京 / 上海 / 广州 / 深圳 / 杭州 / 成都 / 南京 / 武汉 / 西安 / 苏州 / 天津 / 长沙 / 重庆 / 郑州 / 厦门(其它城市直接传城市码)。
MCP 服务
BOSS_SESSION=./session.local.json python -m bosscli.mcp_server在 MCP 客户端里注册(如 ~/.claude.json);工具名
boss_search(query, city?, page?, sort?)。
原理(一句话版)
BOSS直聘的搜索走一个批量端点,参数里带两个防篡改值 —— sp
(加密参数串)和 sig(签名)—— 都由 native 库
libyzwg.so 生成。本项目把这个库的加签/加密用纯 Python 复现
(bosscli/yzwg.py),装配批量请求(bosscli/signer.py),发出去再解密
响应(bosscli/client.py)。正确性靠对真实抓包的字节级测试兜底
(tests/)。核心就这一点:加签一旦复现出来,搜索就只是一次普通 HTTP 请求。
python tests/test_yzwg.py # native crypto — byte-exact vs real-device captures
python tests/test_signer.py # request assembly round-trip目录结构
bosscli/yzwg.py signing / encryption primitives (pure Python)
bosscli/signer.py batch-request assembly
bosscli/client.py search: build → send → decrypt → parse
bosscli/cli.py the `boss search ...` CLI
bosscli/mcp_server.py MCP wrapper (tool: boss_search)
tests/ byte-exact regression tests + fixtures
session.example.json template for your session中文
English | 中文
在终端或 AI agent 里搜 BOSS直聘(com.hpbr.bosszhipin) 职位 —— 纯 Python、离设备,跑的时候不需要手机/模拟器。
它把 App 的 native 请求加签库(libyzwg.so)用 Python 复现了出来,所以一条普通 HTTP 请求就能被服务器接受。
$ boss search "安卓逆向" --city 北京,上海,杭州
# 12 jobs for '安卓逆向' (cities=['北京', '上海', '杭州'], page=1)
- [北京] 资深Android逆向与风控对抗专家 | 70-100K·13薪 | PureblueAI
- [杭州] android逆向开发 | 50-75K | 小算科技
...研究 / 学习用途。它用的是你自己登录账号的 token 去搜;请自行遵守 BOSS直聘的服务条款,别高频打接口。
功能
离设备搜索 —— 运行时不需要手机 / 模拟器 / unidbg,只要 Python + 你的 session token。
一条命令多城市 ——
--city 北京,上海,杭州,支持城市名或城市码。关键词筛选 ——
--filter 远程/--filter 兼职,只保留标题/标签/公司命中的岗位。文本或 JSON 输出 —— 可读列表,或
--json供脚本消费。MCP 服务 —— 把搜索暴露成工具(
boss_search)给 Claude / 任意 MCP 客户端。
安装
pip install -r requirements.txt # lz4、requests(MCP 服务另需 mcp 包)获取 session(一次性)
客户端需要从一台你自己、已登录的 BOSS直聘设备上拿三样东西:
字段 | 来源 |
| 请求头里的 |
| query 参数 |
| 在 |
用任意 HTTPS 抓包工具(Reqable / Charles / mitmproxy;App 若做了证书绑定,配个 frida SSL unpin 脚本)
抓一条 App 发出的 GET https://api5.zhipin.com/api/batch/requests,把上面几个值填进 session.local.json:
cp session.example.json session.local.json # 再把你的 t2 / client_info / uniqid / cardlist_defaults 粘进去session.local.json 已被 gitignore(里面是你的 token)。t2 会过期 —— 搜索开始返回 invalid auth 时,照上面再抓一个新的即可。
用法
# 按城市名或城市码,单个或多个
boss search "Python" # 用 session 里的默认城市
boss search "数据分析" --city 上海
boss search "安卓逆向" --city 北京,上海,杭州 # 多城市,结果带 [城市] 标签
# 筛选 / 翻页 / 限量
boss search "逆向" --city 北京,上海 --filter 远程 # 只看提到“远程”的岗
boss search "Golang" --page 2 --limit 20
boss search "算法" --json # 解析后的职位 JSON
# 不安装、直接模块方式跑
python -m bosscli.cli search "AIGC" --city 深圳参数:--city(城市名/码,逗号分隔)· --filter <文本> · --page N · --sort -1 ·
--limit N · --json · --token <t2>(临时覆盖)· --session <路径>。
内置城市名:全国 / 北京 / 上海 / 广州 / 深圳 / 杭州 / 成都 / 南京 / 武汉 / 西安 / 苏州 / 天津 / 长沙 / 重庆 / 郑州 / 厦门(其它城市直接传城市码)。
MCP 服务
BOSS_SESSION=./session.local.json python -m bosscli.mcp_server在 MCP 客户端里注册(如 ~/.claude.json);工具名 boss_search(query, city?, page?, sort?)。
原理(一句话版)
BOSS直聘的搜索走一个批量端点,参数里带两个防篡改值 —— sp(加密参数串)和 sig(签名),都由 native 库
libyzwg.so 生成。本项目把这个库的加签/加密用纯 Python 复现(bosscli/yzwg.py),装配批量请求
(bosscli/signer.py)、发出去再解密响应(bosscli/client.py)。正确性靠对真实抓包的字节级测试兜底
(tests/)。核心就这一点:加签一旦复现出来,搜索就只是一次普通 HTTP 请求。
免责声明
仅供安全研究与学习交流。请勿用于任何违反 BOSS直聘服务条款或相关法律法规的用途;因使用本项目产生的一切后果由使用者自负。
This server cannot be deployed
Maintenance
Related MCP Connectors
Public MCP server for discovering open jobs. Search, filter, and get application links.
MCP server for Firecrawl — web search, scraping, and biomedical/arXiv paper search.
GetJobzi MCP server for job search, application tracking, and career forecasting.
Related MCP Servers
- AlicenseBqualityAmaintenanceLocal MCP server for BOSS Zhipin workflows. Exposes 49 tools for job search, welfare filtering, recruiter messaging, pipeline tracking, and resume optimization for AI agents.77464 PyPI2,040MIT

trackly-cliofficial
AlicenseNot gradedqualityAmaintenanceMCP server for job search and application tracking, enabling AI agents to search jobs, get details, manage applications, and find contacts across 128K+ jobs and 1,900+ companies.379 npm3MIT- AlicenseNot gradedqualityDmaintenanceUnified job search MCP server that aggregates live listings from multiple job boards with deduplication, enabling AI agents to find and filter jobs by keyword and location.MIT
- FlicenseNot gradedqualityDmaintenanceThis MCP server enables AI agents to interact with recruitment platforms like BOSS直聘, 猎聘, and Moka through a Chrome extension via WebSocket. It provides tools to detect platforms, fetch candidate lists, and test extension connectivity.2-