Skip to content

【开源自荐】 AI简历优化器 JadeAI:50 套模板、拖拽编辑、AI 对话优化、多格式导出,Docker 一键部署 #9058

@twwch

Description

@twwch

JadeAI

AI 驱动的智能简历生成器

拖拽编辑、实时 AI 优化、50 套专业模板、多格式导出,轻松打造高质量简历。


项目地址

https://github.com/twwch/JadeAI

截图展示

模板画廊 简历编辑器
模板画廊 简历编辑器
AI 填充简历 AI 图片简历解析
AI 填充简历 AI 图片简历解析
AI 优化 AI 语法检查
AI 优化 AI 语法检查
语法一键修复 JD 匹配分析
语法一键修复 JD 匹配分析
多格式导出 创建分享链接
多格式导出 创建分享链接
简历分享页
简历分享页

功能特性

简历编辑

  • 拖拽编辑器 — 可视化拖拽排列简历模块与条目
  • 行内编辑 — 点击任意字段,直接在画布上编辑
  • 50 套专业模板 — 经典、现代、极简、创意、ATS 友好、时间线、北欧风、瑞士风等多种风格
  • 主题定制 — 颜色、字体、间距、页边距实时预览调整
  • 撤销 / 重做 — 完整编辑历史(最多 50 步)
  • 自动保存 — 可配置保存间隔(0.3s–5s),支持手动保存

AI 能力

  • AI 聊天助手 — 编辑器内集成对话式 AI,支持多会话和持久化历史
  • AI 一键生成简历 — 输入职位、经验、技能,自动生成完整简历
  • 简历解析 — 上传已有 PDF 或图片,AI 自动提取全部内容
  • JD 匹配分析 — 对比简历与职位描述:关键词匹配、ATS 评分、改进建议
  • 求职信生成 — 基于简历和 JD 的 AI 定制求职信,可选语气(正式 / 友好 / 自信)
  • 语法与写作检查 — 检测弱动词、模糊描述和语法问题,返回质量评分
  • 多语言翻译 — 支持 10 种语言互译,保留专业术语原文
  • 灵活 AI 供应商 — 支持 OpenAI、Anthropic 及自定义 API 端点;用户在应用内自行配置密钥

导出与分享

  • 多格式导出 — PDF(Puppeteer + Chromium)、DOCX、HTML、TXT、JSON
  • 链接分享 — 基于 Token 的分享链接,支持密码保护
  • 浏览统计 — 追踪分享简历的查看次数

简历管理

  • 多简历仪表盘 — 网格和列表视图、搜索、排序(按日期、名称)
  • 复制与重命名 — 快捷简历管理操作
  • 新手引导 — 交互式分步引导,帮助新用户快速上手

其他

  • 双语界面 — 完整的中文(zh)和英文(en)界面
  • 暗色模式 — 浅色、深色、跟随系统三种主题
  • 灵活认证 — Google OAuth 或浏览器指纹(零配置即用)
  • 双数据库 — SQLite(默认,零配置)或 PostgreSQL

技术栈

层级 技术
框架 Next.js 16 (App Router, Turbopack)
UI React 19, Tailwind CSS 4, shadcn/ui, Radix UI
拖拽 @dnd-kit
状态管理 Zustand
数据库 Drizzle ORM (SQLite / PostgreSQL)
认证 NextAuth.js v5 + FingerprintJS
AI Vercel AI SDK v6 + OpenAI / Anthropic
PDF Puppeteer Core + @sparticuz/chromium
国际化 next-intl
数据校验 Zod v4

快速开始

Docker 部署(推荐)

# 先生成一个密钥
openssl rand -base64 32

docker run -d -p 3000:3000 \
  -e AUTH_SECRET=<你生成的密钥> \
  -v jadeai-data:/app/data \
  twwch/jadeai:latest

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

AUTH_SECRET 为必填项,用于会话加密。通过 openssl rand -base64 32 生成。

AI 配置: 无需服务端 AI 环境变量。每位用户在应用内的 设置 > AI 中自行配置 API Key、Base URL 和模型。

使用 PostgreSQL
docker run -d -p 3000:3000 \
  -e AUTH_SECRET=<你生成的密钥> \
  -e DB_TYPE=postgresql \
  -e DATABASE_URL=postgresql://user:pass@host:5432/jadeai \
  twwch/jadeai:latest
使用 Google OAuth 登录
docker run -d -p 3000:3000 \
  -e NEXT_PUBLIC_AUTH_ENABLED=true \
  -e AUTH_SECRET=your-secret \
  -e GOOGLE_CLIENT_ID=xxx \
  -e GOOGLE_CLIENT_SECRET=xxx \
  -v jadeai-data:/app/data \
  twwch/jadeai:latest

本地开发

环境要求

  • Node.js 18+
  • pnpm 9+

安装

git clone https://github.com/twwch/JadeAI.git
cd JadeAI

pnpm install
cp .env.example .env.local

配置环境变量

编辑 .env.local

# 数据库(默认 SQLite,无需额外配置)
DB_TYPE=sqlite

# 认证(默认指纹模式,无需额外配置)
NEXT_PUBLIC_AUTH_ENABLED=false

AI 配置: 无需服务端环境变量。每位用户在应用内的 设置 > AI 中自行配置 API Key、Base URL 和模型。

查看 .env.example 了解所有可用选项(Google OAuth、PostgreSQL 等)。

初始化数据库并启动

# 生成并执行迁移
pnpm db:generate
pnpm db:migrate

# (可选)填充示例数据
pnpm db:seed

# 启动开发服务器
pnpm dev

打开 http://localhost:3000

环境变量

变量 必填 默认值 说明
AUTH_SECRET 会话加密密钥
DB_TYPE sqlite 数据库类型:sqlitepostgresql
DATABASE_URL PostgreSQL 时 PostgreSQL 连接字符串
SQLITE_PATH ./data/jade.db SQLite 数据库文件路径
NEXT_PUBLIC_AUTH_ENABLED false 启用 Google OAuth(true)或使用指纹模式(false
GOOGLE_CLIENT_ID OAuth 时 Google OAuth 客户端 ID
GOOGLE_CLIENT_SECRET OAuth 时 Google OAuth 客户端密钥
NEXT_PUBLIC_APP_NAME JadeAI 应用显示名称
NEXT_PUBLIC_APP_URL http://localhost:3000 应用 URL
NEXT_PUBLIC_DEFAULT_LOCALE zh 默认语言:zhen

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions