给 AI Agent 一把求职 CLI:推荐一个面向 BOSS 直聘工作流的开源项目 boss-agent-cli

最近我看到一个挺有意思的开源项目:boss-agent-cli

它不是传统意义上的"命令行小工具",而是更偏向 给 AI Agent 使用的招聘求职工具层:把 BOSS 直聘里的搜索、查看详情、沟通、跟进、招聘者操作等流程,包装成一组可被 Agent 通过 subprocess / MCP / Python SDK 调用的 CLI 能力。

项目地址:

github.com/can4hou6joe...

先说明边界:这是一个第三方开源项目,不是 BOSS 直聘官方项目。使用任何招聘平台自动化工具,都应该遵守平台用户协议、隐私政策、职位发布规则及相关法律法规。本文只做开源项目推荐与技术视角介绍,不鼓励高频抓取、批量骚扰、绕过平台限制,也不涉及任何真实候选人、招聘者、聊天记录、手机号、微信号、简历等隐私数据。

为什么这个项目值得关注?

如果你平时用 AI Agent 做自动化,会发现一个很现实的问题:

很多网站流程对人类是"点一点就行",但对 Agent 并不友好。

比如求职场景里,一个 Agent 想完成完整闭环,通常需要知道:

  • 当前是否登录;
  • 可以搜索哪些职位;
  • 搜索结果里的职位 ID、安全 ID、公司、薪资、福利如何解析;
  • 某条职位详情怎么查;
  • 后续怎么打招呼、投递、跟进;
  • 命令失败时下一步该做什么。

如果只有网页 UI,Agent 很容易卡在页面结构、登录态、弹窗和非结构化文本里。

boss-agent-cli 的核心思路是:把招聘求职流程变成 Agent 更容易理解的 JSON 工具协议

例如 README 里给出的典型流程:

bash 复制代码
boss doctor
boss login
boss status

boss search "Golang" --city 广州 --welfare "双休,五险一金"
boss detail <security_id>
boss greet <security_id> <job_id>
boss pipeline
boss digest

所有命令都遵守统一输出约定:stdout 只输出 JSON,日志和进度信息走 stderr。这对 Agent 很关键,因为它不需要猜终端文本含义,只要解析结构化信封即可。

一个典型返回结构类似:

json 复制代码
{
  "ok": true,
  "schema_version": "1.0",
  "command": "search",
  "data": [],
  "pagination": {"page": 1, "has_more": true},
  "error": null,
  "hints": {"next_actions": ["boss detail <security_id>"]}
}

这类设计对人类也有用,但真正的受益者是 Agent:它可以根据 okerror.coderecovery_actionhints.next_actions 自己规划下一步。

核心能力一:schema 自描述

这个项目很强调 boss schema

对 Agent 来说,schema 就像工具说明书。它告诉 Agent 当前有哪些命令、每个命令需要哪些参数、支持哪些平台、适合哪个角色。

这比"把一大段使用说明塞进 prompt"更稳定。

项目当前暴露了求职者侧、招聘者侧、简历、AI 辅助、配置、统计、MCP 等多类能力。Agent 可以先执行:

bash 复制代码
boss schema

再决定后续调用 searchdetailgreethr candidateshr reply 还是其他命令。

这也是我觉得它比较"Agent-first"的地方:不是先做一个人类 CLI,再勉强让 Agent 用;而是从一开始就把结构化输出和能力发现放在核心位置。

核心能力二:求职者工作流

求职者侧覆盖得比较完整:

  • 职位搜索:boss search
  • 福利筛选:--welfare "双休,五险一金"
  • 职位详情:boss detail
  • 打招呼:boss greet
  • 投递/立即沟通:boss apply
  • 沟通列表:boss chat
  • 聊天消息:boss chatmsg
  • 跟进提醒:boss follow-up
  • 求职流水线:boss pipeline
  • 每日摘要:boss digest
  • 增量监控:boss watch
  • 候选池:boss shortlist
  • 简历与 AI 辅助:boss resumeboss ai

其中比较实用的点是福利筛选。

很多求职者并不只是按"岗位名 + 城市"搜索,还会关心双休、五险一金、年终奖、带薪年假、住房补贴等条件。项目把 --welfare 做成了核心参数,并支持多个关键词的 AND 筛选。

这类筛选如果让 Agent 直接读网页,很容易不稳定;封装成 CLI 参数后,工作流会清晰很多。

核心能力三:招聘者工作流

除了求职者侧,这个项目也覆盖了招聘者侧命令组:

bash 复制代码
boss hr applications
boss hr candidates "Golang"
boss hr chat
boss hr chatmsg <friend_id>
boss hr last-messages
boss hr reply <friend_id> "你好,方便聊一下岗位吗?"
boss hr request-resume <friend_id>
boss hr jobs list

这让它不只是"帮我找工作"的工具,也可以作为 HR / 招聘者视角的自动化辅助层。

当然,招聘者侧更要注意合规边界:候选人的简历、联系方式、聊天内容都属于敏感信息或至少是高度隐私相关信息。任何导出、展示、分析、转发都应该遵守平台协议和个人信息保护要求。

核心能力四:MCP 与 Agent Host 集成

项目提供了 MCP Server:

bash 复制代码
boss-mcp

也可以通过 uv run 在本地项目里启动:

json 复制代码
{
  "servers": {
    "boss-agent-cli": {
      "type": "stdio",
      "command": "uv",
      "args": [
        "--directory",
        "E:\\tools\\boss-agent-cli",
        "run",
        "python",
        "mcp-server/server.py"
      ]
    }
  }
}

