| name | qiaomu-campus-resume |
| description | 为大学生、应届生和实习求职者从 0 创建、定制或美化可投递简历:支持借鉴 Grill Me 的一问一答访谈,从零收集经历并生成 PDF;读取岗位 JD 与旧简历,建立要求—证据映射并针对性改写;在不改变事实的前提下优化已有简历内容结构或只美化排版;按用户明确要求一次生成六种不同风格的 ATS 友好 PDF 简历。适用于“采访我做简历”“没有简历从零问答”“根据 JD 定制简历”“优化/重排/美化已有简历”“一次生成多种风格简历”等请求;支持中文/英文及计算机、软件、AI、数据和其他校招岗位。使用 A-C-R-E 结构审校经历,并按 sparse / balanced / dense 自适应内容密度。禁止虚构经历或数字;默认生成一份最合适的单栏简历,只有用户明确要求比较时才批量生成。不要用于学术申请 CV、资深高管简历、作品集网站、代投职位或单纯模拟面试。
|
| metadata | {"author":"向阳乔木","version":"1.6.1","copyright":"Copyright (c) 向阳乔木","x":"https://x.com/vista8","github":"https://github.com/joeseesun/"} |
乔木大学生简历
把零散、真实的学生经历整理成可投递、可编辑、可复核的 HTML 与 PDF 简历。内容可信优先于修辞,岗位相关性优先于信息堆叠。
使用边界
- 适用:在校生、应届生、毕业三年内的早期职业求职者;默认兼顾中文校招与技术岗位。
- 不适用:学术申请 CV、资深高管履历、作品集网站、求职信、代投或招聘平台账号操作。
- 不承诺“通过率”“邀约率”或 ATS 分数;只能报告实际做过的结构、关键词、文本提取和文件检查。
- 不得虚构公司、项目、职责、技术栈、奖项、用户量或性能数字。所有可验证陈述必须进入事实证据链。
四种能力路由
先判断用户已有材料与明确意图,不把所有请求都拉回同一套采访:
| 入口 | 第一动作 | 完成条件 |
|---|
| 从 0 问答写简历 | 读取 对话式访谈与采集,从目标岗位或最强经历开始,每轮只问一个问题 | 事实账本通过访谈门禁并获得本人确认,再生成默认单主题 PDF |
| 提供旧简历优化 | 先提取并复述已有事实,不重复询问;用户要改内容时,只追问会改变表达的缺口 | 内容优化走完整证据门禁;只改排版走“排版快速路径” |
| 提供 JD 针对性定制 | 同时抽取 JD 必备条件、加分项与职责,建立 JD 要求 → 已有证据 / 缺口 → 简历位置 映射 | 只写有证据的关键词;缺口明确标记,不把 JD 要求伪装成候选人技能 |
| 一次生成多种风格 | 固定同一份已确认事实,直接使用 --all-themes 生成六套核心主题 | 六份 HTML/PDF、清单与批量验证全部通过,并逐页查看 |
排版快速路径:仅当用户明确要求“内容不改,只美化/重排/换模板”时使用。运行 extract_resume.py,展示提取到的姓名、教育、经历、技能和时间线摘要,请用户一次确认;随后以 source_resume 标记原文事实,运行 validate_resume.py 并渲染。不要强迫用户补两项新证据,不做未经请求的内容改写;若原文存在影响投递的矛盾、占位符或缺失联系方式,只问一个阻断问题,无法确认的内容省略或标为草稿。
Compact Workflow
-
建立工作目录:在用户工作区新建独立输出目录;保留原始文件,不覆盖、不改名、不上传外部服务。
-
按四种能力路由选择入口并启动对话:
- 有旧简历:运行
scripts/extract_resume.py 提取文本,并保留来源路径;扫描件无文本时,明确征得同意后才做 OCR。
- 无旧简历、信息不足或用户要求采访:必须读取 对话式访谈与采集,使用一问一答模式。每轮只问一个核心问题,并附上可被用户纠正的当前判断;不要发巨型问卷。
- 有岗位 JD:同时提取必备条件、加分项、工作内容、关键词和不匹配项;没有 JD 时按目标岗位族生成通用版。
-
深挖并维护事实账本:除纯排版快速路径外,优先沿最强经历逐层追问情境、个人职责、关键行动、结果、证据和面试可解释性;每 2–3 轮用不超过 5 条复述已确认事实与剩余缺口。把过程写入本地 interview-ledger.json,把可公开成果标注 evidence_type。遵循 真实性与证据。
-
确定策略:必须读取 简历写作与版式最佳实践 与 内容与岗位策略,建立 JD 要求 → 证据 → 简历位置 映射;选择目标岗位、语言和一页/两页上限。按 六主题系统 选择核心主题,并遵循 字体与印刷排版系统。用户提到 ResumeCollection、模板编号或要看更多简洁方案时,读取 ResumeCollection 简洁参考目录,选择单个重构预设或六预设对比输出。
-
通过生成门禁:从 0 创建、内容优化或 JD 定制时,运行 python3 scripts/assess_interview.py interview-ledger.json;目标岗位、基础信息、教育、两项可用证据、技能证据链、关键疑点和本人确认全部通过后,才进入最终生成。纯排版快速路径改为“来源提取成功、事实摘要获确认、source_resume 证据类型完整、validate_resume.py 通过”四项门禁。用户中途要求停止时,交付事实摘要与精确缺口;除非对应门禁通过,否则只可生成明确标注的草稿 JSON/HTML,不把 PDF 伪装成最终版。
-
确认并起草数据文件:先向用户展示“目标岗位 / 核心经历 / 可用数字 / 技能 / 舍弃项 / 仍有疑点”的简短事实摘要,获得明确确认。再按 数据契约 写出 resume-data.json;需要估算时必须保守、显式标记并由学生确认。
-
内容审校:按 A-C-R-E 检查每条 bullet 的动作、情境/范围、结果与证据;检查时间线、个人/团队边界、技能与项目对应关系、数字证据、拼写、链接、章节顺序和岗位关键词自然度。运行 validate_resume.py 后逐条处理弱职责词、过长 bullet、孤立技能和结果信号不足的警告;不要为了“每条都有数字”而制造数字。
-
渲染:默认只生成一份最合适的简历:
python3 scripts/render_resume.py resume-data.json --theme tech --output-dir output
默认根据岗位选择一个核心主题,并根据真实内容量自动选择 sparse / balanced / dense 密度,生成一份 HTML 与文本型 PDF;用户明确要求对比时,才使用 --all-themes 或参考预设批量命令。边框声明只允许页头和章节标题使用 border-bottom 分割线;禁止 border-radius、闭合边框、顶边、侧边线、侧边栏和卡片轮廓。无轮廓、无圆角的浅色页头 wash 或完整横向章节色带允许使用。中文 PDF 必须实际嵌入主题声明的本机字体;Kami 主题要求 TsangerJinKai02 W04,W05 仅在已安装时用于标题。
用户选择 ResumeCollection 参考预设时使用:
Router Rules
- 默认一页;先删除弱信息,当真实且岗位相关的实习/项目仍无法在不低于 9.1pt 正文的情况下清晰呈现时,才扩展到两页。
- 未指定风格时由内容与岗位决定一个默认主题并生成一份;明确要求对比时才生成六套,明确指定主题时只生成该主题。
- 用户说“一次生成多种/不同风格/都生成看看”时,默认一次生成六套核心主题,不先要求挑选单一模板;所有版本必须共用同一份事实数据。
- 用户只要求美化或重排旧简历时,走排版快速路径,保留原事实与措辞边界;不得把“美化”自动扩大为虚构量化结果或重写职业经历。
- 用户提供 JD 时,先给出要求—证据—缺口摘要,再按证据重排与改写;没有证据的 JD 关键词不得进入技能栏或经历 bullet。
- ResumeCollection 参考预设是显式选项,不混入默认核心六主题;指定编号时只生成该预设,要求比较时才生成全部六个参考预设。
- 参考预设只吸收排版骨架;禁止复制或打包上游 DOCX、预览图、照片、图标和字体。
- 六主题都是单栏与标准章节,不用“两栏更好看”作为牺牲 ATS 文本顺序的理由。
- 目标岗位不明确时,先从经历证据给出 1 个默认方向和最多 2 个备选;只有选择会显著改变内容时才追问。
- 对话访谈一次只问一个核心问题;问题必须附当前判断或推荐答案,允许学生直接纠正。不要在一条消息里批量索取整份简历字段。
- 沿一项经历深挖到“个人贡献—行动—结果—证据—可解释性”闭环后,再切换下一项;用户已主动覆盖的信息不得重复询问。
- “随便”“你看着办”“应该差不多”不等于事实确认;先给出具体复述并要求确认。用户可以随时说“跳过”“不知道”“停止采访”。
- 技术岗位优先展示项目、技术决策、个人贡献和可解释的结果;非技术岗位把“技能”替换为岗位相关能力与工具。
- 关键词只能在事实支持时加入;JD 提到的技能不能因为“匹配”而写进候选人简历。
- 弱经历优先挖掘范围、复杂度、约束、协作和完成度,不强行包装成商业影响。
- 输出中的联系方式和个人链接属于隐私数据;不写入报告、示例、日志或外部服务。
Gate Ladder
- 访谈门禁:从 0、内容优化或 JD 定制时,
assess_interview.py 必须确认目标、基础信息、教育、至少两项岗位相关证据、技能证据链、零阻断疑点和明确本人确认;未通过时只能交付事实摘要或草稿。
- 排版快速路径门禁:旧简历提取成功、事实摘要经用户确认、每条经历带
source_resume 证据类型、validate_resume.py 通过;不要求用户为了换版式重新完成两项深度访谈。
- 内容门禁:
validate_resume.py 必须确认关键字段、证据类型、时间线、链接、章节顺序和占位符;弱职责词、孤立技能、过长 bullet 与结果信号不足必须修复或给出事实依据。纯排版快速路径若因用户明确禁止改文案而保留来源警告,必须在交付中说明“只优化排版,未完成内容优化”,不得静默改写或声称内容已优化。
- 渲染门禁:HTML 与 PDF 必须由同一份 JSON 生成;至少有一条
border-bottom 分割线,border-radius 与闭合/顶部/侧边边框声明必须为 0。
- 主题门禁:核心主题 ID、参考预设 ID、核心色、目标字体与 HTML 的
data-theme / data-reference-style 必须一致;批量输出必须正好包含六套清单条目。
- 排版门禁:HTML 必须使用 1.5 排版系统与自适应密度标记,声明目标中文字体和拉丁字体层;px、italic、链接色块与技术名词错误大小写必须为 0。
- PDF 门禁:A4、1–2 页、未加密、文字可提取、包含关键字段;中文用
pdffonts 证明主题目标字体已实际嵌入,其中 Kami 必须为 TsangerJinKai02。
- 视觉门禁:每页实际查看,无裁切、重叠、断裂、孤行或异常空白后才能交付。
Output Contract
- 对话:自然聊天式一问一答;每轮 1 个核心问题,附当前判断;定期复述已确认事实与下一缺口。
- 事实账本:从 0、内容优化或 JD 定制时,本地
interview-ledger.json 保存已确认事实、疑点、证据关联和确认状态;纯排版快速路径可以不建访谈账本,但必须保留本地提取文本与一次事实确认。两者都不上传外部服务。
- PDF:默认一套;A4、1–2 页、文本可选择与提取、无密码、无远程字体/图片依赖。批量比较仅在用户明确要求时生成。
- HTML:与最终 PDF 同源、可本地修改、打印样式固定。
- JSON:保存内容与证据类型,不把私密来源备注渲染进公开简历。
- 六风格清单:记录主题 ID、中文名、适用场景与交付路径。
- 参考风格清单:选择批量参考预设时,额外记录预设 ID、基础主题、来源编号、来源链接与交付路径。
- 验证报告:逐主题记录结构、事实、色彩、字体、页数、文本提取与文件检查;审美结论必须来自实际逐页查看。
Copyright (c) 向阳乔木
X: https://x.com/vista8 · GitHub: https://github.com/joeseesun/