← 返回
未分类

Resume Studio

Professional resume generator. Use when user needs to create, optimize, or customize resumes for job applications. Supports Word and PDF output, multiple sty...
专业简历生成器,用于创建、优化或定制求职简历。支持Word和PDF输出,多种风格。
tobewin
未分类 clawhub v1.0.2 1 版本 100000 Key: 无需
★ 1
Stars
📥 399
下载
💾 0
安装
1
版本
#latest

概述

Resume Studio

Professional resume generator with ATS-friendly templates, multiple styles, and Word/PDF output.

Features

  • 📋 Smart Generation: AI-powered content optimization
  • 🎨 Multiple Styles: Classic, Modern, Creative, Minimal, Academic
  • 📄 Word Output: Professional .docx format
  • 👤 Photo Support: Optional photo area
  • 🌐 Web Research: Query job market trends
  • 📁 File Import: Import existing materials
  • 🎯 ATS-Friendly: Passes Applicant Tracking Systems
  • 🌍 Multi-Language: Chinese and English support
  • 🖥️ Cross-Platform: Windows, macOS, Linux

Trigger Conditions

  • "帮我写简历" / "Help me write a resume"
  • "生成求职简历" / "Generate job resume"
  • "优化我的简历" / "Optimize my resume"
  • "resume-studio"

Resume Styles

Classic (经典)

  • Traditional layout
  • Professional fonts
  • Suitable for: Finance, Law, Government

Modern (现代)

  • Clean design
  • Bold headers
  • Suitable for: Tech, Marketing, Design

Creative (创意)

  • Unique layout
  • Color accents
  • Suitable for: Design, Media, Art

Minimal (极简)

  • Simple structure
  • Focus on content
  • Suitable for: Academic, Research

Information Collection

Agent collects:

1. Basic Info
   - Name
   - Phone
   - Email
   - Location

2. Education
   - School
   - Degree
   - Major
   - GPA (optional)

3. Experience
   - Company
   - Position
   - Duration
   - Responsibilities

4. Skills
   - Technical skills
   - Languages
   - Certifications

5. Target Position
   - Job title
   - Industry
   - Specific requirements

Python Code

from docx import Document
from docx.shared import Pt, Cm, RGBColor
from docx.enum.text import WD_ALIGN_PARAGRAPH
from fpdf import FPDF
import os

