极简简历:开源免费,希望帮助到更多求职者

极简简历 MiniWho,Apache-2.0 开源。 不注册会员,不喂给算法,只帮你把真实做过的事,写得体面一点。

一、写简历,为什么总在跟工具较劲

在 Word 里对齐到深夜,改一段经历整页跟着跑版;换个模板网站,免费导出带水印,去水印要开会员,好看的版式还得单独付费。

更让人不踏实的是另外几件事:手机号、邮箱、完整工作经历传到了第三方服务器;AI 润色顺手把没做过的事也写了进去,你并不知道内容去了哪里;分享出去的链接收不回来,「隐藏手机号」可能只是前端用一层样式盖住;导出的 PDF 文字选不中、复制不了,投递系统读不出内容。

简历本来只该回答三个问题:我是谁、做过什么、做得怎样。工具不该抢戏,更不该拿内容做交换。

于是有了极简简历。

二、它是什么

一句话:开源、可自部署的在线简历工作台------结构化填写、A4 排版、可控分享,数据握在自己手里。

项目 极简简历 MiniWho
核心能力 18 种结构化模块、60 套官方 A4 模板、服务端 PDF 导出、可控分享链接、五维规则诊断
前端 Vue 3.5 + Vite 6 + Element Plus + Pinia
后端 Java 17 + Spring Boot 3.3 + Sa-Token + MyBatis-Plus + jsoup + PDFBox
数据 默认 SQLite 零配置启动,一条 SPRING_PROFILES_ACTIVE=mysql 切到 MySQL 8
协议 Apache-2.0(保留 LICENSE 与 NOTICE)
仓库 github.com/cosolar/min...
在线演示 who.minims.cn
镜像 minimscn/miniwho(官方实例当前 1.0.22)

三、不是效果图:首页右边那张 A4 是真渲染出来的

自托管项目最容易被怀疑的是「截图很漂亮,实际用起来呢」。

who.minims.cn 是它长期运行的官方实例。首页右侧那张简历不是贴上去的示意图,而是同一份结构化内容、同一套 A4 模板实时渲染的结果;模板中心里每一张预览也都来自真实内容,不是占位图。首页那排数字很直白:60 套原创模板、18 个内容模块、5 个诊断维度、0 个付费项。

需要说清楚:这个站点只是项目的一个实例。代码在这里,你可以把它部署到自己的机器、自己的域名,简历数据和上传文件都落在自己的磁盘上。

四、几个「较真」的地方

1. 内容是内容,版式是版式

18 种结构化模块(工作经历、项目、技能、论文、作品集、自定义模块......)可以排序、隐藏、重命名;每个模块独立保存,服务端用 contentVersion 乐观锁,避免多标签页互相覆盖;刷新或误关页面还有本地草稿恢复。

简历正文以 JSON 存储,样式单独存。切换模板不会动内容------不用因为换了个好看的版式,把整份简历重抄一遍。

2. 模板包里根本没有 HTML 和 JS 的位置

模板包只表达「主题 token + 一段受约束的 CSS」。导入时服务端逐条规则重新生成 CSS,拒绝 @import、expression()、behavior、!important、外链 url() 等,属性名走白名单。

换句话说,社区分享的模板包在格式上就拿不到执行能力,也改不坏别人的简历。这是「允许大家做模板」的前提,不是事后补的安全补丁。

3. 屏幕、打印、PDF 用同一批分页断点

多页简历最怕「预览两页、打印三页」。项目按 A4 高度实算断点,画出虚线和「第 N 页 · 共 M 页」,屏幕预览、浏览器打印、服务端 PDF 共用同一批断点标记。

服务端 PDF 由本机 Chrome / Edge 无头打印同一套 A4 版面;打印完成后,PDFBox 只重写 ToUnicode 映射表,让文字可复制、可检索,版面一个像素不动。检测不到浏览器时,前端自动回落到「浏览器打印 → 另存为 PDF」,功能不中断。

4. 隐藏字段是「真的不发」

分享链接可以给 4--20 位密码、有效期、是否允许打印下载、查看次数,随时撤销。手机号、邮箱、城市、个人主页这些字段勾选隐藏后,在服务端就被移除,不会发送到访客浏览器------不是靠 CSS 遮一下。照片走 HMAC 签名的短时效地址。

这一条,是「可控分享」和「看起来可控」的区别。

5. 诊断不把简历送给外部 AI

五维固定规则评分:完整度 25、岗位匹配 25、表达质量 20、成果量化 15、格式规范 15,输出总分、维度明细和最多 12 条可执行的建议,建议可直接跳到对应模块修改。

结果可解释、可复现,内容不出服务器。简历这种东西,宁可少一点「智能」,也别多一个收件人。

6. 默认不开放注册,数据能整体带走

SMTP 邮箱注册、GitHub 登录、用户名注册三种方式默认全部关闭,自部署开箱就是一个不对外开放注册的私人实例。账号可 zip 导出全部数据,自助注销还有 7 天宽限期可撤销。

