上传一份简历,剩下的交给它。
定时扫描四大招聘网站,AI 打分筛选,一键投递简历并自动向 HR 打招呼。

求职的本质是一场信息战。我观察到三个真实的痛点,它们也是这个产品的原点。
职位、实习、比赛散落在不同平台,等你刷到时,要么已招满,要么已过截止期。机会的生命周期往往只有几天。
每天打开四五个 App 刷同样的关键词,复制粘贴同一段自我介绍。海投 100 份简历,消耗的是心力和时间。
HR 处理简历有「先到先看」的潜规则。晚一天投递,简历就沉到列表底部。时机比想象更关键。
从读懂你的简历,到替你向 HR 打招呼 —— 五个环节全自动闭环。
上传 PDF / Word 简历,LLM 自动提炼你的兴趣向量与硬门槛。画像不是黑盒——每一维都可以手动增删改。

匹配度不是玄学。每个机会都被打出 0–100 分,鼠标悬停即可查看完整的打分依据。

AI 阅读职位描述后,结合你的简历撰写个性化招呼语,通过浏览器自动化完成投递与打招呼全流程。

BOSS 直聘、实习僧、智联招聘、前程无忧统一接入。每个信源可独立测试连通性与登录态,状态实时可见。

扫描记录页完整留存每次运行的新增、去重、失败明细。系统的行为对用户完全透明。

抽屉导航、自适应卡片、毛玻璃顶栏——完整能力装进口袋。


六个关键设计决策,每一个都来自真实使用中的权衡。
AI 打分如果不可解释,用户就无法建立信任。我把每条打分理由直接暴露给用户,宁可牺牲一点「神秘感」,也要换来可追溯的判断依据。
去重规则迭代了四版。最终只对「规范化 URL」判重——同一职位跨平台挂出不算重复、标题标点差异不算重复。因为错过一个机会的代价,远大于多看一眼。
LLM 是增强而非依赖:AI 不可用时,招呼语自动降级为模板、画像可全手动编辑。核心链路在任何外部服务失效时都能运转。
简历是最敏感的个人信息。全部数据存储在本机 SQLite,抓取走用户自己的浏览器会话——不托管账号、不上传简历到第三方。
定时任务最怕「服务没在跑」。内置 cron 之外,再加一道系统级看门狗:服务未运行时自动拉起并完成扫描,确保每天 8 点、14 点必达。
新用户看到一堆演示数据会困惑。所以机会库保持空白,直到用户填入画像、点击第一次扫描——真实的数据从用户自己的行动开始。
从简历解析到浏览器自动化投递,每一层都为「稳定跑在用户自己电脑上」而设计。
Vite · Tailwind · shadcn/ui
响应式设计,桌面与移动端同源
扫描引擎 · 打分引擎 · 去重指纹
node-cron 内置调度
驱动真实浏览器抓取与投递
复用用户登录态,合规稳定
简历解析 · 匹配打分 · 招呼语生成
失败自动降级模板
这个项目让我完整走了一遍从痛点定义、方案设计、全栈实现到多轮用户(我自己)测试迭代的闭环。 最深的体会是:AI 产品的护城河不在模型,在于对场景的建模——画像怎么建、去重怎么判、失败怎么兜底,这些「土问题」决定了体验的上限。 下一步,我计划引入反馈学习(用户收藏/忽略行为反哺打分权重)、更多机会类型(奖学金、比赛、招标),以及基于 Agent 的简历定向优化建议。