前言¶
在猎聘上按 JD 筛人、翻简历、点「立即沟通」,步骤多且重复。人工盯屏容易漏条件,把城市、年限写进搜索框也容易和 JD 文案混在一起。下面介绍 SkillHub 社区 Skill lp-sourc-nbs-v1:用后台任务把「搜人 → LLM 评估 → 浏览器沟通」串成一条可配置的流水线,Agent 读 SKILL.md 后按文档提交任务即可。
这是什么¶
lp-sourc-nbs-v1(坐标 @user_38ce330a/lp-sourc-nbs-v1,版本 1.0.0)是 SkillHub 上的社区 Skill,分类为 knowledge-management,发布者为 user_38ce330a。包内文档标题为「Liepin Agentic Sourcing v2」,面向猎聘(Liepin)雇主侧场景的自动化寻源:浏览器自动化负责登录、搜索与沟通,LLM Worker 负责根据 JD 生成搜索计划并评估候选人。
SkillHub 页面上的简介仅为合规声明:「仅限内部交流使用,不得用于从事非法行为,否则后果自负。」具体能力以包内 SKILL.md、README.md、SETUP.md 为准。
核心功能¶
经核对安装包中的说明,该 Skill 提供以下能力:
- 后台运行时任务:
scripts/jd_search_and_communicate.py作为兼容入口,提交一条后台 runtime job,打印job_id后退出;长流程在src/liepin_skill/runtime/中执行。 - 多进程 Worker 架构:单次任务由 Launcher 拉起 orchestrator、browser-worker、jd-worker、resume-worker 四个角色协同。
- JD-Worker(LLM):读取职位描述,生成五组关键词的 OR 搜索计划,支持
initial、widen、tighten模式;结果数大于 200 时收紧,池子耗尽且未达目标时放宽,单任务最多 5 轮搜索计划迭代。 - Browser-Worker(Playwright):在共享会话中执行搜索、采集预览与详情、点击「立即沟通」;文档说明了猎聘「AI 帮搜」遮罩层与复合关键词输入的页面细节。
- Resume-Worker(LLM):对候选人做预览级与详情级评估,决策
open_detail、skip、link等状态流转。 - 会话持久化:通过
scripts/login_and_save_session.py等脚本保存liepin_chromium_profile/,避免每次任务重复登录。 - 标准寻源条件 JSON:通过
--criteria-file传入position_name、target_count、position_scope、cities、seniority、must_have_signals等字段;城市与年限须显式提供,不由 JD-Worker 猜测。
SkillHub 标签 requires_api_key=true:除猎聘账号外,还需配置 JD-Worker 与 Resume-Worker 所用的 LLM 相关环境变量(见下文)。
安装与启用¶
通过 SkillHub CLI 安装到 Agent¶
先确认本机已安装 skillhub(安装方式见 SkillHub 安装文档)。安装 Skill 时必须用 --dir 指向当前 Agent 的 skills 目录,否则默认落在 ./skills/ 且可能不被识别。
在 Cursor 中,skills 目录一般为 ~/.cursor/skills/。安装命令示例:
skillhub install @user_38ce330a/lp-sourc-nbs-v1 --dir ~/.cursor/skills/
也可按 SkillHub 页面提示,让 AI 根据 https://skillhub.cn/install/skillhub.md 完成安装。
Python 与 Playwright 依赖¶
在 Skill 根目录(安装后的 @user_38ce330a/lp-sourc-nbs-v1)按 SETUP.md 准备运行环境:
- Python 3.11
- 可编辑安装与开发依赖、Chromium:
python3 -m pip install -e ".[dev]"
python3 -m playwright install chromium
环境变量¶
在 Skill 根目录的 .env 或 shell 中配置(名称以 SKILL.md 为准):
猎聘账号(登录与会话脚本必需):
export LIEPIN_USERNAME="<your_liepin_username>"
export LIEPIN_PASSWORD="<your_liepin_password>"
JD-Worker 与 Resume-Worker 的 LLM(多进程 runtime 启用前需配置):
export JD_WORKER_LLM_PROVIDER="<provider_name>"
export JD_WORKER_LLM_MODEL="<model_name>"
export JD_WORKER_LLM_API_KEY="<api_key>"
export JD_WORKER_LLM_BASE_URL="<base_url>"
export RESUME_WORKER_LLM_PROVIDER="<provider_name>"
export RESUME_WORKER_LLM_MODEL="<model_name>"
export RESUME_WORKER_LLM_API_KEY="<api_key>"
export RESUME_WORKER_LLM_BASE_URL="<base_url>"
README.md 注明当前包为脱敏分发,不应包含真实猎聘密码或线上 LLM 密钥;在 OpenClaw 等宿主上需自行完成 Provider 接线。
Codex CLI、Claude Code 等其它客户端:同样将 Skill 装到各自文档约定的 skills 目录(如 Codex 的 ~/.codex/skills/、Claude Code 的 ~/.claude/skills/),Python 依赖与 env 配置步骤与上相同;未在官方 SkillHub 页单独说明的差异此处不展开。
典型用法¶
1. 保存猎聘会话¶
在 Skill 根目录执行,用于首次或刷新持久化浏览器会话:
python3 scripts/login_and_save_session.py
python3 scripts/session_persistence_probe.py
2. 编写 criteria 文件¶
创建例如 criteria.json(字段要求见 SKILL.md):
{
"position_name": "职位名称",
"target_count": 3,
"position_scope": "完整的职位描述/JD文本",
"cities": ["上海", "深圳"],
"seniority": "5-10年",
"must_have_signals": ["关键词1", "关键词2"],
"preferred_signals": ["加分项1"],
"hard_rejects": ["排除项1"]
}
3. 校验后提交任务¶
仅校验条件、不启动 Playwright Worker:
python3 scripts/jd_search_and_communicate.py --criteria-file path/to/criteria.json --dry-run
正式提交后台任务:
python3 scripts/jd_search_and_communicate.py --criteria-file path/to/criteria.json
成功时会输出形如 Started Liepin runtime job: <job_id>。运行时状态落在 runtime/(含 state.db、runtime/jobs/<job_id>/ 等),浏览器配置在 liepin_chromium_profile/。
4. 本地测试(可选)¶
在 Skill 根目录:
pytest tests/ -q
适用场景与注意¶
适合谁:需要在猎聘上按结构化 JD 条件批量搜索、用 LLM 做初筛并自动发起沟通的招聘 / HR 技术同学;已能接受 Playwright 维护页面、自行配置 LLM API 与猎聘雇主账号。
限制与注意:
- 遵守 SkillHub 与包内合规声明,仅用于合法、授权的招聘场景。
- 依赖真实猎聘会话与页面 DOM;文档记录了「AI 帮搜」弹层等页面怪癖,猎聘改版时可能需要改选择器。
README.md提到在部分迁移场景下 JD-Worker / Resume-Worker 可能仍为占位接口,需在 OpenClaw 等环境补全 Provider。- 无复合搜索能力的账号会走
search_mode_adapter.py的单搜索框回退逻辑。 - SkillHub 统计(以抓取资料为准):评分 100000,下载 863 次,标签含
requires_api_key=true。
结尾¶
lp-sourc-nbs-v1 把猎聘寻源拆成可编排的 JD 规划、浏览器执行与简历评估 Worker,用 criteria JSON 和一条提交命令即可启动后台任务。安装与元数据见 SkillHub:
- 页面:https://www.skillhub.cn/skills/user_38ce330a/lp-sourc-nbs-v1
- API 条目:https://api.skillhub.cn/user_38ce330a/lp-sourc-nbs-v1