jobfindsme
Health Warn
- License — License: MIT
- Description — Repository has a description
- Active repo — Last push 0 days ago
- Low visibility — Only 5 GitHub stars
Code Pass
- Code scan — Scanned 12 files during light audit, no dangerous patterns found
Permissions Pass
- Permissions — No dangerous permissions requested
No AI report is available for this listing yet.
🔥AI求职雷达|一句话同时搜BOSS直聘、猎聘|简历匹配·投递直达|MCP Server
一图胜千言 · 双平台搜索动画
下方动画演示一次完整搜索:你打出一句话 → 简历在本地解析成结构化事实 →
BOSS直聘 + 猎聘 两个平台同时返回 → 输出带匹配度与投递链接的岗位列表。
(动画为流程示意,真实运行截图见下方折叠区。)
💡 图中两个平台一起出结果 —— 录制时本机已通过
jobfindsme setup登录 BOSS 专用 Chrome;
未登录时 BOSS 会自动跳过并明确标注,不会静默少一个平台。
它到底是什么
对 AI Agent 说一句话,它同时搜 BOSS直聘 和 猎聘 两个平台,
基于你的简历做语义匹配,返回合适的岗位和投递链接:
用 jobfindsme,根据本地简历(路径:~/Documents/resume.pdf),
找上海和杭州的 AI 应用工程师岗位,20K以上,社招,正式。
几秒后,Agent 返回匹配的岗位列表(上面动图同一次运行的真实输出节选):
✅ 猎聘·上海 ✓ (1.0s) ✅ BOSS直聘·上海 ✓ (0.5s)
🆕 新增 20 个匹配岗位(原始 42 → 过滤后 42)
1. [新增] AI应用工程师|上海韦晴软件科技有限公司|上海-静安区|社招|正式|20-25k
匹配度:20%(信号匹配,非录用概率)
经验:1-3年 | 学历:本科
投递链接:https://www.liepin.com/job/1984218913.shtml
2. [新增] 数智平台管理(AI应用工程师)(J10186)|中外运集装箱运输有限公司|上海-黄浦区|社招|正式|薪资面议
匹配度:13%(信号匹配,非录用概率)
经验:2-4年 | 学历:硕士
投递链接:https://www.liepin.com/job/1983009861.shtml
每个岗位的事实、匹配度和链接由 jobfindsme 固定生成(任何 Agent 一致),
推荐理由由你的 Agent 基于这些信号与你的简历生成。
✨ 特性
| 🗣️ 对 Agent 一句话 | 找岗位 / 定时推送 / 查历史,全程自然语言 |
| 🔌 同时搜双平台 | BOSS直聘 + 猎聘 一次跑完,避免来回切 App |
| 🧠 简历结构化匹配 | 本地解析 PDF/MD → 结构化事实 → 技能/经验/学历加权打分 |
| 🆕 增量雷达 | 自动识别新增 / 变更 / 重开 / 关闭,重复岗位永不打扰 |
| 📌 投递状态记忆 | 「标记第 2 个为已投递」→ 本地 SQLite 永久记录 |
| ⏰ 任意时间任意频率推送 | 每天 9 点 / 每周一晚 8 点 / 每两天一次,配 cron 即可 |
| 🔒 本地优先 | 简历只在本地解析,结构化事实不进 Agent 上下文 |
| 🪶 零部署 | 一个 stdio MCP Server,跑在你自己的机器上 |
🆚 相比在招聘 App 里手动刷
| 每天找工作时的重复劳动 | jobfindsme 的做法 |
|---|---|
| 在 App 之间来回切换 | 对 Agent 说一句话,两个平台一起搜 |
| 反复刷到同一个岗位 | 自动记住已看、已投、已忽略 |
| 投递过的不记得,又投一遍 | 标记已投递 → 永不重复推荐 |
| 不知道今天有什么新岗位 | 定时推送,只汇报新增和变化 |
| 推荐理由是黑盒 | Agent 语义匹配,附理由和投递链接 |
| 求职状态散落在各平台 | 本地 SQLite 统一记录,可导出可删除 |
⚠️ 什么时候不适合用它
说清楚比藏着掖着好:
- ❌ 你想海投 — 它不做自动投递。帮你找到值得投的岗位,点链接自己投。
- ❌ 你要覆盖所有公司 — 官网直投、内推、受访问限制的岗位仍会漏。
- ❌ 你不方便在本机跑 Chrome — BOSS 需要登录态;猎聘纯 HTTP 直连不需要浏览器。
- ❌ 你期待「录用概率预测」 — 匹配分是可解释的确定性排序分,不是录用概率。
🚀 快速开始
🗣️ 最简单:和 Agent 聊天就能装(推荐)
什么都不用下载、不用敲命令。 把这段话发给你的 AI Agent
(Claude Code / Codex / Cursor / ZCode / WorkBuddy 等任何 Agent):
请严格按说明快速安装 jobfindsme。请识别你当前是哪一种 Agent;
不要克隆仓库或运行测试:
https://github.com/russeell/jobfindsme/blob/main/INSTALL.md
Agent 会自动完成检测环境、安装、写入自己的 MCP 配置。你只需要重启 Agent,
然后对它说:
用 jobfindsme,根据我的简历找上海的 AI 应用工程师,20K以上,社招。
想自己动手?也可以一行命令安装(
curl ... | bash -s -- codex),
完整说明见 INSTALL.md。
登录 BOSS直聘(可选)
直接对 Agent 说:
帮我登录 BOSS直聘
Agent 会运行 jobfindsme setup,几秒内弹出专用 Chrome 窗口。
在窗口里扫码登录,保持窗口运行,然后重启 Agent。
💡 跳过这步也能用 — 猎聘纯 HTTP 直连,不需要浏览器也不需要登录。
先用猎聘看看结果,觉得岗位不够再补上 BOSS。
💬 提示词模版
三个核心场景(直接复制改参数):
# ① 找岗位
用 jobfindsme 根据 ~/Documents/resume.pdf 找北京的 大模型应用工程师,30K以上,社招。
# ② 定时推送(任意时间任意频率)
每天早上 9 点推送新岗位给我。
每周一晚上 8 点推送。
每两天推一次。
# ③ 查询历史匹配过的岗位
我之前看过的岗位有哪些?
我投过哪些岗位?
昨天推送的岗位还在吗?
进阶(可选):
# 只看今天的新增
继续帮我找新岗位,只要今天新增的。
# 换条件
把城市换成深圳,薪资下限改成 25K,重新搜。
# 管理状态
把刚才第 2 个岗位标记为已投递;把外包公司全部忽略。
📦 返回结果
Agent 按固定五段结构输出(简历解析 / 检索概览 / 过滤说明 / 岗位列表 / 说明),
每个岗位块包含:
大模型应用开发工程师|示例科技|上海|社招|正式|25-40K
匹配度:条件符合 4/4(提供简历后升级为信号匹配度)
投递链接:https://example.com/jobs/123
推荐理由:JD 要求 RAG、Agent、FastAPI,与你的简历高度重叠
需要注意:JD 要求 Kubernetes 经验,简历中未找到直接证据
岗位块固定包含:事实行 + 匹配度 + 空行 + 投递链接(裸 URL 可点击)+ 空行 + 推荐理由。
其中事实、匹配度和链接由 Server 确定生成(任何 Agent 完全一致);推荐理由
由 Agent 基于信号与简历生成(措辞因模型而异,但依据相同)。
结果不足时 Agent 不会用弱匹配岗位凑数;来源字段不完整时会明确标注。
🌐 岗位来源
只搜两个平台:BOSS直聘 + 猎聘。两者覆盖了中国技术岗位市场的绝大部分,
专注覆盖最广、稳定性最好的两个来源,把维护成本和失败率压到最低。
| 来源 | 方式 | 速度 | 需要浏览器? |
|---|---|---|---|
| BOSS直聘 | 本地 Chrome CDP,XHR 注入内部 API | ~0.5s | ✅ 需要(登录态) |
| 猎聘 | api-c.liepin.com 纯 HTTP JSON API |
~1.0s | ❌ 不需要 |
猎聘优先纯 HTTP 直连(亚秒级、无需浏览器);本机已运行 Chrome 时,
再自动用浏览器补充岗位详情页的 JD 文本,进一步丰富匹配信号。
⚙️ 工作原理
Agent (Claude/GPT/Qwen/WorkBuddy — 负责语义精排)
→ MCP Server (本地 stdio)
→ 本地 Core
→ 纯 HTTP 直连(猎聘亚秒级)
→ 浏览器 CDP 拦截(BOSS直聘 SPA 自带签名,被动读取 JSON)
→ 快速模式:刷新主来源,复用其他来源缓存
→ 全量模式:并行刷新双平台
→ 标准化 → 跨来源去重 → 硬过滤(城市/薪资/校招社招/实习正式)
→ 信号提取 + 加权粗筛(技能/经验/学历/活跃度/薪资)
→ 增量雷达(新增/变化/重开/关闭识别)
→ Agent 收到 Top-20 粗筛后的结构化岗位数据,自己做语义精排
MCP Server 做三件事:硬过滤、结构化信号提取、确定性粗筛(技能权重 50%、
经验 25%、学历 10%、活跃度 5%、薪资 5%)。Agent 用自己的 LLM 做最终语义排序。
这遵循了 MCP 架构最佳实践:Server 提供结构化数据,Agent 负责理解决策。
若合格岗位 ≤20 个,跳过粗筛,全量交给 Agent。
简历、岗位状态和搜索计划全部保存在本地 SQLite。Core 不需要模型 API。
🔒 隐私与安全
- 完整简历不进入 Agent 上下文,只把本地路径交给 Core 解析;
- 岗位描述按不可信外部数据处理,不作为 Agent 指令;
- 导出写入本地文件;删除走「预览 + 确认令牌」两阶段协议;
- 不自动投递、不绕过验证码、不承诺覆盖全部岗位。
❓ FAQ
Q:平台都要登录吗?
只有 BOSS 需要(扫码一次,后续复用本地登录态)。猎聘纯 HTTP 直连,不需要浏览器。
Q:会不会封号?
它做的是低频、拟人节奏的读取,不批量抓取、不自动操作。但自动化访问在平台条款里
都属于灰色地带,存在账号被限制的可能 — 请个人低频使用,风险自负。
Q:搜索结果为什么是 0 / 某个平台经常没有结果?
先跑 jobfindsme doctor 自检。BOSS 检查登录态是否过期;其余平台可能触发验证码,
系统会降级或明确标注使用缓存,不会静默给你空结果。
Q:简历会被上传吗?
不会。简历只在本地解析成结构化事实存入 SQLite,完整简历文本不进入 Agent 上下文。export_local_data / delete_local_data 可随时导出和清除。
Q:和直接把简历发给 AI 让它搜,有什么区别?
通用 Agent 没有平台接入、没有跨天去重和状态记忆、也不能稳定解析 PDF 简历成结构化
事实。jobfindsme 把这三件事做成了确定性的本地服务,Agent 只负责对话。
🛠 开发
python -m pip install -e ".[dev]"
python -m pytest
ruff check . && ruff format --check .
架构、来源门禁和评测闭环见 PROJECT_SPEC.md。
发现错排、漏排、重复或失效链接,请提交脱敏
Issue。
⚖️ 免责声明
- 本项目为免费开源的个人学习工具,帮助整理你已登录、有权查看的岗位信息;
- 自动化访问招聘平台可能触发对方风控,由此产生的账号限制、封禁等后果由使用者
自行承担,与作者无关; - 禁止用于商业转售、大规模爬取或绕过平台限制;
- 平台页面结构随时可能变化导致某个来源失效,请通过 Issue 反馈,作者会尽力跟进。
📄 License
Reviews (0)
Sign in to leave a review.
Leave a reviewNo results found