{"repo":"showlotus/ShowCV","free":true,"listed":false,"github":"https://github.com/showlotus/ShowCV","clone":"git clone https://github.com/showlotus/ShowCV.git","description":"基于 Markdown 的简历编辑器，支持实时预览、AI 优化、多种模板、PDF 导出和分享功能","language":"TypeScript","stars":18,"topics":["markdown","resume","markdown-resume","react","tailwindcss","vite","vercel"],"license":"MIT","category":"productivity","readme_excerpt":"ShowCV 基于 Markdown 的在线简历编辑器，专注于高效编辑、实时预览、AI 优化与高质量导出。核心功能客户端运行，分享与 AI 优化支持两种部署方式：Vercel Serverless Functions（云部署）或 Express + SQLite 自托管。 快速导航 - 核心能力 - 架构亮点 - 快速开始 - 开发与测试命令 - FAQ / 已知限制 - 贡献方式 核心能力 编辑体验 - 基于 CodeMirror 6 的 Markdown 编辑器，支持语法高亮与标题双栏语法 - 支持多份简历管理，可重命名、复制、删除并快速切换 预览与输出 - A4 实时预览，支持平铺与分页两种模式 - 基于浏览器打印能力导出 PDF，预览与导出样式保持一致 - 支持一键复制为 PNG 图片，便于投递与社交分享 模板与样式定制 - 内置 4 套简历模板（ T1 T4 ） - 可视化调整主题色、字体、字号、行高、段间距、页边距 - 支持头像上传、尺寸与圆角调节 AI 文本优化 - 支持社招/校招模式，通过 Cmd/Ctrl+J 快捷键触发 - SSE 流式生成 3 个优化版本（标准/数据驱动/专家级），可手动编辑后应用 - 自动保留 Markdown 格式（加粗、双栏 、行内代码、链接等） 分享协作 - 通过服务端 API 生成加密分享链接（AES-256-GCM），1 天有效，阅后即焚 - 对方打开链接后自动加载并导入简历内容，来源标记为 fromShare: true - 分享数据经紧凑编码 + zlib 压缩后存入 SQLite（自托管）或 Upstash Redis（Vercel KV） 架构亮点 - Zustand 持久化状态管理 ：核心数据持久化到 localStorage ，并通过 currentResume 维护当前简历缓存，保证编辑体验与数据一致性 - 双层主题系统 ：编辑器 UI 主题与简历样式主题解耦，便于统一 UI 风格与模板个性化定制 - 双 DOM 预览策略 ：可见预览用于交互，隐藏原尺寸副本用于截图，避免 zoom 带来的截图失真 - 分页布局算法 ：按 section 高度进行分页分配，保持分页预览稳定性 - 服务端分享链路 ：简历数据经紧凑编码 + zlib 压缩 + AES-256-GCM 加密后存储，阅后即焚，分享链接 1 天有效。云部署使用 Upstash Redis + Lua 原子 GET+DEL；自托管使用 SQLite + 事务保证原子性 快速开始 环境要求 ：Node.js 20+（Vite 8 要求）、pnpm（ pnpm@8.15.4 ） 默认开发地址： http://localhost:3080 如需本地使用分享功能，需同时启动 API 服务： Vercel 部署 项目部署在 Vercel 上，前端为静态站点， api/ 目录自动识别为 Serverless Functions。 环境变量 变量名 必需 说明 --- --- --- KV REST API URL 是 Upstash Redis REST URL（Vercel KV） KV REST API TOKEN 是 Upstash Redis REST Token（Vercel KV） ENCRYPTION KEY 是 AES-256-GCM 加密密钥（32 字节 hex 字符串） AI API KEY 否 AI 服务 API 密钥（不配置则 AI 优化功能不可用） AI BASE URL 否 AI 服务 API 地址 AI MOD","default_branch":null,"files":null,"tree":[],"storefront":"/r/showlotus","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/showlotus/ShowCV/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}