Skip to content

Jackychen-12/Career-Search

Repository files navigation

Career Search

「上传简历,AI 告诉你今天该投哪家。」

在线体验 Tests Next.js Supabase DeepSeek Vercel Cloudflare


不是又一个岗位列表。是一个 AI 帮你打完整场秋招的工具。


上传一份 PDF 简历,DeepSeek 解析出你的技能画像。1161 个岗位各自被 AI 打过标签——技能需求、岗位方向、行业属性。两者一匹配,你立刻知道该投谁、怎么投、怎么准备面试。

投递后不用开 Excel 跟踪——看板/时间线/表格三视图随你切。面试记录和投递状态自动双向同步,笔试/面试/HR面 精准区分。每天早上邮箱里躺着一封「今日匹配 8 个新岗位」。

全站零成本运行。国内免梯子可用。 Vercel + Supabase + Cloudflare + CF Workers + GitHub Actions,每月 ¥0。

立即体验 · 看功能 · 看架构 · 本地开发

Career Search 首页


能做什么

能力 交付物 亮点
AI 简历解析 结构化画像(学校/技能/方向/优劣势) 上传 PDF → DeepSeek 5 秒出结果
智能岗位匹配 每个岗位一个匹配分 + 匹配理由 离线 AI 标签 × 在线画像,不同人不同排序
岗位详情 完整 JD + AI 分析 + 一键面试题/求职信 1161 个详情页,技能高亮
AI 面试题 8-10 道定制题 + 参考答案 根据你的背景 × 具体 JD 生成
AI 简历润色 逐条优化 + 评分 + 关键词建议 STAR 法则 + ATS 优化
AI 求职信 400-600 字定制求职信 一键复制,不是套话
AI Offer 对比 多维分析 + 推荐 + 谈薪建议 不再纠结选哪个
AI 面试记录解析 自然语言描述 → 结构化面试记录 "今天字节二面问了…" → 自动归档
投递追踪 表格/时间线/看板三视图 8 种状态 · 导出 Excel · 点击跳转岗位详情
面试记录 轮次/问题/感受/结果 全记录 与投递状态双向同步,笔试/面试/HR面 精准区分
投递清单 本周建议投递 Top 20 紧急度 × 匹配度排序,国内优先
岗位对比 2-3 个横向对比表 技能匹配高亮 + AI 推荐
求职报告 匹配分布/Top10/技能缺口/面试题/简历建议 可导出 PDF
宣讲活动 搜狗微信爬取 + 公众号文章 搜索 + 筛选
每日邮件 个性化匹配岗位推送 只推跟你相关的
暗色模式 一键切换 localStorage 记住

用户流程

登录(邮箱密码 / GitHub OAuth)
  ↓
上传简历 PDF → DeepSeek 5 秒解析 → 自动填充画像
  ↓
首页 1161 岗位按你的画像实时排序
  ↓
点进岗位详情 → 一键生成面试题 / 求职信
  ↓
收藏 → 投递 → 笔试 → 面试 → HR面 → Offer
  ↓                              ↕ 双向同步
记录面试 → AI 解析自然语言 → 自动归档轮次
  ↓
每天早上邮箱收到新匹配岗位

技术架构

