can4hou6joeng4/boss-agent-cli
🤖 Local-assist BOSS Zhipin CLI for AI agents — search, welfare filtering, shortlist, JSON-envelope output; low-risk & compliant by default.
boss‑agent‑cli – 面向终端优先的求职与招聘助手
它是什么
- 一个基于 Python 的命令行界面,让人类用户或 AI 代理能够与中国求职平台 BOSS 直聘(zhipin)交互。它将整个招聘工作流程——职位发现、福利筛选、本地候选清单、AI 增强的简历工作、以及招聘方操作——整合到一个单一的、以 JSON 输出驱动的 CLI 中。
为什么重要
- 该工具将平台抽象在一个模式驱动的 JSON 信封(
{ok, data, pagination, error, hints})之后,使下游自动化(MCP 主机、Shell 脚本、Python SDK)无需直接抓取 HTML 即可轻松使用这些功能。 - 它增加了一个**“福利过滤器”**,支持 AND 逻辑匹配福利(例如,双休、五险一金),并能按本地相关性分数对结果排序——这是原生网站没有的功能。
- 所有繁重工作(搜索、详情检索、聊天、简历润色)都可以通过 本地 LLM(Ollama/vLLM 或任何 OpenAI 兼容端点)驱动,将数据保留在用户的机器上。
主要功能
| 领域 | 命令(示例) | 亮点 |
|---|---|---|
| 职位发现 | boss search "Golang" --city 广州 --welfare "双休,五险一金" |
关键词搜索 + 8 维筛选,缓存结果,HR 活跃度筛选(--active 3d)。 |
| 福利过滤 | --welfare "双休,五险一金" --sort score |
自动分页,实时匹配,基于分数的排名。 |
| 本地候选池 | boss shortlist add <sec_id> <job_id> --tags 后端,远程boss stats |
基于 SQLite 的候选清单,支持标签、备注、漏斗统计。 |
| AI 增强的求职者工具 | boss ai analyze-jdboss ai polishboss ai local configure |
JD 分析、简历润色、面试模拟;可与外部 LLM 配合使用。 |
| 招聘方工作流 | boss hr candidates "Python" --city 101010100boss hr greetboss hr download-resume |
搜索候选人、发送问候、管理申请、聊天、下载简历——全部通过同一 CLI。 |
| 代理集成 | boss schema(输出 OpenAI/Anthropic 工具定义)boss-mcp(MCP 主机) |
JSON 模式是唯一的事实来源;可通过 MCP、子进程或 Python SDK 调用。 |
| 可恢复爬虫 | boss crawl configure …boss crawl run … |
无头 Chrome(CDP)驱动的爬取,带检查点、预算限制和隐私安全导出。 |
典型的人类工作流
# 安装(推荐使用 uv)
uv tool install boss-agent-cli
patchright install chromium # 需要 Chrome 登录
# 启动交互式向导
boss
# 使用福利过滤器搜索
boss search "Golang" --city 广州 --welfare "双休,五险一金"
# 将有希望的职位添加到本地池
boss shortlist add <security_id> <job_id> --tags 后端,远程
# 运行 AI 辅助的简历润色
boss ai polish --model ollama:mistral
# 查看离线统计
boss stats
代理/程序化使用
- MCP 主机 – 通过 JSON 配置公开 77 个已实现工具:
{"mcpServers": {"boss-agent": {"command": "uvx", "args": ["--from", "boss-agent-cli[mcp]", "boss-mcp"]}}} - 子进程 – 调用
boss schema获取工具定义,然后调用命令并解析 JSON 信封。 - Python SDK – 导入
BossClient:from boss_agent_cli import AuthManager, BossClient client = BossClient(AuthManager(...)) result = client.search_jobs("Golang", city="广州")
架构概览
CLI (Click) ──> AuthManager (Fernet 加密登录) ──> Platform registry (zhipin, zhipin‑recruiter)
│ │
│ └─> BossClient (httpx + 限速,可选 CDP 桥接)
│
└─> CacheStore (SQLite WAL) ──> AIService (OpenAI 兼容 / Ollama / vLLM)
│
└─> output.py → JSON 信封 (stdout)
所有状态都存放在 ~/.boss-agent/(加密凭据、搜索缓存、候选清单、AI 配置)。不提供模型权重;按需获取。
安装与分发
- 发布在 PyPI 上(
boss-agent-cli)。 - 也可通过 Docker 分发(
docker compose run --rm boss-mcp)。 - 支持爬虫的可选扩展(
uv sync --extra crawl)。
许可证
- MIT 许可证(见
LICENSE)。
适用人群
- 喜欢终端界面并希望获得 AI 辅助简历工作的求职者。
- 在 BOSS 直聘上需要可脚本化方式来管理候选人的招聘者。
- 需要稳定、基于 JSON 的访问平台接口的自动化工程师/AI 代理(例如,构建个人求职机器人或集成到更大的 RAG 流水线)。
注意事项
- 登录和爬取需要 Chrome/Chromium 安装(由
patchright处理)。 - 平台特定:目前仅支持 BOSS 直聘;不支持其他中国招聘网站。
- 用户必须遵守平台条款、速率限制和隐私法规;该工具提供结构化错误代码(
NOT_SUPPORTED、AUTH_REQUIRED等)和内置超时/重试控制,以帮助保持合规。
完整的命令参考、快速入门指南和故障排除步骤,请参阅仓库的 docs/ 文件夹。
相关
- 项目
- 项目
- 项目
- 项目
- 项目