| name | QYresume |
| description | 中文求职简历一站式生成器:AI 编译经历 + 可视化编辑,支持单页单栏、紧凑型单栏、单页双栏、双页四种布局,一键导出专业 PDF,附 HR 开场白文案;当用户输入"/QYresume"或要求制作、修改、复刻中文简历时使用。 |
QYresume:中文求职简历一站式生成器
把用户的真实经历翻译成招聘方容易理解、可以继续追问、也能由证据支撑的中文简历。支持 AI 生成和可视化编辑双入口,覆盖单页单栏、紧凑型单栏、单页双栏、双页四种布局,通过 Chromium 脚本导出专业 PDF,并附 HR 开场白文案。
核心原则
- 不虚构经历:正式职位、公司、时间、教育背景、成果指标必须有用户证据,没有证据时写可核验的定性结果或
待确认。
- 不冒领功劳:只有能说明决策、交付和结果时,才使用"主导""负责人""Owner"等强动词;没有直接负责的内容明确写"团队负责"或"待确认"。
- 页数自律:内容超过单页且压缩会损害可读性时,改为双页或双栏,不把字号缩到不可读。
- 隐私保护:不把用户真实个人信息写入 skill 模板、示例或 README;发现隐私信息时只写入用户要求的简历文件。
- 布局保护:可视化编辑只允许修改文字内容和内选格式,不能拖拽结构、不能改 grid 比例、不能增删栏目。
双入口
| 入口 | 触发方式 | 适用场景 |
|---|
| 入口 A:AI 生成 | 用户给原始经历或描述目标岗位 | 从零开始、批量改写成不同岗位、需要经历编译 |
| 入口 B:可视化编辑 | 加载已有 HTML 或 AI 生成后直接进入 | 微调措辞、改格式、替换照片、最终定稿 |
两个入口共享同一套模板。入口 A 交付后自动进入入口 B 的可编辑状态。
入口 A:AI 生成工作流
步骤 1:收集材料
按"输入清单"盘点材料;缺少关键字段时按"缺失字段补问规则"补问,无法补齐时使用 待补充 或 待确认 占位。
如果用户上传 PDF、已有简历、截图、图片或文档,先提取内容并检查布局;截图类输入还要分析栏位、间距、字体层级、颜色、照片位置和分页,再重建为 HTML。
步骤 2:经历编译
按以下结构重组用户的原始经历:
- 确认目标岗位、岗位描述、求职渠道和用户希望突出的方向。
- 输出 1—3 个岗位定位,区分稳妥版和进取版;进取版必须说明需要补充的证据。
- 按"动作 → 系统能力 → 业务价值 → 结果证据 → 个人边界"重写经历和项目要点。
- 生成简历顶部摘要(3-4 句话,突出核心竞争力和最重要的成果)。
- 用"原始说法—建议写法—事实证据—个人边界—风险/待确认"审计每个强主张。
更多细节见 references/compile-rules.md。
步骤 3:生成 HR 开场白
在简历内容编译完成后,额外输出一段 Boss 直聘/微信 HR 短开场白(80-160 字):
您好,我是 [姓名],[学校] [专业] 应届/在读。
专注于 [方向],有 [公司] [岗位] 实习经历,[一个核心成果]。
正在寻找 [目标岗位] 机会,和您岗位的 [具体匹配点] 比较契合。
方便进一步聊聊吗?
开场白模板和示例见 references/compile-rules.md。
步骤 4:选择模板
按"模板选择矩阵"选择布局类型和风格。默认决策:
- 后端开发岗位默认单页双栏:左侧教育/实习/项目,右侧技能/奖项/评价;
- 算法/数据分析岗位默认单页双栏:左侧项目/论文,右侧技能栈/工具;
- 前端/全栈岗位默认单页单栏:项目展示和技术栈优先;
- 产品/运营/商务岗位默认单页单栏:经历成果和业务指标优先;
- 校招经历较少默认单页单栏:教育、技能、项目补足版面;
- 校招内容较多但希望一页呈现默认紧凑型单栏:字号更小、间距更密;
- 社招或经历较多默认双页:工作经历按时间倒序展开。
完整矩阵见 references/template-matrix.md。
步骤 5:生成 HTML
使用选定模板的语义化 HTML 结构:
- 单页单栏:
assets/templates/one-column/index.html
- 紧凑型单栏:
assets/templates/one-column-compact/index.html
- 单页双栏:
assets/templates/two-column/index.html
- 双页:
assets/templates/two-page/index.html
保持模板原有的语义标签(section/article/h2/ul/header/aside),只替换内容。
步骤 6:导出 PDF
使用 scripts/export-pdf.mjs 通过 Chromium 脚本导出专业 PDF:
npm install
node scripts/export-pdf.mjs <输出PDF路径> [输入HTML路径]
或按布局类型自动选择模板:
node scripts/export-pdf.mjs <输出PDF路径> --layout=one-column
node scripts/export-pdf.mjs <输出PDF路径> --layout=one-column-compact
node scripts/export-pdf.mjs <输出PDF路径> --layout=two-column
node scripts/export-pdf.mjs <输出PDF路径> --layout=two-page
重要:输出路径必须使用用户工作目录的绝对路径,确保产物生成在用户项目目录下,而非 skill 目录内。示例:
node <skill目录>/scripts/export-pdf.mjs <用户工作目录>/output/resume.pdf --layout=two-column
node scripts/export-pdf.mjs skills/QYresume/output/resume.pdf
如果用户没有 Node 环境,提供浏览器打印方案作为后备:Chrome/Edge → 另存为 PDF → A4 → 背景图形开启 → 页眉页脚关闭 → 缩放 100%。
步骤 7:交付
默认交付:可编辑 .html 文件 + .pdf 文件 + 使用的模板说明 + PDF 导出 QA 结果 + HR 开场白文案。
交付文件必须放在用户工作目录(如 <用户工作目录>/output/),不要放在 skill 目录中。建议的交付结构:
<用户工作目录>/
├── output/
│ ├── resume.html # 可编辑 HTML
│ ├── resume.pdf # 导出 PDF
│ └── hr-message.txt # HR 开场白
入口 B:可视化编辑工作流
步骤 1:加载 HTML
打开已有的简历 HTML 文件。
步骤 2:激活编辑
页面顶部工具条默认显示"编辑"按钮。点击后进入编辑模式:
- 文字编辑:直接点击选中任意文字修改
- 字体:工具条下拉框切换微软雅黑/宋体/黑体/Arial/Georgia
- 文字颜色:颜色选择器修改选中文字颜色
- 加粗:按钮对选中文字加粗或取消加粗
- 替换照片:按钮上传证件照替换占位图
步骤 3:约束保护(不可跳过)
编辑模式下强制执行以下约束:
- 只能改文字内容:不能拖拽/删除 section、不能改 grid 结构、不能增删栏目
- 格式操作仅限选中文字:加粗、字体、颜色只对
::selection 生效,不能整段改
- 布局保护:工具条里不放"增删栏目"按钮,侧栏和主栏的比例是锁死的
- 链接一致:保持 email、phone、GitHub、作品集链接与可见文本一致
详细约束见 references/editing-constraints.md。
步骤 4:导出
编辑完成后,用与入口 A 相同的脚本或浏览器打印导出 PDF。
模板体系
类型 1:单页单栏
- 结构:教育背景 → 实习 → 项目 → 技能,自上而下
- 适用:经历较少的校招、海外投递、产品/运营岗位
- 文件:
assets/templates/one-column/index.html
类型 1.5:紧凑型单栏
- 结构:与单页单栏相同,但字号更小(12px vs 14px)、间距更密
- 适用:内容略多但希望保持一页单栏整洁的场景
- 文件:
assets/templates/one-column-compact/index.html
类型 2:单页双栏
- 结构:左栏(主栏,约 60%)= 教育/实习/项目;右栏(侧栏,约 40%)= 技能/奖项/证书/评价
- 适用:经历丰富的后端/算法岗,一页内信息密度最大化
- 关键规则:
- 打印时双栏必须保持并排,不能被响应式布局拆成单栏
- 侧栏用
border-left + 背景色 + 微阴影做视觉区分
- 内容溢出时优先扩成双页,而不是压缩侧栏
- 文件:
assets/templates/two-column/index.html
类型 3:双页
- 结构:第一页(教育 + 核心实习/项目);第二页(项目续 + 技能 + 校园/评价)
- 适用:经历超过一页、社招、需要展示完整项目细节
- 文件:
assets/templates/two-page/index.html
资源清单
字体
模板内置 EB Garamond 英文字体(assets/fonts/),配合中文系统字体实现高质量中英文混排:
eb-garamond-regular.woff2:常规字重
eb-garamond-semibold.woff2:半粗字重
eb-garamond-bold.woff2:粗体字重
图标
SVG 图标精灵(assets/icons/sprite.svg)包含常用图标:
#icon-phone:电话
#icon-mail:邮箱
#icon-github:GitHub
#icon-link:链接
#icon-location:定位
#icon-school:学校
#icon-briefcase:工作
#icon-code:代码
#icon-tool:工具
#icon-star:技能
#icon-award:奖项
#icon-user:用户
#icon-wechat:微信
#icon-print:打印
#icon-edit:编辑
#icon-file:文件
#icon-calendar:日历
#icon-shield:证书
#icon-linkedin:LinkedIn
使用方式:<svg class="icon"><use href="#icon-xxx"></use></svg>
PDF 导出与验收
必须通过脚本导出
浏览器 Print / Save as PDF 仅用于预览诊断,正式交付必须通过 scripts/export-pdf.mjs。
验收标准
导出后检查:
- 页数符合预期(单页/双页)
- 双栏布局在 PDF 中保持并排,未被拆成单栏
- 文本可选中、可复制,不能是截图(由脚本自动验证文本层)
- 没有工具栏、页眉页脚、URL、日期或多余空白页
- 中文字体可读,字号不低于正常投递可接受范围
- 照片清晰且比例正确(如使用占位图,交付说明提醒替换)
pdfinfo <输出PDF路径>
pdftotext <输出PDF路径> -
缺失资源兜底
如果 assets/templates/ 下的模板文件不存在或损坏:
- 显式说明"模板资源未随 skill 一起安装"
- 启用后备方案:创建简洁 A4 可编辑 HTML,保留浏览器编辑、打印隐藏工具栏和 PDF 导出能力
- 交付说明中写明当前使用的是后备模板及其限制
- 不把缺失资源重新伪造为"已使用官方模板"
参考文档
references/input-checklist.md:输入清单与缺失字段补问规则
references/template-matrix.md:完整模板选择矩阵
references/compile-rules.md:经历编译规则、证据审计、动词强度表、HR 开场白模板
references/editing-constraints.md:可视化编辑约束细节
references/data-schema.md:简历 JSON 数据结构字段详解
references/examples.md:不同岗位简历示例片段与 HR 开场白示例