class ResumeGenerator:
    def __init__(self, style='modern'):
        self.style = style
        self.data = {}
    
    def set_basic_info(self, name, phone, email, location=''):
        self.data['name'] = name
        self.data['phone'] = phone
        self.data['email'] = email
        self.data['location'] = location
    
    def add_education(self, school, degree, major, year, gpa=None):
        if 'education' not in self.data:
            self.data['education'] = []
        self.data['education'].append({
            'school': school,
            'degree': degree,
            'major': major,
            'year': year,
            'gpa': gpa
        })
    
    def add_experience(self, company, position, duration, responsibilities):
        if 'experience' not in self.data:
            self.data['experience'] = []
        self.data['experience'].append({
            'company': company,
            'position': position,
            'duration': duration,
            'responsibilities': responsibilities
        })
    
    def set_skills(self, technical=[], languages=[], certifications=[]):
        self.data['skills'] = {
            'technical': technical,
            'languages': languages,
            'certifications': certifications
        }
    
    def generate_docx(self, output_path):
        doc = Document()
        
        # Name
        name_para = doc.add_paragraph()
        name_para.alignment = WD_ALIGN_PARAGRAPH.CENTER
        name_run = name_para.add_run(self.data.get('name', 'Name'))
        name_run.font.size = Pt(24)
        name_run.bold = True
        
        # Contact
        contact = doc.add_paragraph()
        contact.alignment = WD_ALIGN_PARAGRAPH.CENTER
        contact_text = f"{self.data.get('phone', '')} | {self.data.get('email', '')}"
        if self.data.get('location'):
            contact_text += f" | {self.data['location']}"
        contact.add_run(contact_text)
        
        doc.add_paragraph()
        
        # Education
        doc.add_heading('Education', level=2)
        for edu in self.data.get('education', []):
            doc.add_paragraph(f"{edu['school']} - {edu['degree']} in {edu['major']} ({edu['year']})")
        
        # Experience
        doc.add_heading('Experience', level=2)
        for exp in self.data.get('experience', []):
            doc.add_heading(f"{exp['position']} at {exp['company']}", level=3)
            doc.add_paragraph(f"Duration: {exp['duration']}")
            for resp in exp['responsibilities']:
                doc.add_paragraph(f"• {resp}")
        
        # Skills
        doc.add_heading('Skills', level=2)
        skills = self.data.get('skills', {})
        if skills.get('technical'):
            doc.add_paragraph(f"Technical: {', '.join(skills['technical'])}")
        if skills.get('languages'):
            doc.add_paragraph(f"Languages: {', '.join(skills['languages'])}")
        if skills.get('certifications'):
            doc.add_paragraph(f"Certifications: {', '.join(skills['certifications'])}")
        
        doc.save(output_path)
        return output_path
    
    def generate_pdf(self, output_path):
        pdf = FPDF()
        pdf.add_page()
        
        # Name
        pdf.set_font('Helvetica', 'B', 20)
        pdf.cell(0, 15, self.data.get('name', 'Name'), new_x='LMARGIN', new_y='NEXT', align='C')
        
        # Contact
        pdf.set_font('Helvetica', '', 10)
        contact = f"{self.data.get('phone', '')} | {self.data.get('email', '')}"
        pdf.cell(0, 8, contact, new_x='LMARGIN', new_y='NEXT', align='C')
        pdf.ln(10)
        
        # Education
        pdf.set_font('Helvetica', 'B', 14)
        pdf.cell(0, 8, 'Education', new_x='LMARGIN', new_y='NEXT')
        pdf.ln(3)
        pdf.set_font('Helvetica', '', 11)
        for edu in self.data.get('education', []):
            pdf.cell(0, 6, f"{edu['school']} - {edu['degree']}", new_x='LMARGIN', new_y='NEXT')
        
        pdf.ln(8)
        
        # Experience
        pdf.set_font('Helvetica', 'B', 14)
        pdf.cell(0, 8, 'Experience', new_x='LMARGIN', new_y='NEXT')
        pdf.ln(3)
        pdf.set_font('Helvetica', '', 11)
        for exp in self.data.get('experience', []):
            pdf.set_font('Helvetica', 'B', 11)
            pdf.cell(0, 6, f"{exp['position']} at {exp['company']}", new_x='LMARGIN', new_y='NEXT')
            pdf.set_font('Helvetica', '', 10)
            pdf.cell(0, 5, f"Duration: {exp['duration']}", new_x='LMARGIN', new_y='NEXT')
            for resp in exp['responsibilities']:
                pdf.cell(0, 5, f"  • {resp}", new_x='LMARGIN', new_y='NEXT')
            pdf.ln(5)
        
        pdf.ln(8)
        
        # Skills
        pdf.set_font('Helvetica', 'B', 14)
        pdf.cell(0, 8, 'Skills', new_x='LMARGIN', new_y='NEXT')
        pdf.ln(3)
        pdf.set_font('Helvetica', '', 11)
        skills = self.data.get('skills', {})
        if skills.get('technical'):
            pdf.cell(0, 6, f"Technical: {', '.join(skills['technical'])}", new_x='LMARGIN', new_y='NEXT')
        if skills.get('languages'):
            pdf.cell(0, 6, f"Languages: {', '.join(skills['languages'])}", new_x='LMARGIN', new_y='NEXT')
        
        pdf.output(output_path)
        return output_path

# Example
resume = ResumeGenerator('modern')
resume.set_basic_info('John Doe', '13800138000', 'john@example.com', 'Beijing')
resume.add_education('Peking University', 'Bachelor', 'Computer Science', '2020-2024')
resume.add_experience('TechCorp', 'Software Engineer', '2024-present', [
    'Developed AI features',
    'Improved system performance by 50%'
])
resume.set_skills(['Python', 'AI', 'Cloud'], ['Chinese', 'English'], ['AWS Certified'])

resume.generate_docx('resume.docx')
resume.generate_pdf('resume.pdf')

Notes

  • ATS-friendly formatting
  • Professional typography
  • Multi-language support
  • Cross-platform compatible

版本历史

共 1 个版本

  • v1.0.2 当前
    2026-05-03 10:52 安全 安全

安全检测

腾讯云安全 (Keen)

安全,无风险
查看报告

腾讯云安全 (Sanbu)

安全,无风险
查看报告

🔗 相关推荐

Pptx Generator

tobewin
专业PPT生成器。Use when user wants to create editable PowerPoint presentations with professional layouts, multiple styles, and
★ 11 📥 13,419

China Legal Query

tobewin
中国法律法规查询工具。Use when user needs to search Chinese laws, regulations, judicial interpretations. Supports criminal law, civ
★ 2 📥 1,736

China Ecommerce Copywriter

tobewin
中国电商文案生成器。用于在淘宝、京东、拼多多平台创建商品标题、描述和促销文案,支持商品上架及营销文案等内容创意。
★ 2 📥 2,099