尚未检测到更新。GitHub 发布版本后会显示在这里。
个人 GitHub 账号下公开仓库的所有者可以登录并验证所有权,自行管理介绍,无需管理员批准。
登录并生成验证文件,在 30 分钟内将其提交到此仓库的默认分支。其他分支或分叉仓库中的文件无效。然后在下方检查文件,即可无需管理员批准直接管理项目。请保留文件以维持管理权限。
如需登录,将前往登录页面。登录后请回到此处,再次点击所选的验证按钮。
在项目文件夹中运行 /nomorevibe verify,即可验证所有权并自行管理介绍。
一分钟完成验证Resume parser micro-agent: PDF in, scored candidate profile out (Next.js, Groq).
翻译准备中
取自仓库 README
正在加载完整 README。
查看完整 README ↗A single-page Next.js app for the Prolanz BOS platform. A recruiter drops in an applicant's resume PDF and gets a structured candidate profile: contact details, core skills, work history, education, a 0–100 fit score and a short recruiter verdict.
pdfjs-dist (loaded on first use).
Ligatures and run spacing are rebuilt from glyph positions, so "fi ve" reads "five".app/api/parse) via groq-sdk, in JSON mode.
The key never reaches the browser.normalizeProfile (lib/schema.ts): missing fields become empty values, numbers
are clamped, names the model reworded are snapped back to the resume's own words,
and roles are ordered most recent first. The UI cannot receive a malformed profile.npm install
cp .env.example .env.local # then paste a free key from https://console.groq.com/keys
npm run dev # http://localhost:3000
| Variable | Required | |
|---|---|---|
GROQ_API_KEY | yes | Server-side only. |
GROQ_MODEL | no | The model to try first. |
The PRD names llama-3.3-70b-versatile. Groq has retired it for some keys, so the
route tries it first and falls back to openai/gpt-oss-120b, with low reasoning effort.
In testing, that model parsed a real two-page resume in about 1.8 s. It remembers which
model answered, so a retired one costs a single extra round trip.
Import the repo in Vercel, add GROQ_API_KEY under Project → Settings →
Environment Variables, and deploy. Nothing else is needed. Groq's free tier means
no API charges, though it is rate-limited. When the limit is hit, the app says so
and asks the user to wait a few seconds.
app/
page.tsx the single page
api/parse/route.ts Groq call, model fallback, error mapping
components/
Workspace.tsx state: upload → read → parse → profile; the candidate list
UploadZone.tsx drag-and-drop, file picker, sample button
CandidateProfile.tsx the dashboard
Shell.tsx sidebar / phone drawer
ui.tsx panels, stat cards, pills, buttons, score ring
lib/
pdf.ts PDF → text in the browser
prompt.ts system prompt and models
schema.ts CandidateProfile type and normalizer
sample.ts the sample resume
The interface follows a vendor-portal style: roomy white panels on a soft page,
hairlines instead of shadows, and pill actions in one red accent. Colours are CSS
variables in app/globals.css; change --accent-hue to re-hue everything.