-
Notifications
You must be signed in to change notification settings - Fork 3.9k
Open
Labels
Description
JadeAI
AI 驱动的智能简历生成器
拖拽编辑、实时 AI 优化、50 套专业模板、多格式导出,轻松打造高质量简历。
项目地址
https://github.com/twwch/JadeAI
截图展示
| 模板画廊 | 简历编辑器 |
|---|---|
![]() |
![]() |
| AI 填充简历 | AI 图片简历解析 |
|---|---|
![]() |
![]() |
| AI 优化 | AI 语法检查 |
|---|---|
![]() |
![]() |
| 语法一键修复 | 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 |
| 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=falseAI 配置: 无需服务端环境变量。每位用户在应用内的 设置 > AI 中自行配置 API Key、Base URL 和模型。
查看 .env.example 了解所有可用选项(Google OAuth、PostgreSQL 等)。
初始化数据库并启动
# 生成并执行迁移
pnpm db:generate
pnpm db:migrate
# (可选)填充示例数据
pnpm db:seed
# 启动开发服务器
pnpm dev环境变量
| 变量 | 必填 | 默认值 | 说明 |
|---|---|---|---|
AUTH_SECRET |
是 | — | 会话加密密钥 |
DB_TYPE |
否 | sqlite |
数据库类型:sqlite 或 postgresql |
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 |
默认语言:zh 或 en |
Reactions are currently unavailable










