大家好。金九银十,又到了简历翻来覆去改的季节。改简历有个特点:格式好不好,一眼就能看出来;内容行不行,心里基本没底。市面上的 AI 工具倒是一抓一大把,真顺手的没几个——这个帖子就分享一个用 TraeCode 做出来的简历工具,取名「简历诊所」。
它的思路很简单:把 PDF 简历拖进网页,按模块做规则体检,问题直接标到具体句子,选中任何一段都能让 AI 逐句改写,全程简历不出浏览器。已经上线,链接在下面,欢迎围观拍砖。
为什么做这个
改简历这件事,烦的不是写,是改。网上现成的工具,要么要把简历传到别人的服务器上,心里过不去;要么改两处就弹会员提示;要么只甩给你一个笼统的分数,看不出到底哪句话有问题、该往哪个方向改。后来想,手里正好有 TraeCode,不如自己做一个:文件在本地解析,内容不出浏览器,诊断标准自己定,AI 接自己的 key,用国产模型改一轮也就几分钱。
它能干什么
解析与模块拆分
打开网页,把 PDF 简历拖进去就行,不需要注册登录。解析全部发生在浏览器里,前半段功能断网都能用,简历内容从头到尾不经过任何服务器。解析完会自动把简历拆成基本信息、教育经历、工作经历、项目经历、专业技能、自我评价这些模块,每个模块在中间一栏单独编辑;
分错位置的可以手动挪,整体分得太乱的还有个「AI 智能分段」兜底,让模型按语义重新归一次类。基本信息栏做成了结构化表单,姓名、手机号、邮箱、求职意向单独列出来,缺什么一眼就能看到。
规则体检
模块拆好之后就是体检环节,各模块各管一摊。工作经历查时间区间写没写、量化数据够不够多、是不是「负责」「参与」这类弱动词开头、有没有三年以上的时间断档;教育经历查学校、专业、学历层次写全没有;项目经历查技术栈、担任角色、成果落点词;自我评价专门抓套话,「吃苦耐劳」「抗压能力强」这类词命中两条就亮红灯;技能页盯着「精通」出现的次数,超过三次会提醒你面试被深挖的风险。
问题按红橙蓝三档挂在右栏,每条都指到具体位置,顶部有个综合分,改一处涨一点,改简历这件事总算有点正反馈。
AI 改写与 AI 助手
AI 接的是 OpenAI 兼容接口,预设了 DeepSeek、Kimi、硅基流动、百炼和本地 Ollama 的配置,填个自己的 key 就能用,不绑定任何一家,用国产模型改一轮也就几分钱。
看到不顺眼的句子,选中就能发起 AI 改写,弹窗里流式吐出结果,不满意点重新生成,满意就一键替换原文。右栏还有一个助手对话框,带着整份简历的上下文,改完经历可以接着问「这段放到产品岗的简历里合不合适」这种问题。
导出
改完的简历一键复制全文,或者导出成 Markdown 带走,贴回 Word、飞书文档都方便,不会被锁在谁的私有格式里。
用 TRAE 怎么做出来的
第一版没费什么劲。跟 TraeCode 把要求说清楚:纯前端、Vite 加 React、状态用 zustand、PDF 解析用 pdfjs 跑在浏览器里、左中右三栏布局。它一次生成的完成度就挺高,上传页、工作台、诊断面板都有模有样,这一段基本是顺风局。
真正费劲的是 PDF 解析的脏数据。测试用的是自己导出的简历,页面上复制出来看着正常,解析结果里却到处是粘连的行和怪符号。翻解析日志才发现,PDF 里有些字形在字体映射表里不存在,pdfjs 会提取出一个 U+0000 空字符,这家伙不属于空白字符,连 trim 都去不掉,行首缩进判断、正则匹配全被它带偏。让 Trae 在清洗阶段把它归一化成普通空格才稳住。类似的问题还有一串:「【基本信息】」「
【荣誉证书】」这种装饰标题混进正文,双栏简历里两个栏目标题挤在同一行拆不开,emoji 和图标字体被提取成私有区乱码。跟它拉扯这几轮的提示词都很短,比如直接甩一句「识别出来还会出现【基本信息】、
【荣誉证书】这种标题和符号,有 emoji 还会识别出图标」,它就能顺着定位到分词和清洗逻辑去改。这一路修下来的体会是:解析器宁可在预处理阶段多做几遍清洗,也别指望后面的逻辑能带着脏数据跑。
诊断规则没有技术含量,但费耐心。弱动词开头、量化数据比例、套话词表、时间断档检测,全是照着自己改简历的经验一条条加的,写成正则跑在拆好的条目上,基本上每改一版简历就会多攒一两条规则。
AI 改写上线后又连着修了三个互相纠缠的问题:点改写不自动生成,重新生成偶尔没反应,采纳之后原文不替换。让 Trae 排查下来原因挺典型——React 18 严格模式会把组件挂载两次,被中止的旧请求在收尾时把新请求的状态覆盖了;编辑器渲染的是拆条后的内容,而采纳动作只更新了原始文本。最后用请求守卫加序列号重挂载解决,顺手把这些场景补进了测试。现在项目里躺着一个五十多个断言的测试文件,每回改完解析逻辑,先跑一遍再说话。
部署走的 GitHub 加 Vercel,push 上去自动构建上线,这步反而省心。
成果展示
在线体验:
解析、诊断全部发生在浏览器本地,关掉页面什么都不留,介意隐私的可以放心试。AI 功能需要在设置里填自己的 key,不填也不影响前半段的规则体检。