┌─────────────────────────────────────────────────────────────┐
│                       浏览器                                  │
│                                                             │
│   9 页面 · 客户端匹配引擎 · 暗色模式 · 骨架屏 · 动态导入    │
│   邮箱/密码登录 · 面试记录管理 · 投递×面试双向同步           │
└───────────────────────────┬─────────────────────────────────┘
                            │ 所有请求走同域代理
                            │ (/sb/* → Supabase, /ai/* → Worker)
                    ┌───────▼───────┐
                    │  Cloudflare   │
                    │  DNS + CDN    │
                    │  career.      │
                    │  chenkeyu12.  │
                    │  com          │
                    └───────┬───────┘
                            │
        ┌───────────────────┼───────────────────┐
        ▼                   ▼                   ▼
┌──────────────┐   ┌──────────────┐   ┌────────────────┐
│   Vercel     │   │   Supabase   │   │  CF Workers    │
│              │   │              │   │                │
│  Next.js 14  │   │  Auth        │   │  5 AI 端点     │
│  SSG/SSR     │   │  PostgreSQL  │   │  面试解析      │
│  Rewrites    │◄──│  RLS 安全    │   │  面试题       │
│  /sb/* 代理  │   │  profiles    │   │  简历润色      │
│  /ai/* 代理  │   │  tracking    │   │  求职信       │
│              │   │  interviews  │   │  Offer 对比   │
└──────────────┘   └──────────────┘   └───────┬───────┘
                                              │
                                      ┌───────▼───────┐
                                      │ DeepSeek API  │
                                      └───────────────┘
        ▲
        │ 每天 06:23 自动
┌───────┴──────────────────────────────────────┐
│            GitHub Actions                     │
│                                              │
│  8 源爬虫 → AI 标签 → 邮件推送 → 自动部署     │
└──────────────────────────────────────────────┘

为什么这么选

选型 理由
Vercel 而非 GitHub Pages 支持 SSR + 动态路由 + 自动 CI/CD
Supabase 而非自建后端 零运维 + RLS 安全 + Auth 开箱即用 + 免费
DeepSeek 而非 GPT 中文能力强 + ¥1/百万 token(便宜 10 倍)
CF Workers 而非 Vercel API Routes 全球边缘 + 0ms 冷启动 + 不占 Vercel 限额
Next.js Rewrites 代理 国内免梯子访问,浏览器不直连被墙域名
Cloudflare DNS 国内 CDN 加速 + SSL + DDoS 防护
邮箱登录 补充 GitHub OAuth 国内无需科学上网即可使用全部功能
动态导入 + 骨架屏 首页 JS 从 260KB → 161KB,体感秒开

国内免梯子方案

浏览器的所有外部请求通过 Next.js Rewrites 在服务端代理:

浏览器请求 服务端转发到 作用
/sb/* Supabase(*.supabase.co 认证 + 数据库
/ai/* Cloudflare Workers AI 功能(DeepSeek)

用户浏览器只与 career.chenkeyu12.com 通信,无需直连任何海外域名。


AI 匹配:两层设计

这是整个项目技术含量最高的部分:

第一层(离线):GitHub Actions 每天调 DeepSeek,给 1161 个岗位打结构化标签——

{ "skills": ["Python","数据分析"], "roleType": "产品", "industry": "互联网", "summary": "适合产品经理背景" }

第二层(在线):用户设置画像后,浏览器端实时计算匹配——

技能命中 40% + 岗位方向 30% + 行业 15% + 城市 15% = 匹配度 85%

效果:同一个岗位,产品经理看到匹配 85%,后端工程师看到 30%。不同人打开同一个网站,看到的排序完全不同。


数据管道

8 个数据源,自动 7 个 + 手动 1 个兜底:

数据源 方式 频率
Seed(手工确认) 固定 103 条真实国内岗位
Greenhouse / Lever / Ashby API 每天自动
社区仓库(GitHub) 爬取 每天自动
大厂官网 API(字节/腾讯/阿里/华为) best-effort 每天自动
牛客网讨论区 爬取 每天自动
搜狗微信(宣讲+文章) 爬取 每天自动
Boss 直聘 半自动(Puppeteer) 手动按需

数据真实性底线:每条岗位都有官方投递链接。没确认的字段留空,不编造。


页面

路由 说明
/ 首页(多选筛选 + 岗位卡片 + 侧边栏推荐)
/job/[id] 岗位详情(AI 分析 + 面试题/求职信生成)
/profile 画像设置(上传 PDF → AI 解析 → 匹配预览)
/report 求职报告(匹配分布/技能缺口/投递策略)
/skills AI 工具(面试题/简历润色/求职信/Offer 对比)
/timeline 投递 & 面试(表格/时间线/看板 + 面试记录管理)
/interviews 面试记录独立页(轮次/问题/复盘)
/events 宣讲活动 + 公众号推送
/callback OAuth 回调

本地开发

git clone https://github.com/Jackychen-12/Career-Search.git
cd Career-Search
npm install

创建 .env.local

NEXT_PUBLIC_SUPABASE_URL=your_supabase_url
NEXT_PUBLIC_SUPABASE_ANON_KEY=your_supabase_anon_key
NEXT_PUBLIC_WORKER_URL=your_worker_url    # 可选,默认用公共端点
npm run crawl          # 抓取岗位 + AI 标签
npm run crawl:boss     # Boss 直聘手动爬(打开 Chrome)
npm run dev            # http://localhost:3000
npm test               # 27 个单元测试

Supabase 设置:进入 Authentication → Settings,开启 Enable Email Signup,按需关闭 Confirm Email。


数据规模

指标 数值
岗位总数 1,161
AI 标签覆盖 100%
岗位详情页 1,161
单元测试 27
AI Skill 端点 5 + 面试解析
数据源 8
首页 JS 161KB
月运行成本 ¥0

作者

Jacky Chen · AI Product Manager who ships

GitHub

既定义 AI 产品,也亲手把它搭出来。


License

MIT

About

AI 驱动的全链路求职助手 — 智能匹配 1000+ 岗位 · AI 面试/简历/求职信 · 投递追踪 · 每日推送

Topics

Resources

License

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages