开源了一个 AI 简历生成器 JadeAI:50 套模板、拖拽编辑、AI 对话优化、多格式导出,Docker 一键部署

开源了一个 AI 简历生成器 JadeAI:50 套模板、拖拽编辑、AI 对话优化、多格式导出,Docker 一键部署

开源了一个 AI 简历生成器 JadeAI:50 套模板、拖拽编辑、AI 对话优化、多格式导出,Docker 一键部署

GitHub: https://github.com/twwch/JadeAI

大家好,分享一个我最近开源的项目 —— JadeAI,一个 AI 驱动的智能简历生成器。

做这个项目的出发点很简单:市面上的简历工具,要么功能够用但收费不低,要么免费但模板丑 / 导出带水印 / AI 能力缺失。作为开发者,我想做一个真正好用、完全免费、可以自托管的简历工具,所有 AI 能力用你自己的 API Key,数据完全掌握在自己手里。


先看效果

模板画廊

内置 50 套专业设计模板,覆盖经典、现代、极简、创意、ATS 友好、北欧风、瑞士风、日式等多种风格,适配不同行业和求职场景。

模板画廊

简历编辑器

拖拽式编辑器,所见即所得。点击任意字段直接编辑,拖拽模块调整顺序,右侧实时预览效果。支持撤销/重做(50 步),自动保存不怕丢数据。

简历编辑器

核心功能

1. AI 一键生成简历

输入你的目标职位、工作年限和核心技能,AI 自动生成一份完整的、结构化的简历。不用对着空白页发愁了。

AI 填充简历

2. 图片/PDF 简历解析

手里有一份旧简历的 PDF 或照片?直接上传,AI 自动识别并提取所有内容,填入编辑器。省去手动录入的时间。

AI 图片简历解析

3. AI 对话优化

编辑器内集成了 AI 聊天助手,你可以直接用自然语言和 AI 对话:

  • “帮我优化工作经历的描述”
  • “用更专业的措辞重写这段项目经历”
  • “给我的技能部分补充一些关键词”

AI 理解你的简历上下文,给出针对性的建议,并能直接修改简历内容。支持多会话和历史记录持久化。

AI 优化

4. 语法与写作检查

一键检测简历中的弱动词、模糊描述、语法错误,给出质量评分和逐条修改建议。

AI 语法检查

发现问题后,可以一键应用修复,不用手动逐个改:

语法一键修复

5. JD 匹配分析

粘贴目标岗位的 JD(职位描述),AI 对比你的简历和 JD 的匹配度:

  • 关键词覆盖率
  • ATS(简历筛选系统)通过率评分
  • 缺失的关键技能和经验
  • 针对性的改进建议

帮你把简历调整到和目标岗位高度匹配。

JD 匹配分析

6. 更多 AI 能力

除了上面展示的,还支持:

  • 求职信生成 — 基于简历和 JD 自动生成求职信,可选正式 / 友好 / 自信语气
  • 多语言翻译 — 支持 10 种语言互译,保留专业术语原文

7. 多格式导出

支持 PDF、DOCX、HTML、TXT、JSON 五种格式导出。PDF 使用 Puppeteer + Chromium 服务端渲染,高保真还原模板样式,每套模板都有独立的导出处理器。

多格式导出

8. 链接分享

生成一个分享链接,可以直接发给 HR 或朋友查看你的在线简历。支持密码保护和浏览次数统计。

创建分享链接

分享出去的简历页面长这样,干净专业:

简历分享页

技术栈

给关注技术实现的同学列一下:

层级技术
框架Next.js 16 (App Router, Turbopack)
UIReact 19, Tailwind CSS 4, shadcn/ui, Radix UI
拖拽@dnd-kit
状态管理Zustand(5 个 Store:简历、编辑器、设置、UI、引导)
数据库Drizzle ORM(同时支持 SQLite 和 PostgreSQL)
认证NextAuth.js v5 + FingerprintJS(零配置指纹识别降级方案)
AIVercel AI SDK v6 + OpenAI / Anthropic / 自定义端点
PDFPuppeteer Core + @sparticuz/chromium
国际化next-intl(中文 / 英文完整双语)
数据校验Zod v4

几个技术亮点:

  • 双数据库支持:默认 SQLite 零配置开箱即用,也可以切换到 PostgreSQL。通过 Drizzle ORM 的适配器模式实现,一套 Schema 两种数据库。
  • AI 密钥完全客户端:服务端不存储任何 AI API Key,用户在浏览器内配置,存在 localStorage 里。你的 Key 你做主。
  • 指纹认证降级:不想配 OAuth?默认使用浏览器指纹作为用户标识,打开就能用,零门槛。
  • 50 套模板 + 独立导出:每套模板都有对应的服务端 PDF 导出处理器,确保导出效果和预览一致。

快速部署

Docker 一行命令

docker run -d -p 3000:3000 \ -e AUTH_SECRET=$(openssl rand -base64 32)\ -v jadeai-data:/app/data \ twwch/jadeai:latest 

打开 http://localhost:3000,首次启动自动完成数据库迁移和初始化。

只需要一个 AUTH_SECRET 环境变量(用于会话加密),其他全部零配置。AI 功能在应用内的 设置 > AI 里自己配置 API Key 和模型。

本地开发

git clone https://github.com/twwch/JadeAI.git cd JadeAI pnpminstallcp .env.example .env.local pnpm db:generate &&pnpm db:migrate pnpm dev 

未来规划

  • 简历版本历史 / 快照回滚
  • 简历照片上传
  • 独立简历质量评分(无需 JD)
  • 移动端适配
  • 简历分组 / 标签管理
  • 更多 AI 模型支持

写在最后

项目完全开源,Apache 2.0 协议。如果觉得有用,欢迎 Star 支持一下:

GitHub: https://github.com/twwch/JadeAI

有问题或建议欢迎提 Issue,也欢迎 PR 贡献代码。

如果你正在找工作或者帮朋友改简历,可以试试 Docker 一键部署,AI 能力配上自己的 Key 就能用。

Read more

离开舒适区之后:从三年前端到 CS 硕士——我在韩国亚大读研的得失

离开舒适区之后:从三年前端到 CS 硕士——我在韩国亚大读研的得失

过去一年多,我做了一个挺重要的决定:辞职,去韩国留学读研。 这段时间我几乎没怎么学习新的前端内容,但也没有停下来。我在韩国亚洲大学完成了计算机科学与技术(大数据)硕士的学习,在高强度的节奏里重新建立了自己的方法,也因为持续写博客获得了一些机会,担任本科 Web 实训课讲师。现在这段留学告一段落,我也准备重新回到前端领域,把这段经历当作一份额外的积累带回去。这篇复盘主要是想把这一路的收获、疲惫和一些值得记住的瞬间记录下来,留给未来的自己,也分享给路过的你。 文章目录 * 1、写在前面:我为什么会从前端转去读研 * 2、留学生活的关键词:卷、AI、被看见以及校庆的“放开玩” * 3、我的“结果卡片” * 4、得:这一年半我真正收获的东西 * 5、失:我付出的代价 * 6、期末周:我经历过的“高强度交付周” * 7、前端三年经验,如何在读研里“迁移复用” * 8、我在韩国的学习系统:

By Ne0inhk

OpenClaw Webhook 详解:完整指南

Webhook 是将 OpenClaw 从“聊天助手”快速转变为“响应式系统”的最佳方式。无需等待您主动发送消息,GitHub 可以在 PR 提交时通知 OpenClaw,Stripe 可以在支付失败时通知 OpenClaw,n8n 也可以按计划通知 OpenClaw。OpenClaw 会接收这些传入事件,并将其转换为代理运行或轻量级唤醒操作,然后将结果路由回您实际使用的任何渠道。 本文重点介绍 OpenClaw 网关上的 HTTP Webhook。OpenClaw 中还有另一种东西,在一些文档和配置中也被称为“钩子”。这些是网关内部的事件钩子,当本地生命周期事件触发时运行。它们也很有用,但 Stripe 或 GitHub 与服务器通信的方式并非通过它们。 如果您的 OpenClaw 实例是刚刚部署在 VPS 上,并且您仍然使用 SSH 进行基本操作,那么首先要确保网关稳定,

By Ne0inhk
【前端实战】从 try-catch 回调到链式调用:一种更优雅的 async/await 错误处理方案

【前端实战】从 try-catch 回调到链式调用:一种更优雅的 async/await 错误处理方案

目录 【前端实战】从 try-catch 回调到链式调用:一种更优雅的 async/await 错误处理方案 一、问题背景:async/await 真的解决了一切麻烦吗? 二、真实业务场景下的痛点 1、错误需要“分阶段处理” 2、try-catch 的引入打破了 async/await 的链式范式 三、借鉴 Go、Rust 语言特性,错误也是一种结果 1、错误优先风格替代 try-catch 2、封装一个 safeAsync 工具函数 四、进阶版 safeAsync 函数设计 五、结语         作者:watermelo37         ZEEKLOG优质创作者、华为云云享专家、阿里云专家博主、腾讯云“

By Ne0inhk
35道常见的前端vue面试题,零基础入门到精通,收藏这篇就够了

35道常见的前端vue面试题,零基础入门到精通,收藏这篇就够了

来源 | https://segmentfault.com/a/1190000021936876 今天这篇文章给大家分享一些常见的前端vue面试题。有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。 对于前端来说,尽管css、html、js是主要的基础知识,但是随着技术的不断发展,出现了很多优秀的mv*框架以及小程序框架。因此,对于前端开发者而言,需要对一些前端框架进行熟练掌握。这篇文章我们一起来聊一聊VUE及全家桶的常见面试问题。 1、请讲述下VUE的MVVM的理解? MVVM 是 Model-View-ViewModel的缩写,即将数据模型与数据表现层通过数据驱动进行分离,从而只需要关系数据模型的开发,而不需要考虑页面的表现,具体说来如下: Model代表数据模型:主要用于定义数据和操作的业务逻辑。 View代表页面展示组件(即dom展现形式):负责将数据模型转化成UI 展现出来。 ViewModel为model和view之间的桥梁:监听模型数据的改变和控制视图行为、处理用户交互。通过双向数据绑定把 View 层和 Model 层连接了起来,而View

By Ne0inhk