TreePath — 帮工科本科生看懂岗位 JD、生成学习路线的 AI 求职导航器

【SOLO 主赛道】TreePath — 帮工科本科生看懂岗位 JD、生成学习路线的 AI 求职导航器

面向机器人工程、自动化、电子信息等专业本科生,把模糊的求职焦虑拆成可执行的短周期行动路线。


一、作品介绍

TreePath 是一个面向工科本科生的求职与学习路线导航 Web Demo。

很多普通本科的工科学生(尤其是机器人工程、自动化、电子信息、机械电子方向)面对考研还是就业、嵌入式还是 C++、ROS 还是 AIoT 时,最大的痛点不是不想学,而是:

  • 看不懂岗位 JD —— 招聘描述里的"熟悉 UART/I2C/SPI""了解 RTOS"到底意味着什么?

  • 不知道优先级 —— C/C++、STM32、Linux、ROS,到底先补哪个?

  • 缺少可展示的项目 —— 简历上写不出一个能讲清楚的项目。

  • 没有行动路线 —— 想学但不知道怎么开始、怎么复盘。

TreePath 用本地规则库 + AI API 双模式,帮学生完成一个最小闭环:


粘贴岗位 JD → 选择当前能力 → 生成岗位解读 → 诊断能力差距

→ 生成 4 周行动路线 → 推荐可展示项目 → 导出 Markdown 报告


二、解决的真实问题

场景 1:看不懂 JD

小李看到一个嵌入式软件工程师的 JD,要求"熟悉 C/C++,了解 STM32,熟悉 UART、I2C、SPI,有 RTOS 经验优先"。

他不知道这些关键词背后真实的日常工作是什么,也不知道应届生到底需要补到什么程度。

TreePath 的作用:把 JD 翻译成"这个岗位真实在做什么"“核心技能是什么”“应届生优先补什么”“加分项是什么”。

场景 2:不知道先学什么

小王会一点 C 语言语法,跑过 STM32 点灯例程,Linux 只会几个命令,ROS 没碰过,项目只有课程作业。

他不知道自己距离目标岗位差多少,也不知道下一步最该做什么。

TreePath 的作用:通过 6 项能力诊断(C/C++、单片机、Linux、ROS、算法、项目经历),生成能力画像、优势短板、优先补齐项和具体策略。

场景 3:没有项目可写

小张简历上只有课程名称,没有可展示的项目。

他想做一个项目,但不知道选什么题目、用什么技术栈、怎么写到简历里。

TreePath 的作用:根据目标方向推荐一个本科生能完成的"小闭环"项目(如 FlowDesk Mini 专注学习记录器、ROS 小车仿真导航 Demo),附带技术栈、实现步骤和简历表达方式。

场景 4:学了一段时间没有成果

小刘断断续续学了几个月,但没有明确的周计划和产出物,不知道自己进步了多少。

TreePath 的作用:生成 4 周行动路线,每周有主题、目标、任务、检查方式和产出物,最后导出 Markdown 报告保存到 Notion/Obsidian/GitHub。


三、核心功能展示

1. JD 白话解读器

粘贴招聘 JD,系统自动识别岗位方向(嵌入式 / C++ / ROS / AIoT),并输出:

  • 岗位方向:嵌入式软件开发

  • 真实工作内容:编写 MCU 控制逻辑、调试传感器通信接口、配合硬件工程师定位问题

  • 核心技能:C/C++、STM32/ESP32、Linux 基础、UART/I2C/SPI、Git

  • 应届生优先补:C 语言指针/结构体/内存、STM32 GPIO/UART/I2C/SPI、Linux 命令行

  • 加分项:RTOS、ROS、项目文档、GitHub 仓库

  • 应届友好度:中等

2. 能力诊断表单

选择 6 项能力等级(每项 0-3 分)+ 考研状态:

| 能力维度 | 0 分 | 1 分 | 2 分 | 3 分 |

|---------|------|------|------|------|

| C/C++ 基础 | 几乎没学 | 学过语法 | 能做基础题 | 做过小项目 |

| STM32/ESP32 | 没接触过 | 点灯或跑例程 | 做过传感器小实验 | 做过完整项目 |

| Linux 基础 | 没用过 | 会基础命令 | 能编译运行程序 | 能开发调试 |

| ROS/机器人 | 没接触过 | 看过概念 | 跑过 Demo | 做过仿真/机器人项目 |

| 算法与数据结构 | 没开始 | 会基础语法题 | 能做常见题型 | 系统刷过题 |

| 项目经历 | 没有可展示 | 只有课程作业 | 有一个小项目 | 有完整项目和文档 |

3. 能力画像与差距分析

系统自动生成:

  • 平均能力分:1.33 / 3

  • 当前优势:C/C++ 已有一定基础

  • 当前短板:项目展示能力偏弱、Linux 工程能力偏弱、嵌入式实践偏弱

  • 优先补齐项

  1. 完成一个可展示小项目

  2. 补 Linux 与 Git 流程

  3. 把 C/C++ 用到真实项目中

  • 建议策略:先围绕嵌入式软件做一个能运行、能截图、能写 README 的小项目

  • 风险提醒:当前阶段更适合先做小闭环,不建议同时铺开太多方向

4. 4 周行动路线

| 周次 | 主题 | 目标 |

|------|------|------|

| W1 | 岗位理解与基础补齐 | 看懂岗位要求,补最影响入门的基础 |

| W2 | 最小项目实践 | 完成一个项目的最小可运行版本 |

| W3 | 工程化与文档整理 | 让项目像可以给面试官看的作品 |

| W4 | 简历表达与复盘 | 把项目转化为简历和面试表达 |

每周包含:具体任务清单、检查方式、产出物。

5. 项目作品集建议

根据方向推荐项目,例如:

嵌入式方向 —— FlowDesk Mini 专注学习记录器

  • 技术栈:ESP32/STM32 + LVGL + 按键/旋钮 + 本地计时逻辑

  • 实现步骤:Web 原型 → 番茄钟计时 → 任务选择 → 学习统计 → README + 演示视频

  • 简历表达:基于 ESP32 + LVGL 实现桌面专注学习记录器,支持任务选择、番茄钟计时、学习时长统计和低干扰交互设计。

6. Markdown 报告导出

一键生成完整成长报告,包含:

  1. 目标岗位

  2. 岗位白话解读

  3. 当前能力画像

  4. 能力差距与优先级

  5. 短周期行动路线

  6. 推荐项目作品集

  7. 下一步建议

支持复制 Markdown下载 .md 文件,可导入 Notion、Obsidian、飞书、GitHub README。


四、技术实现

技术栈

| 层级 | 技术 | 用途 |

|------|------|------|

| 前端框架 | React 19 + Vite 8 | UI 组件与构建 |

| 样式 | Tailwind CSS 4 + 自定义 CSS | 原子化样式 + 毛玻璃/网格纹理 |

| 图标 | lucide-react | 统一 SVG 图标 |

| AI 接入 | OpenAI Responses API + JSON Schema | 结构化智能分析 |

| 后端 | Vercel Serverless Function | AI API 代理(保护 Key) |

| 存储 | localStorage | 状态持久化 |

双模式架构

TreePath 支持两种分析模式:

本地规则模式(默认,无需 API Key):

  • 基于关键词匹配的岗位方向识别

  • 基于评分规则的能力诊断

  • 基于模板的 4 周计划生成

  • 适合:Demo 演示、离线使用、理解项目逻辑

AI API 模式(需配置 OPENAI_API_KEY):

  • 调用 OpenAI Responses API

  • 使用 TreePath Skill Prompt + 知识库

  • 通过 JSON Schema 强制约束结构化输出

  • 适合:真实智能分析、更灵活的语义理解

为什么 AI 模式需要后端

浏览器前端代码对用户可见,不能将 OPENAI_API_KEY 写进前端。正确架构:


React 前端 → /api/treepath/analyze (Vercel Serverless)

↓

OpenAI Responses API

↓

结构化 JSON → 前端渲染

核心代码结构


src/