工程上还做了不少不显眼但必要的事:上传校验文件头而不信客户端声明、预览响应带 nosniff 与 CSP sandbox、头像走独立通道解码重编码、公开接口按 IP 限流、登录连错几次自动关掉密码入口。

7. 没有广告,也没有第三方统计

全部功能免费,无会员、无付费模板、无广告与第三方统计脚本。页脚的访问次数与在线人数由项目自己统计,只用一个前端本地生成的随机访客 id 去重,不采集 IP、UA 或浏览行为,也不发往任何外部服务。

五、谁会需要它

  • 求职者:尤其是应届生和转行的人,把精力花在「做了什么、怎么做的、结果如何」,而不是对齐缩进。
  • 学校就业中心 / 小团队:自己部署一套,模板启停、站点设置、用户管理都在后台,不用把学生简历交给外部平台。
  • 对隐私敏感的场景:简历不经过第三方,分享链接能收回,隐藏字段真的不发。
  • 开发者:想研究「结构化内容 → A4 分页 → 可检索 PDF」这条链路,或者基于 Apache-2.0 做二开。

六、三分钟跑起来

bash 复制代码
docker run -d --name miniwho \
  -p 8088:8080 \
  -v miniwho-uploads:/app/uploads \
  -e MINIWHO_DB=/app/uploads/miniwho.db \
  -e MINIWHO_ADMIN_PASSWORD='改成强密码' \
  -e MINIWHO_DEMO_PASSWORD='改成强密码' \
  -e MINIWHO_MEDIA_SECRET="$(openssl rand -hex 32)" \
  --shm-size=512m \
  minimscn/miniwho:latest

打开 http://localhost:8088。镜像内置 Chromium 与中文字体,服务端 PDF 开箱可用;MINIWHO_DB 指向卷内,删容器不丢数据。

想从源码跑(JDK 17+ / Maven 3.8+ / Node.js 18+):

bash 复制代码
cd backend
MINIWHO_ADMIN_PASSWORD='换成你自己的强密码' mvn spring-boot:run

cd ../frontend
npm install && npm run dev

后端 http://localhost:8080,前端 http://localhost:5173,/api/health 不要求登录。

两个公开部署前的提醒:把 MINIWHO_SEED_DEMO 设为 false 跳过演示账号与示例数据,并给站点配好 HTTPS。源码部署时服务端 PDF 需要本机有 Chrome / Edge / Chromium,没装也不会报错,只是自动回落到浏览器打印。

七、诚实的边界

README 里明确写了当前还没做的:Word / Markdown 导出、旧简历解析与 OCR、AI 润色与岗位匹配、跨部署的中央模板市场、版本历史与协同编辑、对象存储接入。

另外,模板骨架与分页契约目前仍由代码持有------这是分页一致性的前提,所以模板包能改的是主题 token 和作用域 CSS,不是 DOM 结构。

把边界写清楚,比把功能吹满更有用。

八、开源,欢迎来用,也欢迎来提

比较欢迎这几类贡献:新的模板包和版式、不同部署环境里踩到的坑、真实投递场景下的分页与 PDF 问题,以及安全边界的审视。

如果你也在为一份简历跟工具较劲,先跑一个容器试试;如果觉得它替你省了事,去点个 Star 就是对开源项目最实在的支持。 顺手转给正在改简历的朋友,或者负责就业服务、在找自建方案的同事,也帮它多找到一个用得上的人。

名字里的 Mini 不是简陋,是克制:去掉多余的装饰,把注意力还给内容本身。简历该回答的只有「我是谁」,工具别抢戏。

相关推荐
Cosolar1 小时前
极简智库:快速搭建你的开源项目教程阅读平台,让 docs/ 目录被更多人看见
java·架构·github
敢敢是只喵i1 小时前
false不等于没填:一次 AI 接入业务系统的SDK的修复记录
github
一条Go1 小时前
历史告警归档:为什么"删掉主库行"是最后一步
后端·架构·github
用户576545744001 小时前
按键精灵安卓开发实战:手写可拖动、可最小化的运行日志悬浮窗|完整源码 + 踩坑记录
开源
TunerT_TQ2 小时前
Valhalla L3 开源评测|Apache Doris:面向AI Agent的实时分析与混合检索数据库
github
panyz2 小时前
不想再开 7 个标签页查AI额度,我用 Node 写了个本地看板
人工智能·开源·github
炫酷的大高个2 小时前
3.2TB 权重开源了,我算了 4bit 之后还要几张卡
人工智能·架构·开源
字节跳动开源2 小时前
AI 原型几分钟,设计返工一整天?OpenViking 让 AI 用上你的 Figma 设计稿
人工智能·开源
逛逛GitHub2 小时前
又 3 个刚开源但要火的 GitHub 项目,在 iPhone 上跑 macOS。
github