Skip to content

kangvcar/JobHunter

 
 

Repository files navigation

JobHunter

JobHunter 是一个面向真实求职流程的本地工作台。
它把「找岗位 → 看 JD → 改简历 → 生成开场白 → 模拟面试 → 沉淀内容」放进同一套界面里,减少在招聘网站、文档、聊天窗口和表格之间来回切换。

当前产品形态

当前版本已经整理成 4 个独立栏目:

  • 岗位探索:连接本机 BOSS 搜索,查看岗位详情,决定是否加入职位看板
  • 简历优化:围绕目标岗位做 AI 评估、简历润色、开场白生成
  • 模拟面试:选择岗位和简历,开始纯文本多轮问答
  • 内容管理:集中查看岗位、简历、投递、面试记录和复盘

首页只负责导航,不再把所有内容堆在一个工作台里。

这套工具现在适合谁

它更适合下面这种使用方式:

  • 你在本机浏览器里已经登录招聘网站
  • 你希望先快速搜一批岗位,再决定要不要继续跟进
  • 你希望针对某个岗位生成一版更贴近目标的简历
  • 你想把岗位、简历版本、投递记录和面试过程都留在一个地方

当前定位是单人本地使用,不是线上多用户产品。

主流程

1. 在岗位探索里找岗位

输入关键词后,系统会连接你本机的 BOSS 会话,把搜索结果直接展示出来。
你可以先浏览岗位,再决定:

  • 加入内容管理里的职位看板
  • 直接进入简历优化

2. 在简历优化里围绕目标岗位准备材料

简历优化页会围绕选中的岗位展开,当前支持:

  • AI 评估:输出匹配分数、已覆盖、缺失点、薄弱点和建议补充的小项目
  • 简历润色:按更自然的叙事方式生成岗位定制版本
  • 开场白:生成适合直接沟通的中文开场白

简历内容可以这样进入系统:

  • 手动粘贴或编辑 Markdown
  • 从内容管理里选择历史简历版本
  • 粘贴截图
  • 上传本地图片或 PDF,识别后转成 Markdown

当前简历的主要导出方式是 Markdown
润色结果可以另存为新的简历版本。

3. 在模拟面试里做针对性练习

先选一个岗位,再选一份简历,然后开始文字模拟面试。
每轮问答都会继续写回系统,方便后续复盘。

4. 在内容管理里沉淀资产

内容管理是整个流程的收口位置,目前分成 5 个页签:

  • 岗位库
  • 简历库
  • 投递进展
  • 面试记录
  • 复盘记录

这里可以继续查看 JD、改简历标题、删除旧版本、记录投递状态和复盘内容。

界面预览

首页

用四张卡片把整条求职流程拆开,入口更清楚。

首页

岗位探索

从本机 BOSS 搜索结果进入系统,先看岗位,再决定是否进入后续流程。

岗位探索

简历优化:评估

先判断当前简历和目标岗位之间的贴合度,明确已覆盖、缺失点和短板。

简历优化-评估A

简历优化-评估B

简历优化:润色

把简历改成更适合真实投递的版本,并支持保存成新的历史版本。

简历优化-润色

模拟面试

围绕具体岗位和具体简历做多轮文本问答,便于练习和复盘。

模拟面试

内容管理

把岗位、简历、投递、面试和复盘集中收口,后续查看更方便。

内容管理

本地运行

1. 安装依赖

npm install

2. 准备环境变量

cp .env.example .env

3. 启动本地数据库

docker compose up -d

4. 初始化数据库

npm run db:push

5. 启动开发环境

npm run dev

浏览器打开 http://localhost:3000

模型配置

当前最推荐的方式,是直接用页面右上角的 API 设置按钮填写:

  • API Key
  • Base URL
  • 模型名称

这套配置会保存在你当前浏览器里,适合本地单人使用。

如果你更习惯写进 .env,常用字段是:

  • OPENAI_API_KEY
  • OPENAI_BASE_URL
  • OPENAI_MODEL

兼容 OpenAI 风格接口的服务都可以接进来,比如豆包、千问、DeepSeek 等。

数据存储说明

当前项目里,数据大致分成两类:

  • 岗位正文 / 简历正文 / 投递记录 / 面试记录:存到本地 PostgreSQL
  • 右上角 API 设置:存到浏览器本地

也就是说:

  • 岗位和简历不是只放在浏览器缓存里
  • 也不是默认落到仓库里的某个 Markdown 文件夹

BOSS 本地搜索说明

岗位探索里的 BOSS 搜索走的是本地模式
它依赖你本机已经可用的浏览器工具和当前登录状态。

使用前提:

  • 本机已安装并可直接调用 bb-browser
  • 你当前浏览器里已经登录 BOSS
  • 需要本地运行项目,不适合直接拿去做线上部署

当前搜索行为:

  • 按你输入的原始关键词搜索,不再自动改写关键词
  • 默认先展示 30 条
  • 可以继续加载更多
  • 结果会尽量贴近 BOSS 当前搜索页,但不保证和官网每次都完全一致

如果你要在非开发模式下仍允许本地搜索,可以设置:

  • JOBHUNTER_ALLOW_LOCAL_CRAWL=1

常用接口

README 不再展开所有接口,只保留最常用的几个入口:

  • GET /api/crawl/local/stream:岗位探索的实时本地搜索
  • POST /api/crawl/local:岗位探索的同步本地搜索
  • GET /api/jobs:岗位数据
  • GET /api/resumes:简历版本
  • GET /api/interviews:模拟面试记录

当前限制与注意事项

  • BOSS 搜索是本地浏览器模式,不是线上稳定抓取方案
  • 搜索结果会尽量贴近原站,但不会承诺每次和官网完全一模一样
  • 图片 / PDF 导入效果取决于你当前使用的模型是否支持识别
  • 当前更适合单人本地工作流,不是多用户协作系统
  • 内容很多时,建议主动清理岗位库和简历库,避免后续选择混乱

构建

npm run build
npm start

About

一个面向真实求职流程的 AI 工作台。

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • TypeScript 63.2%
  • TeX 26.4%
  • Python 6.3%
  • JavaScript 3.7%
  • Other 0.4%