├── components/ # 10 个纯展示组件

├── data/ # 7 个数据文件(规则库 + Skill + Schema)

├── utils/ # 6 个纯函数(业务逻辑)

└── services/ # AI API 客户端

api/

└── treepath/

└── analyze.js # Vercel Serverless AI 后端

skill/

└── knowledge/ # 方向学习路径知识库


五、使用说明

方式 1:本地运行(本地规则模式)


git clone <仓库地址>

cd treepath

npm install

npm run dev


方式 2:本地运行(AI API 模式)


cp .env.example .env.local

# 编辑 .env.local,填入 OPENAI_API_KEY

npx vercel dev

# 在页面里切换到"AI API"模式

完整体验流程

  1. 打开页面,查看首页介绍和 5 步流程

  2. 在"JD 解读器"粘贴岗位描述(或点击"示例 JD")

  3. 点击"开始分析",查看岗位白话解读

  4. 在"能力诊断"选择当前能力等级和考研状态

  5. 点击"生成诊断与行动路线"

  6. 查看能力画像、4 周行动路线、项目推荐

  7. 在"Markdown 报告导出"复制或下载报告


六、开发过程与心得

6.1 用 SOLO 的开发历程

这个项目是完全使用 Trae SOLO 模式开发的。整个过程分为几个阶段:

第一阶段:需求澄清

我不是直接让 AI 写代码,而是先花了很多时间整理"一个工科本科生求职时真正需要什么"。我把自己和身边同学的困惑列出来:看不懂 JD、不知道先学什么、没项目、没计划。

第二阶段:架构设计

用 SOLO 和 AI 讨论确定了核心闭环:JD 解读 → 能力诊断 → 行动路线 → 项目推荐 → 报告导出。确定了技术栈(React + Vite + Tailwind),确定了本地规则 + AI API 双模式架构。

第三阶段:组件实现

按模块逐个实现,从数据层(roleTemplates、skillMatrix)到工具函数(analyzeJD、diagnoseAbility)再到组件层。SOLO 的优势是能快速生成基础代码,然后我自己调整文案和交互细节。

第四阶段:AI API 接入

最难的部分是让 AI 输出结构化 JSON而不是自然语言。最终通过 OpenAI Responses API 的 json_schema + strict: true 解决,这样前端可以直接渲染,不需要做复杂的文本解析。

6.2 关键设计决策

为什么用本地规则库做兜底?

不是所有用户都有 OpenAI API Key。本地规则库保证项目"零配置就能跑",适合课堂演示、离线使用。AI API 作为增强层存在。

为什么是 4 周?

4 周不是承诺 4 周掌握复杂技能,而是一个"最小执行周期"——足够完成"理解 → 实践 → 整理 → 表达"的闭环。过长会让人拖延,过短做不出东西。

为什么语气要低焦虑?

我见过太多制造焦虑的职业规划内容。TreePath 的原则是:告诉他们"现在最值得先补什么"。


七、成果展示

首页与使用流程

首页展示 TreePath、核心定位、5 步使用流程,以及 JD 解读、能力画像、4 周路线、项目推荐的实时预览卡片。

JD 解读结果

左侧粘贴岗位 JD(支持"示例 JD"一键填入),右侧自动生成岗位方向、真实工作内容、核心技能、应届生优先补项、加分项和应届友好度。

能力诊断与画像

选择 6 项能力等级后,生成平均能力分、进度条可视化、当前优势、当前短板、优先补齐项、建议策略和风险提醒。

4 周行动路线

默认 4 周最小执行闭环:岗位理解 → 最小项目实践 → 工程化整理 → 简历复盘。每周含主题、目标、任务、检查方式和产出物。

项目推荐与 Markdown 导出


根据方向推荐可展示项目(含技术栈、实现步骤、简历表达),并支持一键复制或下载 Markdown 成长报告。


八、项目链接


九、下一步计划

增强 Skill 知识库:自动注入 skill/knowledge/ 目录的 Markdown 内容到 AI Prompt


本项目完全使用 Trae SOLO 模式开发,从需求分析到代码实现到文档撰写。