Skip to content

Repository files navigation

jobfindsme · AI 求职雷达

AI 替你刷岗位,你只看值得投的。

CI Python 3.11+ MCP stdio License MIT Stars welcome

快速开始 · 怎么用 · 返回结果 · 岗位来源 · FAQ · English


给 Claude Code、Codex、Cursor 等 Agent 装一个本地求职 MCP Server。 jobfindsme 负责 刷、筛、记:多来源发现、确定性过滤排序、跨天状态记忆;Agent 负责理解需求和与你对话。


解决什么问题

每天找工作最烦的不是“不会搜索”,而是这些重复劳动:

问题 jobfindsme 的做法
多个平台来回切 统一检索四个来源;单源失败会明确提示并返回其他来源
推荐一堆不相关岗位 先硬过滤角色、城市、薪资、社招/校招、正式/实习,再排序
反复看到同一个岗位 本地记录已看、已投、已忽略,只汇报变化
不知道为什么推荐 使用简历时给出匹配度、证据、差距和投递链接;没有简历时不虚构匹配度
不想配置模型 API 核心功能不依赖 API Key,数据存在本地 SQLite

一句话开始:

用 jobfindsme,根据本地简历(路径:~/Documents/resume.pdf),
找上海的 AI 应用工程师,20K以上,社招,正式。

🚀 快速开始

方式一:直接和 Agent 说(推荐)

在 Claude Code、Codex、Cursor 里直接说(复制整段):

按 https://github.com/russeell/jobfindsme 的 README 安装 jobfindsme

Agent 会读取仓库 README 完成:安装本地运行时( curl -fsSL https://github.com/russeell/jobfindsme/releases/latest/download/install.sh | bash) → 写入 MCP 配置(jobfindsme connect <当前Agent>)→ 提示重启。 首次安装需要几分钟;如果 Agent 无法访问网络,改用下面的手动方式。 install.sh 随 Release 发布,此固定链接始终指向最新脚本(无 CDN 缓存滞后)。 国内备选:https://cdn.jsdelivr.net/gh/russeell/jobfindsme@main/scripts/install.sh (jsdelivr 缓存可能在 push 后滞后最多 12 小时)。

装好后,直接说需求即可:

用 jobfindsme,根据本地简历(路径:~/Documents/resume.pdf),找上海的 AI 应用工程师岗位,20K 以上,社招,正式。

方式二:手动安装(1 分钟)

需要 Python 3.11+。安装一次本地运行时:

curl -fsSL https://github.com/russeell/jobfindsme/releases/latest/download/install.sh | bash

Codex / Claude Code 支持原生插件,一条命令装好 Skill + MCP 配置(安装脚本结束时会打印对应命令); 其他 MCP 客户端用 connect 把配置交给当前 Agent,然后重启 Agent:

jobfindsme connect             # 自动探测当前 Agent(推荐)
jobfindsme connect claude      # Claude Code
jobfindsme connect codex       # Codex
jobfindsme connect cursor      # Cursor

其他 MCP 客户端:jobfindsme config 打印标准 JSON 手动粘贴,或 jobfindsme connect --path <配置文件> 直接写入。仓库根目录的 .mcp.json 就是同一份标准配置。

自检并开始:

jobfindsme doctor
用 jobfindsme,根据 ~/Documents/resume.pdf 找上海的 AI 应用工程师,20K以上,社招。

完整简历由本地 Core 解析。Agent 只应把路径传给 setup,不得先读取全文。

BOSS直聘需要登录态时,对 Agent 说:

帮我登录 BOSS直聘

它会打开专用 Chrome 窗口。扫码登录后保持窗口运行即可。跳过此步仍可使用无需登录的来源。


✨ 能力

能力 说明
一句话找岗位 Agent 调用本地 MCP Server,自动配置搜索并返回结果
四平台来源 BOSS直聘、猎聘、智联招聘、前程无忧;失败会明确标注
简历匹配 本地解析 PDF/MD/TXT,按技能、经验、学历等信号排序
事实驱动输出 Server 返回有界结构化事实 + 三层简明摘要,Agent 组织最终表达
增量追踪 识别新增、变更、重开、关闭,避免重复推荐
状态记忆 支持保存、已投递、忽略;下次自动跳过
本地优先 不需要模型 API Key;简历和状态保存在本地 SQLite

可验证,不靠口号

发布门禁 当前结果
Python 测试 334 项通过
干净环境安装 + Cursor 接入 12 秒
Agent 行为契约 无 Skill 0/9,安装 Skill 后 9/9
Wheel 冒烟 CLI、SQLite migration、5 个 MCP tools 全链路通过

四来源的实时可用性会随平台安全策略和本机登录状态变化。项目不会把缓存或 被拦截响应伪装成实时结果;每次搜索都返回逐来源状态。最新实盘报告见 four-source search report


💬 怎么用

直接复制改参数:

# 找岗位
用 jobfindsme 根据 ~/Documents/resume.pdf 找北京的 大模型应用工程师,30K以上,社招。

# 定时推送
配合支持定时任务的 Agent,每天早上 9 点只推送新增岗位给我。

# 查历史
我之前看过的岗位有哪些?
我投过哪些岗位?

# 只看新增
继续帮我找新岗位,只要今天新增的。

# 只要实时结果
重新实时搜索,不要使用缓存。

# 换条件
把城市换成深圳,薪资下限改成 25K,重新搜。

# 管理状态
把刚才第 2 个岗位标记为已投递;把外包公司全部忽略。

📦 返回结果

Server 决定岗位事实、过滤、排序、匹配证据和投递链接;Agent 基于这些事实组织最终回答。 每次结果包含有界结构化事实(structuredContent.jobs)和三层简明摘要 (搜索摘要 / 推荐岗位 / 状态与下一步)。标题不是逐字协议,Agent 可以调整措辞和排版,但不得修改事实、证据、风险、来源状态和链接:

AI应用工程师(Agent开发)|示例科技|上海|社招|正式|25-40K
条件状态:已确认项通过;未确认项见下方
证据匹配:86/100(高);证据覆盖:90%(均非录用概率)
技能:RAG、Agent、MCP | 经验:1-3年 | 学历:本科

投递链接:https://example.com/jobs/123

推荐理由:简历技能命中:RAG、Agent、MCP;可验证证据得分 86/100,证据覆盖 90%;薪资信息明确。
需要注意:JD 要求 Kubernetes,简历中未找到直接证据

推荐岗位至少应保留:事实行、投递链接、推荐理由和风险。硬条件是通过/冲突/未知,不计入分数;使用简历时,Server 再依据可验证的角色、技能、经验、学历和活跃度证据生成 0–100 排序分,并同时返回证据覆盖率。不使用简历时仅按明确条件过滤,不虚构分数。 招聘类型、岗位性质、经验或薪资没有证据时保持“未注明”,不会猜成符合条件;只有明确冲突才会被过滤。 结果摘要会区分“全部条件已确认”和“存在待确认项”,不会把未知字段写成严格满足。 不同 Agent 可以使用不同表达,但不得编造岗位、薪资、链接、分数或理由; 用户明确要求比较或查看详情时,同一轮也可以调用 get_jobs

结果不足时 Agent 不会用弱匹配岗位凑数;来源字段不完整时会明确标注。 设置薪资下限时,默认排除薪资未公开岗位;也可明确说“保留薪资面议岗位”, 系统会保留并逐条提示信息缺口。 用户明确说“不要缓存”时,Core 会在匹配前排除所有失败、降级或跳过来源, 而不是让 Agent 在结果返回后手工删除缓存岗位。


🌐 岗位来源

当前维护四个来源:BOSS直聘 + 猎聘 + 智联招聘 + 前程无忧。项目优先 保证每个来源能稳定返回有效岗位,不用名义上的平台数量冒充覆盖率;被平台 安全校验拦截的来源会在结果里明确标注,不会静默当作"没有岗位"。

来源 方式 速度 需要浏览器?
BOSS直聘 用户授权的本地 Chrome 会话;失败时使用有时效标记的缓存 取决于登录态 ✅ 需要
猎聘 公开 Web JSON 列表;浏览器可用时有界补全详情 通常亚秒级 ❌ 列表不需要
智联招聘 本地 Chrome 打开公开搜索页并读取岗位卡 通常 2-4 秒 ✅ 需要,不要求登录
前程无忧 本地 Chrome 搜索页上下文请求公开 Web JSON 通常 2-5 秒 ✅ 需要,不要求登录

猎聘优先纯 HTTP 直连(亚秒级、无需浏览器);本机已运行 Chrome 时, 再自动用浏览器补充岗位详情页的 JD 文本,进一步丰富匹配信号。

智联旧 JSON 接口会在页面仍有岗位时返回风控空结果;前程无忧的 JSON 接口 会校验浏览器执行环境。当前维护链路因此复用 jobfindsme setup 启动的隔离 Chrome:智联读取真实搜索页,前程无忧由真实搜索页发起同源请求。系统不绕过 验证码、不读取个人 Chrome 配置;来源仍不可用时会明确标记失败,并继续返回 其他平台结果。


⚙️ 工作原理

Agent (Claude/GPT/Qwen/WorkBuddy — 负责交互与后续解释)
  → MCP Server (本地 stdio)
  → 本地 Core
      → 纯 HTTP 直连(猎聘)
      → 本地 Chrome CDP(BOSS 登录会话;智联公开页;前程无忧公开页 API)
      → live 模式:有界并行刷新全部来源,单源失败不阻断其他来源
  → 标准化 → 跨来源去重 → 硬过滤(城市/薪资/校招社招/实习正式)
  → 信号提取 + 加权粗筛(技能/经验/学历/活跃度/薪资)
  → 增量雷达(新增/变化/重开/关闭识别)
  → Server 返回有界事实 + 三层简明摘要;Agent 基于事实组织回答
    (不得编造事实或丢失投递链接)

MCP Server 负责硬过滤、结构化信号提取、确定性排序和事实基线。 Agent 负责自然语言表达;用户追问岗位对比时,才基于返回证据补充分析, 不编造事实、不丢失或改写投递链接。

简历画像、求职偏好、岗位和追踪状态保存在本地 SQLite。Core 不需要模型 API。


🔒 隐私与安全

  • jobfindsme 不需要把完整简历发送给 Agent;按内置 Skill 工作时,Agent 只把本地路径交给 Core 解析;
  • 岗位描述按不可信外部数据处理,不作为 Agent 指令;
  • 导出写入本地文件;删除走「预览 + 确认令牌」两阶段协议;
  • 不自动投递、不绕过验证码、不承诺覆盖全部岗位。

🔧 安装与维护

更新:重新运行安装脚本,数据库自动迁移,历史岗位和状态保留:

curl -fsSL https://github.com/russeell/jobfindsme/releases/latest/download/install.sh | bash

手动安装(脚本不可用时):

python3 -m venv ~/.jobfindsme/runtime
~/.jobfindsme/runtime/bin/python -m pip install --upgrade \
  "jobfindsme[browser] @ <最新版 wheel 链接>"

wheel 链接从 Releases 复制,形如 jobfindsme-X.Y.Z-py3-none-any.whl(安装脚本自动取最新版本,无需关心)。 网络受限时可加 --index-url https://pypi.tuna.tsinghua.edu.cn/simple

卸载jobfindsme uninstall <host> 只移除 Agent 配置,不删数据。彻底删除前先导出:

rm -rf ~/.jobfindsme

❓ FAQ

Q:平台都要登录吗? 只有 BOSS 需要(扫码一次,后续复用本地登录态)。猎聘纯 HTTP 直连,不需要浏览器。

Q:会不会封号? 它做的是低频、拟人节奏的读取,不批量抓取、不自动操作。但自动化访问在平台条款里 都属于灰色地带,存在账号被限制的可能 — 请个人低频使用,风险自负。

Q:搜索结果为什么是 0 / 某个平台经常没有结果? 先跑 jobfindsme doctor 自检。BOSS 检查本地 Chrome 和登录态;猎聘检查 HTTP 来源状态。来源失败时系统会明确标注降级或缓存,不会静默伪装成实时结果。

Q:简历会被上传吗? jobfindsme 默认在本地解析简历并保存结构化事实,不需要把完整简历发送给 Agent。按内置 Skill 工作时,Agent 只传本地路径; jobfindsme export / delete_local_data 可随时导出和清除。

Q:和直接把简历发给 AI 让它搜,有什么区别? 通用 Agent 没有平台接入、没有跨天去重和状态记忆、也不能稳定解析 PDF 简历成结构化 事实。jobfindsme 把这三件事做成了确定性的本地服务,Agent 只负责对话。

Q:安装超过 5 分钟? 停止当前命令,保留最后输出并提交 Issue。不要让 Agent 克隆仓库、安装测试依赖或下载 整套浏览器来尝试修复。


🛠 开发

python -m pip install -e ".[dev]"
python -m pytest
ruff check . && ruff format --check .

架构、来源门禁和评测闭环见 architectureconnectorsevaluation; 完整工程规范在 docs/internal/project_spec.md。 发现错排、漏排、重复或失效链接,请提交脱敏 Issue


⚖️ 免责声明

  • 本项目为免费开源的个人学习工具,帮助整理你已登录、有权查看的岗位信息;
  • 自动化访问招聘平台可能触发对方风控,由此产生的账号限制、封禁等后果由使用者 自行承担,与作者无关;
  • 禁止用于商业转售、大规模爬取或绕过平台限制;
  • 平台页面结构随时可能变化导致某个来源失效,请通过 Issue 反馈,作者会尽力跟进。

📄 License

MIT

About

本地优先的 AI 求职 MCP Server:一句话搜索 BOSS直聘、猎聘、智联、前程无忧,按简历排序并追踪新增与已投岗位。

Topics

Resources

Contributing

Security policy

Stars

12 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages