【TRAE 求职作品秀】我用 TRAE 做了个「搜岗位不再只有几家」的求职罗盘

【TRAE 求职作品秀】我用 TRAE 做了个「搜岗位不再只有几家」的求职罗盘

一个不做八股的求职工具:不是把岗位搜给你看,而是把你真正能投的岗位从一堆噪声里筛出来。

一、我是谁,现在在准备什么

新能源电控方向的嵌入式软件工程师(BMS / AFE 采样 / 高压上下电 / AUTOSAR),目前在准备社招。

卡点很具体: 想找对口的岗位,招聘网站搜不出来。 在智联、BOSS 上搜「BMS 软件工程师」,返回的大半是「相近推荐」——三电、PACK、储能售前、弱电工程师、数据中心运维,甚至人力资源外包;真正做 BMS 的那几家被埋在几十条噪声里。而且公司口碑散在脉脉、看准、知乎、职友集七八个平台上,投之前要开七八个标签页手动对信息,投完了几十家公司的进度全靠脑子记。我要的是一个自己的岗位库: 一次搜清楚、集中评估、进度可追踪。

二、我做了个什么,解决什么问题

一个本地优先的求职工作台。核心是两件事: 把公司库里的岗位摊平后按「我的画像」逐条算匹配度 ,以及 用本地检索助手去招聘站里直搜真实在招职位 。

具体功能:

  1. 职位级匹配度 —— 不是给公司打个总分,而是把每家在招职位摊平,逐条按画像打分(岗位相关 / 技能 / 城市 / 薪资 / 经验 / 硬性要求 / 不接受项),一家公司同时挂着 BMS 软件、结构、销售时,一眼看得出哪个岗位真正适合我
  2. 求职画像联动 —— 目标岗位、技能、期望城市/薪资、不接受项(外包、大小周…)填一次,全库实时重算;还能按当前岗位关键词一键把典型技能补进画像
  3. 联网直搜真实职位 —— 本地检索助手直接解析招聘站 SSR 页面里内嵌的岗位数据,拿到真实在招职位(公司、薪资、经验、学历、标签、职责),不再是让大模型「回忆」岗位
  4. 相关性分层(这个工具的灵魂) —— 搜出来的结果分两层: 直接命中 (职位描述里真出现关键词)永远排前; 「检索相关」 (同一次检索被站点推荐一起带出来的)不丢弃、明确标注、排在后面。计数也分层写明「其中 N 个为检索相关」
  5. 公司模糊搜索 + 多平台评价汇总 —— 输入「宁德」「时代新能源」这种残缺词也能靠子序列匹配命中;公司维度一键生成各平台口碑/工商/招聘主页入口
  6. 投递管理 —— 收藏、对比篮、看板拖拽、投递状态与时间线,本地存储不丢
  7. 纯本地、零依赖 —— 无后端无数据库,file:// 双击即用;单文件版 425.8 KB,1 份 CSS + 9 个 JS + 检索助手源码全部内联

三、我是怎么用 TRAE 做出来的

1)先写规格,再让 TRAE 动手

【待填:把你当时那段结构化需求指令贴进来,如果找得到的话】

2)最费劲的地方:跟「搜索源」死磕

这一块占了整个项目一半以上的时间,也基本是 TRAE 陪我一条条试出来的:

  • 百度:第二次搜索就跳验证页,废
  • 360:结果全是跳hao.360.com 的假链接,废
  • Bing:site:liepin.com 这种语法完全不返回有效结果,中文岗位内容收录极差,废
  • 搜狗:能打到不少招聘站,但连续 5 次搜索就要验证,只能当备选源加频率限制
  • BOSS / 猎聘 / 拉勾:无头渲染 20 秒以上 DOM 还加载不完,登录墙 + 验证码,直接放弃
  • 51job:search-pc 接口被阿里云 WAF 挡成挑战页
    最后活下来的是 智联站内直搜 :不渲染 DOM,直接抓服务端渲染页面里内嵌的__INITIAL_STATE__.positionList ,去重后能拿 5 页不重叠的真实职位。这些结论 TRAE 都写进了websearch.js 的注释里,免得以后自己再踩一遍。

3)一次真实的数据复现,推翻了我自己的方案

我一度搜「BMS」只剩十几家,怀疑是同义词没扩展。TRAE 没有直接改代码,而是先用真实助手抓了 149 家公司 / 180 个职位做 数据探针复现 ,结论很硬:

  • 智联搜 BMS 返回的 59 条里,只有 12 条真含 BMS,其余 47 条是站点相近推荐——这些全被导入了公司库,所以「乱七八糟」
  • 回搜时又要求「文本必须含关键词」,所以 149 家里只剩十几家
  • 而我寄予厚望的 同义词扩展,实测只多救回 0 条 ——方向完全错了
    于是才有了「相关性分层」:直接命中 + 检索相关,只分层不丢弃。同一个数据复验:搜 BMS 从 15 家 → 46 家 (直接命中 16 + 检索相关 30),职位视图从 24 个 → 58 个 。

4)让 TRAE 自己写测试,把代码「证伪」

逻辑层 689 条断言(筛选、打分、排序、存储、检索分层)、无头 Edge 跑真实 DOM 416 条(单文件版 420 条),真抓出几个我自己没发现的 Bug:

  • 自研岗位下拉选中后会自动弹开——pick() 里focus() 和close() 的顺序反了,焦点事件又把面板拉起来
  • ▾ 按钮写成了 toggle(面板开着时点它反而关掉),语义应该是「永远列出全部候选」
  • 清空按钮不发input 事件,导致下拉里残留上一次的过滤结果
    5)单文件打包的老坑

【待填:如果你愿意,这里可以写你们打包时踩的坑;我们这边是内联 JS 必须用函数式替换replace(tag, function () {...}) ,用字符串替换会把代码里的$$ 当成替换模板吃掉,文件能打开但首屏卡死】

四、成果展示

怎么体验 :双击求职罗盘.html 就能用,零依赖、零构建, 不联网也能跑 (内置演示数据,手动录入 / JD 解析 / 匹配度计算全部可用)。想让「:globe_with_meridians: 联网搜真实职位」出真数据,再双击tools 里的启动脚本把本地检索助手拉起来,打开页面会自动检测在线状态,离线时自动降级成模型检索路径。

求职罗盘.html (425.8 KB)

本项目基于 TRAE 完成 :从需求收敛、联网源选型与踩坑排查、数据探针复现、相关性分层设计、双套测试到单文件打包,全流程在 TraeCode 里完成,代码注释完整。

如果也在找小众方向的岗位,欢迎留言说说你搜岗位时最烦的是什么——「搜出来的全是相近推荐」这种场景,正是这个工具最擅长收拾的。

工具不够完善,还有很多需要改善的地方,时间关系,后面再优化一下;感兴趣的也可以自己在源码基础上自己优化哦!

3 个赞

岗位罗盘这想法太赞了吧 找活不用来回切了 教教我

2 个赞

岗位罗盘这想法太赞了吧 找活不用来回切了 教教我

2 个赞

牛皮了,这个筛岗位的思路比那些八股工具实在多了 :joy:

2 个赞