这意味着它可以接入 Claude Desktop、Cursor、Codex、VS Code MCP 等支持 MCP 的宿主。

对开发者来说,这一点很有价值:你不需要给每个 Agent Host 单独写一套工具定义,只要 MCP 协议接上,工具列表和参数就可以统一暴露出去。

技术实现上比较有意思的点

从 README 和文档看,项目技术栈主要是:

  • Python 3.10+
  • Click
  • httpx
  • patchright / Playwright
  • browser-cookie3
  • cryptography
  • Rich
  • SQLite WAL
  • MCP Server
  • uv + hatchling
  • pytest / ruff / mypy

架构上大概可以理解成:

text 复制代码
Click CLI
  -> AuthManager
  -> BossClient / Platform
  -> httpx 或浏览器通道
  -> output.py JSON 信封
  -> Agent 读取 stdout

它还做了跨平台抽象:

  • zhipin:BOSS 直聘求职者侧;
  • zhipin-recruiter:BOSS 直聘招聘者侧;
  • zhilian:智联招聘候选者侧链路正在接入。

这说明项目不是简单堆命令,而是在往"招聘平台 Agent 工具层"方向演进。

合规和隐私边界必须说在前面

招聘求职场景天然包含大量敏感信息,例如:

  • 姓名、手机号、微信号;
  • 简历、工作经历、教育经历;
  • 公司、岗位、薪资、面试记录;
  • 求职意向和沟通内容;
  • 招聘者与候选人的聊天记录。

因此,使用这类工具时,我认为至少要遵守几个原则:

  1. 只在自己的账号和授权范围内使用 不要拿工具去访问、导出、传播你无权处理的数据。

  2. 不要高频抓取或批量骚扰 自动化不是骚扰工具。批量打招呼、批量回复、增量监控都应该控制频率,并尊重平台规则和对方体验。

  3. 不要公开真实个人信息 提 issue、写文章、做演示时,Cookie、Token、security_id、手机号、微信号、简历、聊天记录都应该脱敏。

  4. 写操作前先读上下文 比如 greetapplyexchangehr reply 这类操作,最好先通过详情、聊天历史、候选人上下文确认目标和语境。

  5. 遵守平台用户协议和隐私政策 BOSS 直聘官网有协议与隐私政策入口,项目自身也有 docs/platform-risk.md,提醒不要将工具用于高频抓取、批量骚扰、绕过平台限制或违反平台条款的用途。

相关链接:

这部分我觉得不是"免责声明模板",而是这类工具能不能健康使用的前提。

适合谁用?

我觉得它适合几类人:

  • 想研究 AI Agent 如何调用真实世界工具的开发者;
  • 想把招聘求职流程接入 MCP / Cursor / Claude Desktop / Codex 的开发者;
  • 想学习 CLI JSON 协议设计、错误信封设计、Agent 工具自描述设计的人;
  • 想用 Python 做浏览器自动化、登录态管理、平台抽象的工程实践参考;
  • 对"Agent 不只是聊天,而是能稳定操作工具链"感兴趣的人。

不太适合的场景也要说清楚:

  • 不适合用来做未经授权的数据抓取;
  • 不适合用来群发骚扰消息;
  • 不适合把真实候选人/招聘者数据拿出来做公开 demo;
  • 不适合绕过平台限制、风控或协议约束。

快速体验

如果只是想看看项目结构,可以先看 GitHub:

bash 复制代码
git clone https://github.com/can4hou6joeng4/boss-agent-cli.git
cd boss-agent-cli
uv sync --all-extras
uv run boss schema

如果是安装使用:

bash 复制代码
uv tool install boss-agent-cli
patchright install chromium
boss doctor
boss login
boss status

接入 Agent 前,建议先读:

总结

boss-agent-cli 最吸引我的地方,不是"它能自动操作招聘网站",而是它把一个复杂、容易失控的网页流程,抽象成了更适合 Agent 调用的工具协议:

  • 能力先自描述;
  • 输出统一 JSON;
  • 错误有恢复建议;
  • 求职者和招聘者双端都能接;
  • 可以走 CLI,也可以走 MCP;
  • 同时明确写出了平台风险和隐私边界。

如果你正在研究 AI Agent、MCP、CLI 工具协议,或者想看一个真实场景里的 Agent 工具层工程实践,这个项目值得看看。

最后再强调一次:招聘求职是高隐私、高信任场景。工具可以提高效率,但不应该替代用户对平台规则、个人信息保护和沟通边界的判断。

相关推荐
天上路人1 小时前
采用AI 神经网络降噪技术降噪模组A-59F如何区分“人声”与“环境噪声”?
人工智能·语音识别
小新同学^O^1 小时前
简单学习 --> 模型微调
开发语言·人工智能·python·模型微淘
Muyuan19981 小时前
30.通过Claude code做项目系统测试
运维·服务器·人工智能·fastapi
Awu12272 小时前
⚡精通 Claude 第 10 课:CLI 完全参考
人工智能·aigc·claude
youmiyoumiyoumi2 小时前
# 微信机器人客服系统搭建:从人工到智能的客服升级
人工智能
Mr数据杨2 小时前
【CanMV K210】通信扩展 WiFi Socket TCP Client 通信
人工智能·硬件开发·canmv k210
dingzd952 小时前
Reddit验证资料测试之后跨境品牌如何提升社区运营可信度
大数据·人工智能·矩阵·新媒体运营·内容营销·跨境
谷哥的小弟2 小时前
(最新版)Git&GitHub实操图文详解教程(03)—Git工作原理
git·github·版本控制·工作原理·git工作原理
JavaAgent架构师2 小时前
前端AI工程化(五):AI对话状态管理
前端·人工智能