🎉🎉做了 2年半 基于Vue3 + Vite的简历制作神器,开源啦
117 套主题 · AI 全程在浏览器里跑 · 免费,无套路
项目:轻舟简历 体验地址:qzcv.net 开源地址:github.com/1611037570/… 技术栈:Vue 3.5 · Vite 7 · TypeScript · Pinia · Tailwind CSS 4
写在前面
某个深夜有了想跳槽的想法刚准备兴致勃勃的更新简历,发现简历工具的坑惊人地一致:
- 填了一小时,导出时要会员;
- 自定义功能局限;
- 预览一个样,导出另一个样;
于是就有了「轻舟简历」。
轻舟简历是什么
一句话:一个免费、开源、所见即所得的在线简历制作工具,支持「自定义编辑器 + AI 助手」两套编辑模式。
介绍功能之前,先立三个承诺:
- 真免费 真开源:网站导出不收费,源码无任何限制。
- 真所见即所得:预览区实时渲染打印效果,与打印效果一致。
- 全程在前端跑 包括AI:全部功能在浏览器里完成,使用AI功能数据直连你配置的服务商,不经过我们的服务器。
它能帮你干什么?八件事,下文逐个展开:
- 挑模板:117 套主题、三种版式,39 套行业范本一键套用,颜色字体自己微调;
- 写内容:三栏编辑器所见即所得,模块拖拽排序,完成度和时间线自动把关;
- AI 帮忙:十二项能力全程在浏览器里跑——生成、六维报告、按岗位改写、翻译;
- 导入旧简历:Markdown、PDF 直接解析,备份一键恢复;
- 导出:PDF、长图、Markdown、HTML、备份共 5 种,无水印,可脱敏;
- 管简历:本地上限 10 份,回收站 30 天,编辑实时备份;
- 投递记账:指标卡 + 趋势图,拿到 Offer 留个上岸纪念;
(其实还有个AI智能投递,本来想等到1024一起开源的,但做得过于简陋展示不在本次开源了- -)。
一、先挑个顺眼的:117 套主题,39 套范本
一整墙主题卡片,挂着的都是真实简历数据渲染的缩略预览,所见即所选。按版式和成档两个维度筛,也可以直接从 39 套行业范本里选一套当底稿,一键创建。
换主题不是换背景图:纸张边框、标题样式、模块外框、页脚,都是成套的。
颜色、字体、间距在设置面板里自己微调;65 种标题样式可随主题成套,也可单独挑。你的改动只存差异,重置即回主题预设。
二、编辑器:三栏工作区,改哪是哪
左边模块导航、中间实时预览、右边配置面板。改任何字段,页面当场重新测量重排——把"负责公司官网重构"改成"主导官网重构,首屏 4.2s 降到 1.1s",后面段落的页码跟着变。没有"刷新预览"按钮,因为排版是边打字边算的。
模块增删、隐藏、拖拽排序都有;点预览内容自动跳到对应字段;完成度和时间线自动把关,"2027 年入职"这种尴尬留不到导出前。
三、AI 助手:十二项能力,全在浏览器里
读取、调模型、解析 PDF 全在浏览器完成,密钥你自管,文件不出电脑。
能帮你写:从零生成、一键优化出六维报告、按岗位改写、整份翻译、正文润色。能帮你用:简历评估、打招呼语、面试陪练、导入旧简历。写入带备份、可撤回,校验失败不落笔;读取可三档脱敏,头像和作品图不进请求。
四、导出:页已经分好了,导出只是照抄
别家导 PDF,是打印时甩给浏览器凑页;轻舟是内容一进编辑器就开始测量,分页算法提前算好每一页放什么。编辑器里翻到第几页,PDF 就是第几页。
| 格式 | 说明 |
|---|---|
| 浏览器本地导出,可连服务端走云端,无水印 | |
| 长图 | 整份一张图,PNG / PDF,适合内推群 |
| Markdown | 纯文本版,方便贴招聘网站 |
| HTML | 可离线打开的网页 |
| JSON | 完整备份,换设备一条路恢复 |
导出统一 2 倍清晰度;可脱敏导出,原始数据不动;完整备份不脱敏,随时有一份完整数据在手。
五、投递之后:管理与统计
最多 10 份本地保存,删除进回收站保留 30 天,卡片上看得到剩余天数,删错了随时恢复。
投递天数、总数、进行中、Offer 四张指标卡,加投递、被拒、Offer 三条趋势曲线;起始日可调,拿到 Offer 留个上岸纪念。
技术栈与工程化
| 层 | 选型 |
|---|---|
| 框架 | Vue 3.5(组合式 API + setup 语法糖) |
| 构建 | Vite 7 + TypeScript |
| 状态 | Pinia 3(持久化到 IndexedDB) |
| 路由 / 国际化 | Vue Router 4 / vue-i18n(中英双语) |
| 样式 | Tailwind CSS 4 |
| 交互 | vue-draggable-plus(拖拽)、wangEditor(富文本)、cropperjs(头像裁剪)、pdfjs-dist(PDF 本地解析) |
| 导出 | jspdf、snapdom(长图) |
| 图表 | ECharts(投递统计) |
| 工程 | pnpm monorepo + Turbo、husky + commitlint |
简历相关代码集中在 apps/web/src/views/resume/:main 首页、template 模板库、mine 简历管理、editor 编辑器(含 assistant AI 助手和 preview 预览引擎)、statistics 投递统计、theme 主题引擎。主题声明在共享领域层 apps/web/src/domain/resume/theme/,存储层直接依赖领域配置,不引入视图组件。
所有主题共用一套 JSON 数据:模块以键标识,业务字段在 data / list,编辑器状态在 ui。字段契约由表单配置生成,AI 读取、写入校验、完成度计算共用同一份——不存在第二套字段表。
快速开始
环境要求:Node.js ^20.19.0 或 >=22.12.0,pnpm ^10.0.0。
# 克隆仓库
git clone https://github.com/1611037570/snowflake-home.git
cd snowflake-home
# 安装依赖
pnpm install
# 运行(web + server)
pnpm dev
# 只跑前端
pnpm dev:web
推荐 VS Code,仓库带了 .vscode 配置。简历模块路由在 /resume 下:/resume 首页、/resume/template 模板库、/resume/editor 编辑器、/resume/mine 我的简历、/resume/statistics 投递统计。
路线图
不承诺时间,做到哪写到哪:
- 主题与范本:按"档位 × 版式"的缺口成套补齐,不做单品点缀;
- AI:面试辅导继续深化,支持更多导入格式;
- 分享:简历在线查看链接;
- 移动端体验和导出性能,继续打磨。
写在最后
这个项目它想解决的事情一直没变——把做简历还给内容本身:你负责把经历写好,排版、分页、导出这些杂活,交给工具。
如果它对你有用,欢迎去 GitHub 点个 Star;有问题、有想法,欢迎提 Issue。