VitaAI:我做了一个帮你改简历、练面试的 Agent

最近做了一个新的 Agent 项目,叫 VitaAI。
这次选了一个很具体的场景:写简历,以及简历写完以后,怎么准备面试。
把经历丢给 AI,让它帮忙润色一下,已经很方便了。但接下来还有不少事情:挑哪些内容放进简历、换个岗位怎么调整、文字变长以后怎么排版,以及面试时能不能把自己写的东西讲清楚。
我想把这些事情接起来,于是做了这个小工作台。现在可以在里面整理个人资料、制作简历、让 AI 提修改建议,再拿着简历去做一场模拟面试。
演示地址:vitaai.markqq.com。目前主要按桌面浏览器来做,建议用电脑打开。
先把自己的经历存下来
同一个人投不同岗位,简历的重点通常也会变。投开发岗,可能多讲一点技术实现;换一个方向,可能就需要把协作、业务理解或者项目推进的经历放到前面。
所以 VitaAI 里有一个「个人资料库」,把教育、工作与实习、项目、技能、证书这些内容分开保存。后面做不同岗位的简历,都可以从这里取素材。

如果手上已经有旧简历、成绩单或者项目说明,也可以通过「附件智能填入」一起交给 AI 整理。识别完会先展示结果,让你核对和修改,再决定追加到现有资料里,还是覆盖原来的内容。
这里我比较在意的是核对这一步。材料里没有写清楚的时间、项目职责,AI 有可能理解错。先把素材整理准确,后面的润色才有意义。
写内容的时候,也能看到它在纸上长什么样
简历编辑器把填写和预览放在同一个页面里。左边调整各个模块,右边看实际排版,也可以换模板、改配色、调整模块顺序。

有些句子单独读着挺好,放到简历里就占了五六行;有些项目写得很详细,却把更重要的经历挤到后面。边写边看版面,至少能早点发现这些问题。
现在支持导出 PDF、Word、HTML、TXT 和 JSON,也可以创建带密码或有效期的分享链接。想保留模板的视觉效果,可以选 PDF;还要继续在文档软件里修改,就导出 Word,复杂装饰的还原会有差异。
手动编辑和管理简历不需要配置模型,愿意自己写也完全可以。
Agent 的部分:把建议变成可以审阅的修改
VitaAI 的 AI 助手可以结合个人资料和岗位描述生成简历,也能围绕已有简历做岗位匹配、翻译、语法检查、求职信生成等事情。

比如,你可以让它帮忙整理某段项目经历,或者结合一份岗位描述,看看当前简历应该调整哪里。
我希望这类对话能落到具体内容上。因此,涉及简历修改时,助手会通过工具生成修改方案,交给用户审阅,再按需应用到简历里。你可以接受,也可以拒绝,之后继续聊。
这也是这个项目里我最想做好的部分:模型给出建议之后,页面知道它准备修改什么,用户能判断这个修改是否合适,确认后的结果还能继续编辑和导出。
当然,表达可以优化,经历还是要真实。比如项目里没有做过性能测量,就不应该为了让句子漂亮,凭空补一个提升百分比。这类内容最终得由写简历的人自己把关。
写完以后,再换个角度看看
简历分析会给出结构化报告,把优势和改进建议放在一起,也能查看历史报告、导出 PDF。

我更希望大家把它当成一次检查:有没有遗漏关键信息,经历是否讲清楚了,和目标岗位相关的内容有没有被埋住。
分数可以看,但具体建议更值得读。改完一段经历之后,自己再读一遍,看看是不是更容易理解了,比单纯盯着分数涨了多少更有用。
简历上的项目,试着当面讲一遍
写在纸上和说出口,确实是两回事。
一句「负责项目性能优化」很容易写,但如果接着被问到“瓶颈怎么定位的”“为什么选这个方案”“最后怎么验证”,就需要把事情讲得更完整。
VitaAI 的模拟面试可以配置岗位、简历和面试官,用文字或语音进行练习。语音界面里有问题字幕、实时转写和对话记录,方便跟上当前的问题。

练习结束后,可以再看面试报告,回顾各个问题、面试官的评价和提升建议。

这几张报告和面试截图使用的是项目里的示例数据,用来展示界面。实际回答和分析结果取决于输入的材料,以及你配置的模型。
对我来说,这个功能最有意思的地方,是让简历上的一句话有机会被追问下去。讲不清楚的时候,回头补充材料、调整表述,再练一次,整个过程就连起来了。
顺便聊一点实现
前端用的是 Next.js 和 React,后端是 FastAPI,业务数据存在 PostgreSQL,AI 工作流用 LangGraph 来组织。
以简历助手为例,里面有工具选择、工具执行、修改方案返回,以及用户接受或拒绝后的继续对话。把这些步骤拆开之后,模型输出和页面操作之间就有了明确的对应关系。
导出也是单独处理的:后端检查简历归属,再交给私有的 Node 渲染器生成文档。PDF 会用到 Chromium,Word 则更侧重保留可编辑的内容。
这些地方未必在第一次打开页面时就能看出来,但如果想让生成的内容真的拿得走、改得动,就都得慢慢补齐。
想试的话,需要自己配置模型
目前支持邮箱注册登录和 GitHub 登录。进入后,可以先体验资料库、模板和简历编辑;使用 AI 时,再到「设置 → 模型与语音」填写自己的 API Key、Base URL 和模型名称。
模型可以接 OpenAI 兼容接口、Anthropic 或 Gemini。语音能力还需要单独配置 DashScope 密钥。
模型和语音密钥按账户保存在当前浏览器里,换设备后需要重新填。调用时,密钥会随请求经过后端发给对应服务商,不写入业务数据库;简历、个人资料和面试记录等内容则保存在服务端。上传材料交给 AI 整理时,内容也会发送到你选择的模型服务。
VitaAI 还是一个在继续打磨的个人项目。这篇先把现在的样子记录下来,也欢迎你试试,看看哪一步顺手、哪一步还让人想关掉页面。
希望它能帮你把一段经历写清楚,也帮你在下一次面试前,多一次开口练习的机会。
支持与分享
如果这篇文章对你有帮助,欢迎分享给更多人或打赏支持!
