chat-to-resume

👤 user_6f76b889 📦 v1.0.0 ⭐ 4.5 ⬇️ 129 下載
✍️ 內容創作 免費

📖 技能介紹


name: chat-to-resume description: 極簡中英雙欄簡歷生成器。通過對話採集資訊,聯網搜尋匹配技能,生成可列印為 PDF 的 HTML 簡歷。當用戶需要製作/修改/更新簡歷、生成中英文求職簡歷、或提到"簡歷/resume/CV"時使用此 skill。 version: 1.2.0


Chat-to-Resume

對話式極簡中英雙欄簡歷生成器。基於使用者真實經驗生成 HTML 簡歷,支援一鍵列印 PDF。

硬約束(必須遵守)

  1. 嚴禁編造:只潤色/重組/格式化使用者提供的真實資訊。缺失欄位用 [佔位符] 替代並提示使用者補充。
  2. 年限匹配:聯網搜尋到的技能關鍵詞,權重必須與使用者年限正相關(1 年 → CRUD,3 年 → 調優,5 年 → 架構)。
  3. 增量修改:確認草稿後,修改指令僅替換指定欄位,不重新聯網搜尋。

狀態機工作流

S_pre: 匯入現有簡歷(可選)

  • 觸發:使用者說"匯入現有簡歷"/"我有一份簡歷"/"更新簡歷",並提供了檔案路徑或目錄
  • 支援格式:HTML(.html)、純文本 PDF(.pdf)、Word 文件(.docx)、Markdown(.md)、純文本(.txt
  • 動作
  • 讀取檔案內容。對 PDF 使用 pdftotext 或類似工具提取文字;對 Word 使用 python3 -m docx2txt 提取文字;HTML/MD/TXT 直接讀取
  • 分析提取的內容,解析出已有欄位:姓名、職業、年限、技能列表、專案經歷、教育背景、聯絡方式
  • 將解析結果填充到 S0 資料模型中,缺失欄位留空待問
  • 將提取到的文案作為上下文,進入 S1(聯網搜尋時結合現有內容一起最佳化)
  • 注意:匯入後仍需使用者確認關鍵欄位(姓名、職業、年限),不能跳過 S0 直接進入 S1

S0: 資訊採集

  • 觸發:使用者缺少 <職業><年限>(缺一不可)
  • 動作:反問缺失項,可選追問專案描述
  • 必填:職業、年限、姓名
  • 選填:專案經驗(至少 1 個)、教育背景、聯絡方式

S1: 聯網生成草稿

  • 前置:職業 + 年限均已提供
  • 動作
  • 聯網搜尋(定向來源 + 交叉驗證): 至少搜尋 3 個不同來源方向,綜合多源結果:
    • 方向 1 — 大廠招聘官網site:zhipin.com {職業} {年限}年site:linkedin.com {職業} {年限} years{大廠名} 招聘 {職業} JD
    • 方向 2 — 真實個人簡歷{職業} 簡歷 專案經驗 site:github.io{職業} resume portfolio 個人部落格{職業} 線上簡歷 個人主頁
    • 方向 3 — 招聘平臺 JD{職業} 招聘 JD 任職要求 BOSS直聘{職業} job description requirements 2025 2026{職業} {年限}年經驗 崗位職責
    • 交叉驗證:同一技能關鍵詞至少在 2 個來源出現才納入;來源權威性排序:大廠官網 > 招聘平臺 > 個人簡歷
  • 分析搜尋結果,提取:
    • 技能關鍵詞:該職業/年限對應的核心技能(Top 5-8 項),按年限過濾權重
    • 典型專案描述:該職業真實簡歷中常見的專案型別、工作內容表述方式、行業術語
    • JD關鍵詞:招聘需求中高頻出現的技能詞和業務場景詞
  • 專案描述按 STAR 框架組織(每個專案拆分為 S/T/A/R 四個維度,最後合併為一段流暢文字):
    • S (Situation) — 一句話交代專案背景/業務場景:為什麼做這個專案?業務規模多大?面臨什麼問題?
    • T (Task) — 一句話概括你的職責:你在這個專案裡擔任什麼角色?負責核心模組/從0搭建/主導重構?
    • A (Action) — 2-3 個技術動作:用了什麼方案?選了哪些技術棧?怎麼設計架構?遇到難點怎麼解決的?
    • R (Result) — 一句話結果(無資料則定性描述):效能改善/使用者增長/交付上線/得到複用/團隊認可等
    • 合併示例:"主導某電商平臺訂單系統重構(S),作為後端負責人(T),將單體應用拆分為微服務,引入 Redis 快取層最佳化查詢鏈路,設計冪等機制防止重複扣款(A),系統上線後支撐日均 50W+ 訂單量,核心介面 RT 從 2s 降至 200ms(R)。"
    • 如使用者沒有提供資料,R 寫定性描述如"系統平穩上線執行至今"而非編造數字
  • 參照搜尋結果中的真實表述風格,結合 STAR 框架產出潤色後的專案描述。寫作要求(重要)
    • ❌ 禁止編造精確數字("提升 25%""轉化率提高 32%"等假資料)
    • ❌ 禁止空洞的形容詞堆砌("卓越""傑出""顯著")
    • ✅ 用真實簡歷的寫法:描述做了什麼、用了什麼方法、解決了什麼問題
    • ✅ STAR 的 R 部分,使用者有真實資料就寫,沒有就用定性描述
    • ✅ 缺失細節用 [待補充: 具體內容] 標註
  • 輸出中文 Markdown 簡歷全文,再輸出英文 Markdown 簡歷全文(兩份獨立草稿)

S2: 使用者確認

  • 觸發:S1 輸出後
  • 動作:追加 請確認內容,或提出修改(如:將 Spring Boot 改為 Django,刪除 MySQL 等)。回覆"確認"或"OK"進入 HTML 生成。

S3: 增量修改

  • 觸發:使用者在 S2 狀態提出修改
  • 動作:精準替換指定欄位,重新輸出完整 Markdown,再次進入 S2

S4: 選擇模板

  • 觸發:使用者確認內容後(S2 回覆"確認"/"OK")
  • 動作:提供模板選項,讓使用者選擇佈局風格:

    請選擇簡歷模板: A. 雙欄 — 左側個人資訊+技能,右側經歷(經典網際網路風格) B. 單列 — 自上而下通欄佈局,簡潔流暢

  • 使用者選擇後進入 S_photo。如使用者未明確選擇,預設使用雙欄模板。

S_photo: 匯入照片(可選)

  • 觸發:使用者選擇模板後(S4)自動進入
  • 動作

    是否需要新增照片?如需新增,請提供照片檔案路徑(支援 JPG/PNG/WebP)。 如不需要,將生成無照片的純文字簡歷。

  • 使用者提供路徑 → 將路徑寫入 data.photo,進入 S5
  • 使用者跳過/拒絕 → data.photo 留空,進入 S5,簡歷不包含照片區域
  • 注意:此步驟為可選,無照片時簡歷中不顯示佔位圖

S5: 生成 HTML

  • 觸發:S_photo 完成(使用者新增照片或跳過)
  • 動作:使用 scripts/generate.py --data <json> --lang cn|en --template double|single -o <output> 生成 HTML 檔案,輸出路徑 + 列印指引
  • 有照片:data.photo 非空時注入 <img> 標籤
  • 無照片:data.photo 為空時不渲染照片區域
  • 無使用者確認時仍強制輸出草稿,但附註"已跳過確認環節,如需修改請告知"

S6: 結束

  • HTML 生成後,在對話中輸出免責宣告(僅在對話中輸出,不出現在 HTML 檔案中)。

資料模型

{
  "name": "[姓名]",
  "photo": "[照片路徑,可選,預設不顯示照片區域]",
  "phone": "[電話]",
  "email": "[郵箱]",
  "job_title": "後端開發工程師",
  "years": 3,
  "skills": ["Java", "Spring Boot", "MySQL"],
  "projects": [
    {
      "name": "[專案名稱]",
      "role": "核心開發",
      "star_s": "某電商平臺日均訂單量激增,原有單體架構效能瓶頸明顯",
      "star_t": "作為後端負責人主導訂單系統微服務化重構",
      "star_a": "將單體拆分為訂單/支付/庫存三個微服務,引入 Redis 快取層最佳化查詢鏈路,設計冪等機制防止重複扣款",
      "star_r": "系統上線後支撐日均 50W+ 訂單,核心介面 RT 從 2s 降至 200ms",
      "description_cn": "主導某電商平臺訂單系統重構(S),作為後端負責人(T),將單體應用拆分為微服務,引入 Redis 快取層最佳化查詢鏈路,設計冪等機制防止重複扣款(A),系統上線後支撐日均 50W+ 訂單量,核心介面 RT 從 2s 降至 200ms(R)。",
      "description_en": "Led order system refactoring for an e-commerce platform (S). As backend lead (T), decomposed monolith into microservices, optimized query chain with Redis caching, designed idempotent anti-duplicate mechanism (A). Achieved 500K+ daily orders with core API RT reduced from 2s to 200ms (R)."
    }
  ],
  "education": "[畢業院校 / 專業 / 時間]",
  "summary_cn": "[個人簡介,2-3 句]",
  "summary_en": "[Professional summary, 2-3 sentences]",
  "work_experience": [
    {
      "company": "[公司名]",
      "period": "[YYYY.MM - YYYY.MM]",
      "title": "[職位]",
      "points_cn": ["要點1", "要點2"],
      "points_en": ["Point 1", "Point 2"]
    }
  ]
}

star_s/t/a/r 為源欄位用於內部整理;description_cn/en 是將 STAR 合併後的最終展示文本,由 generate.py 直接注入模板。

技能過濾規則(按年限)

年限 技能權重 示例
0-1年 基礎語法、CRUD、框架入門 Java 基礎、Spring Boot 入門、MySQL 增刪改查
2-3年 效能調優、中介軟體、設計模式 JVM 調優、Redis 快取、訊息佇列、微服務基礎
4-5年 架構設計、團隊協作、專案管理 分散式架構、DDD、技術選型、Code Review
5年+ 技術規劃、跨團隊協作、業務理解 技術戰略、系統演進、團隊建設、成本最佳化

HTML 模板

共兩個模板,位於 assets/

7w4.net小蔥技能站,你的AI助手技能庫。

雙欄模板 (template.html)

  • 佈局:左欄 31% + 右欄 69%(CSS Grid)
  • 左欄(暖灰底 #f5f3f0 + 黑字):照片(圓形 88px)、姓名、職位、聯絡方式、技能標籤、教育背景、語言
  • 右欄(白底):個人簡介、專案經歷、工作經歷
  • 照片預留位:無照片時自動使用 SVG 人物剪影占位;有照片時顯示 <img> 標籤
  • 極簡黑白網際網路風格

單列模板 (template_single.html)

  • 佈局:頂部暖灰頭部欄(照片 80px 圓形 + 姓名 + 職位 + 聯絡方式),下方白色內容區
  • 依次排列:個人簡介 → 技能(黑邊框標籤) → 專案經歷 → 工作經歷 → 教育背景 → 語言
  • 技能以黑色輪廓標籤(border: 1px solid #d4d4d4)橫向排列

通用規範

  • 字型:System UI 棧(-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "PingFang SC", "Noto Sans SC", "Microsoft YaHei"),正文 9-10pt,姓名 21-24pt,標題 9pt 大寫
  • 配色:暖灰白體系 — 側邊欄 #f5f3f0(暖灰),主內容區 #fff(純白),灰色層級 #fafafa / #f5f5f5 / #e5e5e5 / #d4d4d4 / #a3a3a3 / #737373 / #525252 / #404040
  • 照片data.photo 欄位指定圖片路徑;預設時自動渲染內聯 SVG 人物剪影占位符(深灰底 + 淺灰輪廓)
  • 列印@media print):
  • A4 尺寸(210mm × 297mm),無邊距
  • page-break-inside: avoid 防止區塊跨頁
  • 按鈕:右下角懸浮黑色按鈕,大寫字母 儲存為 PDF / Save as PDF
  • 編碼:UTF-8
  • 注意:HTML 中不包含免責宣告

模板注入

使用 scripts/generate.py 生成 HTML:

python3 scripts/generate.py --data <json> --lang cn|en --template double|single -o <output>
  • --template double:使用雙欄模板 assets/template.html
  • --template single:使用單列模板 assets/template_single.html
  • 預設 double

JSON 資料結構見上方資料模型。generate.py 自動處理中/英欄位選擇。

輸出檔案

  • /var/minis/workspace/resume_{timestamp}.html — 最終 HTML 簡歷
  • /var/minis/workspace/resume_{timestamp}.md — Markdown 草稿備份

免責宣告(對話輸出用,不寫入 HTML)

每次 HTML 生成後,必須在對話中輸出以下內容:

🤖 AI 生成內容僅供參考。請務必核對並替換所有 [佔位符] 為本人真實、準確的資訊後,再用於正式求職。

邊界處理

場景 處理
無專案經驗 佔位符 [專案描述待補充],提示"建議補充 1 個個人練習專案,AI 可協助潤色"
聯網無結果 降級使用內建通用技能庫(按職業 + 年限匹配常見技能)
修改已確認內容 進入 S3,替換後重輸完整 Markdown,二次確認
直接生成跳過確認 強制輸出 Markdown 草稿 + 附註"已跳過確認,如需修改請告知"
HTML 生成失敗 使用內聯的 fallback 極簡模板,確保總能產出可用檔案

🤖 AI 評測

這個簡歷生成器質量不錯,能通過對話快速生成專業美觀的 HTML 簡歷,支援中英雙語和雙模板切換,列印效果乾淨整潔。它有完整的對話流程引導,生成速度快,輸出格式規範。不足之處是缺少示例參考,選擇模板時無法預覽效果,修改內容後也不能區域性更新,需要重新生成整個檔案。這些小缺陷影響了使用體驗,但整體功能可用性較好。

📊 多維度評分

適應性4.6
規範性4.5
有效性4.7
可靠性4.2
可信度4.9

📁 包含檔案 (5 個)

📄 README.md 2.5 KB
📄 SKILL.md 12.3 KB
📄 assets/template.html 7.7 KB
📄 assets/template_single.html 7.2 KB
📄 scripts/generate.py 6.8 KB