关于 Reactive Resume
Reactive Resume 是面向求职者的开源简历与求职信编辑器,也可用于管理求职申请。它将文档编辑、简历检查、申请跟踪、导出与自托管结合在一起。
主要功能
- 01简历与求职信编辑器
- 02模板与实时 PDF 预览
- 03可读性与职位匹配检查
- 04求职申请跟踪
- 05导出 PDF、Word、Markdown 和 JSON
- 06自托管与账户控制
适用场景
- 01创建和修改简历或求职信
- 02检查简历与职位描述的匹配情况
- 03跟踪申请、面试和后续联系
MCP 相关
其 MCP 服务提供管理文档、导入与导出、简历检查及求职申请工作流的工具。
配置
远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。
https://rxresu.me/mcpclaude mcp add --transport http amruthpillai-reactive-resume https://rxresu.me/mcp{"mcpServers":{"amruthpillai-reactive-resume":{"type":"http","url":"https://rxresu.me/mcp"}}}在 Cursor 中打开{"servers":{"amruthpillai-reactive-resume":{"type":"http","url":"https://rxresu.me/mcp"}}}在 VS Code 中打开{"mcpServers":{"amruthpillai-reactive-resume":{"type":"http","url":"https://rxresu.me/mcp"}}}{"mcpServers":{"amruthpillai-reactive-resume":{"serverUrl":"https://rxresu.me/mcp"}}}命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。
工具
详细介绍
重要
Reactive Resume 现已迁移至 GitHub 上的
reactive-resume/reactive-resume。
GHCR 镜像发布至ghcr.io/reactive-resume/reactive-resume。
Docker Hub 仍使用amruthpillai/reactive-resume。
创建免费账户,导入现有简历或从头开始,并在撰写时查看完成后的页面。下载 PDF、Word、Markdown 或 JSON 文件,也可以通过公开链接分享简历。你还可以在自己的基础设施上运行整个应用程序。
你的数据由你掌控。本项目代码库采用 MIT 许可证开源,不含跟踪功能、广告,也没有付费套餐。可选的 AI 功能使用你连接的服务提供商;托管和服务提供商的使用可能会产生费用。

一起打造更好的简历
加入 Reactive Resume 的 Discord 社区,与他人交流简历反馈、获取使用或自托管此应用的帮助,并与其他用户和贡献者分享想法。
- **简历反馈:**发布一份已隐去个人信息的简历并提出一个具体问题,或帮助他人改进简历。
- **帮助:**查找故障排除讨论,并在专门的论坛帖子中提问。
- **参与贡献:**与构建 Reactive Resume 的人讨论想法、翻译和代码。
反馈来自社区中的其他成员。发布前,请删除联系方式和其他私人信息。
功能
撰写、设计与检查
- 重新设计的编辑器,支持在页面上直接编辑内容并点击选择
- 由 Forme 驱动的实时 PDF 预览和浏览器下载,并在后台工作线程中渲染
- 富文本、自定义分区、拖放排序,以及格式统一的结构化日期
- 自动保存、本地恢复未保存的简历草稿,以及最多 200 步撤销
- 适配手机和平板电脑的布局、键盘快捷键,以及可搜索的命令栏
模板与自定义
- 18 款模板,包括全新的 Porygon 和 Smeargle,可使用你自己的内容预览
- 单栏、双栏和适用于 ATS 的模板筛选器
- 字体预设、自定义字体、颜色、间距、A4 和 Letter 纸张,以及左侧或右侧边栏
- 通过调整密度、页边距和文字大小,让超出范围的内容适应页面
- 使用 Semantic CSS 编写的自定义样式,并提供页面元素选择器
简历检查
- 可读性检查,并将发现的问题标记在相关行上
- 职位描述关键词匹配,并可查看招聘软件读取的文本
- 检查导出的 PDF,并可选择启用 AI 写作审阅
- 公开的 ATS 检查器,可在浏览器中读取 PDF,无需账户
文档与求职信
- 一个可搜索的简历和求职信资料库,支持标签、排序,以及网格或列表视图
- 独立的求职信,拥有自己的编辑器、导出功能和版本历史
- 将求职信关联到简历,以同步发件人信息和设计;也可单独自定义
- 自动保存和命名版本,可预览并恢复
- 垃圾桶支持撤销,并提供 30 天恢复期限
求职申请
- 提供列表、看板、洞察和日历视图,用于追踪从已保存到录用的申请
- 通过 URL 或粘贴的职位描述保存职位;可选通过 Firecrawl、Tavily 或 Exa 搜索关键词
- 为已保存的职位定制简历并起草求职信
- 追踪联系人、备注、后续跟进、申请结果以及已发送的文档
- 安排面试、导出日历事件,并以 CSV 格式导入或导出申请信息
AI 助手
- 在简历或求职信旁使用助手,对话与相应文档关联
- 显示修改内容和原因的编辑建议;可逐条接受或拒绝
- 润色选定文本、审阅写作,并根据简历和职位描述起草求职信
- 连接 OpenAI、Anthropic、Google Gemini、OpenRouter、Ollama 或其他受支持的提供商和兼容端点
- 可选网页搜索和网页内容读取;自托管用户可配置共享 AI 和网页访问提供商
导入、导出与分享
- 导入 Reactive Resume JSON、JSON Resume、LinkedIn 数据导出文件、PDF 和 Word 文件
- JSON、LinkedIn 和可读 PDF 导入无需 AI;导入 Word 文件需要连接提供商
- 将简历和求职信导出为 PDF、Word (DOCX)、Markdown 或 JSON
- 通过公开链接分享简历,可选择密码保护,并查看浏览量和下载统计
- 提供 REST API 和 MCP 服务,用于文档管理、导入、导出、检查和申请工作流
隐私与控制
- 使用 Docker、Vercel、Cloudflare Workers 自托管,或在 Hostinger 上一键部署
- 无追踪或广告;可导出账户数据或删除账户
- 通行密钥、双重身份验证和关联的登录提供商
- 多种界面语言、浅色/深色/系统主题,以及减少动态效果支持
模板
Azumarill |
铜镜怪 |
菊草叶 |
百变怪 | |
耿鬼 |
冰鬼护 |
铁壳蛹 |
拉普拉斯 | |
叶鱼 |
大岩蛇 |
猫老大 |
皮卡丘 |
独角犀牛 |
Ditgar |
喵喵 |
巨钳螳螂 |
多边兽 |
图图犬 |
快速开始
使用托管应用开始撰写,或使用 Docker 和 Docker Compose 在本地构建此检出版本:
# Clone the repository
git clone --depth=1 https://github.com/reactive-resume/reactive-resume.git reactive-resume
cd reactive-resume
# Create your local configuration
cp .env.example .env
# Edit .env: set AUTH_SECRET and a separate ENCRYPTION_SECRET.
# Generate each secret with: openssl rand -hex 32
# Build the app and start PostgreSQL, Redis, and SeaweedFS
docker compose up -d --build
# Open http://localhost:3000 in your browser
此操作会构建检出的源代码。若要使用已发布镜像进行部署,请参阅 Docker 指南。若要进行源代码开发,请参阅开发环境设置指南。
技术栈
| 类别 | 技术 |
|---|---|
| Web 应用 | React 19 SPA、TanStack Router 和 Vite |
| 服务端 | 运行于 Node.js 24 或 Cloudflare Workers 上的 Hono |
| 语言 | TypeScript |
| Monorepo | pnpm 和 Turborepo |
| 数据库 | PostgreSQL 和 Drizzle ORM |
| API | oRPC、OpenAPI REST 和 MCP |
| 身份验证 | Better Auth |
| 样式 | Tailwind CSS |
| UI 组件 | Base UI + 共享 UI 包 |
| 状态管理 | Zustand + TanStack Query |
| PDF 渲染 | Forme,使用 PDF.js 作为查看器 |
| 富文本 | TipTap |
| 本地化 | Lingui |
文档
完整文档位于 docs.rxresu.me:
| 指南 | 说明 |
|---|---|
| 入门指南 | 首次设置和基本用法 |
| v6 新变化 | 变更内容以及熟悉的功能移至何处 |
| 检查简历 | 可读性、职位匹配和写作评估 |
| 使用助手 | 请求修改并审阅拟议的编辑 |
| 撰写求职信 | 创建求职信并将其关联到简历 |
| 跟踪求职申请 | 已保存的职位、阶段、面试和见解 |
| 导出简历 | 下载 PDF、Word、Markdown 和 JSON |
| API 和 MCP | 连接脚本和外部助手 |
| 自托管 | 部署到自己的基础设施 |
| 从 v5 迁移 | 迁移和集成变更 |
| 开发环境设置 | 本地开发环境 |
| 项目架构 | 代码库结构和包边界 |
自托管
Reactive Resume 在所有环境中运行相同的应用:使用 PostgreSQL 存储数据,并使用存储服务保存上传内容。选择最适合你管理需求的方案。
| 选项 | 适用场景 | 指南 |
|---|---|---|
| Hostinger | 开箱即用的 VPS,无需配置 | Hostinger 指南 |
| Vercel | 无服务器,数据库和存储均由托管服务提供 | Vercel 指南 |
| Cloudflare Workers | Workers、R2 和你自己的 PostgreSQL | Cloudflare 指南 |
| Docker and Kubernetes | 你自己的服务器、家庭实验室或集群 | Docker · Kubernetes |
v6 中的 PDF 生成在浏览器和服务器上都使用 Forme。无需 Browserless、Chromium 或外部打印服务。可以移除旧版
PRINTER_*和BROWSERLESS_*环境变量。
Hostinger
最快的入门方式是在 Hostinger 上一键部署,价格从每月 $6.49 起。其 VPS 套餐包含现成的 Reactive Resume 模板,可配置 Docker 环境并为你启动应用,还提供每周备份和 Docker 管理器 UI——因此你可以完全跳过配置步骤。
请参阅 Hostinger 指南,了解该模板会配置哪些内容,以及之后需要进行哪些设置,例如电子邮件、自定义域名和关闭注册。
Vercel
Vercel 会通过部署向导配置 Neon PostgreSQL、私有 Blob 存储和 Upstash Redis。请提供两个持久密钥,并使用 Services 框架预设。静态资源由前端服务运行,Hono 则通过后端服务处理应用路由和 API。请参阅 Vercel 指南,了解配置步骤、限制以及可选的 SMTP/OAuth 设置。
Cloudflare Workers
Cloudflare 部署需要 Workers Paid,并使用 Static Assets、私有 R2 存储、SQLite Durable Objects,以及通过 Hyperdrive 连接的 PostgreSQL。请提供现有的 PostgreSQL 数据库,并在部署前应用迁移。有关设置和运行时限制,请参阅 Cloudflare 指南。
Docker 和 Kubernetes
此应用需要:
- PostgreSQL — 用于账户、文档、应用和助手对话
- 上传存储 — 持久化本地目录或兼容 S3 的存储桶,例如 SeaweedFS
- Redis(可选)— 用于实例间共享协调以及可恢复的助手回复
- SMTP(可选)— 用于验证和密码重置邮件
已发布的版本可从 Docker Hub 和 GitHub Container Registry 获取(latest 指向最新的稳定版本):
# Docker Hub
docker pull amruthpillai/reactive-resume:latest
# GitHub Container Registry
docker pull ghcr.io/reactive-resume/reactive-resume:latest
完整说明请参阅 Docker 指南或 Kubernetes 指南。要在 NAS 上运行?请参阅 Synology 和 UGREEN 指南。
配置
所有设置都列在环境变量参考中。自托管用户还可以配置共享 AI 和求职服务以及单点登录。
从 v5 升级
应用 v6 迁移前,请备份数据库和上传内容,并停止所有 v5 实例。旧版视觉样式规则需要手动转换;API 和 MCP 集成也有变更。请按照从 v5 迁移进行操作。
支持
Reactive Resume 始终是免费的开源软件。如果它帮助你找到工作或节省了时间,请考虑支持项目的持续开发:
其他支持方式:
- 为此代码库点星
- 报告可复现的 bug,并提出可执行的功能建议
- 在 GitHub Discussions 中帮助其他用户
- 改进文档
- 协助翻译
Star 历史
每一份贡献都有帮助,无论是修正错别字还是添加新功能。
- Fork 代码仓库
- 创建功能分支(
git checkout -b feature/amazing-feature) - 使用 Conventional Commits 提交更改(
git commit -m 'feat: add amazing feature') - 将更改推送到该分支(
git push origin feature/amazing-feature) - 创建 Pull Request
如何在本地运行项目,请参阅开发环境设置指南。
维护者每周会查看 status: needs triage 队列。经过分类的 Bug 会标记为 status: confirmed;功能提案会标记为 status: accepted;需要补充详细信息的报告会标记为 status: needs info。
许可证
MIT — 你可以随意使用。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。