给正在找工作的人:一个开源简历助手
CareerHelper 把简历编辑、JD 匹配、求职信、模拟面试和多格式导出放进了一个开源工具。附 Docker 上手方法,以及简历隐私和 AI 编造经历的避坑提醒。

找工作最磨人的环节之一,是同一段经历要反复改。
投产品岗,项目要讲需求和结果;投运营岗,要换成增长、转化和协作;投技术岗,招聘方又想先看到技术栈、难点和个人贡献。手里只有一份通用简历,越投越容易变成机械海投。
CareerHelper 是一个刚开源不久的简历工具。它把简历编辑、 AI 润色、职位描述匹配、求职信、模拟面试和导出放进同一个网页应用里,支持中文界面,也可以自己部署。
它能帮你做哪些事
先看简历本身。 CareerHelper 提供拖拽编辑、行内修改、自动保存和撤销重做,内置 50 套模板,既有极简、双栏和 ATS 风格,也有开发者、金融、教师等版式。颜色、字体、间距和页边距可以边改边预览。

编辑器把内容和版式放在一页里。工作经历、项目经历、教育背景、技能和自定义模块可以调整顺序,适合先做一份“事实母版”,再复制出不同岗位的版本。

AI 相关功能更贴近求职流程:
- 上传 PDF 或图片,提取已有简历内容;
- 输入岗位、经验和技能,生成简历初稿;
- 把简历和 JD 放在一起,查看关键词、 ATS 分数和修改建议;
- 检查弱动词、模糊描述和语法问题;
- 按目标岗位生成求职信;
- 翻译简历,并尽量保留专业术语;
- 根据 JD 进行模拟面试,生成逐题评分和复盘报告。

JD 匹配很适合拿来做“改哪里”的提示,但分数只适合内部参考。不同公司的筛选系统、招聘习惯和岗位标准并不统一,工具无法保证简历通过,更不能预测录用结果。
模拟面试提供 HR 、技术、行为、项目深挖等预设面试官,也支持追问、请求提示、标记复习和导出报告。面试前拿真实 JD 练一轮,比背一套通用答案更容易发现自己的表达断点。

完成后可以导出 PDF 、单页 PDF 、 DOCX 、 HTML 、 TXT 和 JSON 。 JSON 适合备份和迁移,PDF 、 DOCX 用于投递。分享链接支持密码保护,但简历里有电话、邮箱和工作经历,公开链接仍要谨慎。

最省事的上手方法
项目推荐 Docker 。电脑已安装 Docker 的话,先生成会话密钥:
openssl rand -base64 32
再启动 CareerHelper:
docker run -d \
--name careerhelper \
-p 127.0.0.1:3000:3000 \
-e AUTH_SECRET=<刚才生成的密钥> \
-v careerhelper-data:/app/data \
whisperre/careerhelper:latest
浏览器打开:
http://localhost:3000
这里把端口绑定在 127.0.0.1,只允许本机访问。若要部署到 NAS 、云服务器或家庭局域网,还要补上账号认证、 HTTPS 、访问控制和备份,别把 3000 端口直接暴露到公网。
想从源码运行,需要 Node.js 18+ 和 pnpm 9+:
git clone https://github.com/WhispeRre/CareerHelper.git
cd CareerHelper
pnpm install
cp .env.example .env.local
pnpm db:generate
pnpm db:migrate
pnpm dev
默认使用 SQLite,数据文件在 ./data/careerhelper.db,也支持 PostgreSQL 。项目使用 Apache 2.0 许可证。
需要注意的是,截至 2026 年 7 月 16 日,仓库创建时间还不到一周,没有正式 Release,版本号仍是 0.1.0。适合愿意尝鲜、自行部署和排查问题的人。只想下载稳定桌面安装包的普通用户,可以再等等。
一套更稳的改简历流程
直接让 AI 重写整份简历,最容易把事实写歪。更稳的办法是把任务拆开。
第一步,建立事实母版。把真实的公司、时间、职责、项目背景、个人动作和可核验结果整理好。暂时没有数据就留空,不让模型补数字。
第二步,复制出目标岗位版本。每次只处理一个 JD,先看岗位要求,再调整经历顺序和表述重点。不要为了关键词匹配,把没用过的技术和没做过的职责塞进去。
第三步,逐段修改。让 AI 先给建议和理由,再决定是否应用。可以直接加上这条约束:
只能根据我提供的事实改写。
缺少信息时先提出问题,不得新增数字、职责、技术、客户、奖项或结果。
所有新增内容单独列出,等待我确认。
第四步,人工复核。检查时间、公司、职位、联系方式和每一个量化结果;再看有没有关键词堆叠、空话和过度包装。导出前还要确认文件名和目标岗位,避免把 A 公司的版本投给 B 公司。

简历和 API Key 怎么处理
“自己部署”只说明 CareerHelper 运行在自己的机器上,并不代表 AI 也在本地推理。
项目支持 OpenAI 、 Anthropic 、 Gemini 和自定义兼容接口。 API Key 保存在浏览器 localStorage,不会写入 CareerHelper 的服务端数据库;发起 AI 请求时,Key 会随请求经过当前运行 CareerHelper 的服务端,再由服务端调用模型接口。简历内容也会发送给选定的模型供应商。
因此,第一次测试建议这样做:
- 用虚构姓名、测试邮箱和脱敏经历;
- 删除身份证号、住址、证书编号和照片等非必要信息;
- 泛化客户名、内部系统名、合同金额和未发布项目;
- 使用单独创建、额度受限的 API Key;
- 不在截图、 Issue 或群聊里暴露密钥;
- 确认数据目录和数据库备份后再升级容器。
使用公开演示站时,简历会保存在对方部署的数据库里,AI 请求也会经过对方服务器。处理真实简历前,应先确认运营方、隐私说明和删除方式。对隐私要求高,优先自己部署,或只输入脱敏材料。
CareerHelper 已经覆盖了从写简历到练面试的大部分流程,界面和功能也比普通的“AI 对话框”完整。它目前仍是一个很新的项目,缺少正式版本和长期使用验证。拿它整理事实、比较 JD 、练表达很合适;最终写进简历的每一句话,还是要经得起面试追问。
你改简历时最头疼的是哪一步:不知道怎么写经历,还是不知道该按 JD 改哪里?