Auto Jobs Applier AI Agent - 申请工作智能代理


关于 Auto_Jobs_Applier_AI_Agent

Auto_Jobs_Applier_AI_Agent 是一个人工智能代理,它使工作申请过程自动化。利用人工智能,它使用户能够以自动化和个性化的方式申请多个工作。


正在寻求扩大我们的开源软件(FOSS)维护者团队!如果你来自非技术背景,你可以成为项目管理团队的一员,处理问题分类,并塑造项目。如果你是技术人员,你可以参与代码审查,参与发布,并构建这个产品的更好版本。

Discord 联系我们 surapuramakhil

Auto_Jobs_Applier_AIHawk 正在不断发展,您的反馈、建议和贡献非常宝贵。请随时打开问题、提出增强建议或提交拉取请求,以帮助改进项目。让我们共同努力,将 Auto_Jobs_Applier_AIHawk 打造成为全球求职者的强大工具。


简介

Auto_Jobs_Applier_AIHawk是一款前沿的、自动化的工具,旨在彻底改变求职和申请过程。在当今竞争激烈的就业市场中,机会转瞬即逝,这款程序为求职者提供了显著的优势。通过利用自动化和人工智能的力量,Auto_Jobs_Applier_AIHawk使用户能够高效且个性化地申请大量相关职位,最大化他们获得理想工作的机会。


现代求职的挑战

在数字化时代,求职环境发生了巨大的变化。虽然在线平台打开了世界的大门,但也加剧了竞争。求职者往往发现自己花费大量时间浏览列表、定制申请和重复填写表格。这个过程不仅耗时,而且情感上也很耗费精力,导致求职疲劳和错失机会。


Auto_Jobs_Applier_AIHawk:您的个人求职助手

Auto_Jobs_Applier_AIHawk作为应对这些挑战的颠覆性解决方案登场。它不仅仅是一个工具;它是您不知疲倦的、全天候的求职伙伴。通过自动化求职过程中最耗时的方面,它使您能够专注于真正重要的事情——准备面试和发展您的专业技能。


特性

  1. 智能求职自动化
    • 可定制的搜索标准
    • 持续扫描新职位空缺
    • 智能过滤以排除不相关列表
  2. 快速高效的申请提交
    • 一键申请
    • 使用您的个人资料信息自动填写表格
    • 自动附加文档(简历,求职信)
  3. 人工智能驱动的个性化
    • 针对雇主特定问题的动态响应生成
    • 调整语气和风格以适应公司文化
    • 关键字优化以提高申请的相关性
  4. 大量管理同时保证质量
    • 批量申请功能
    • 质量控制措施
    • 详细申请跟踪
  5. 智能过滤和黑名单
    • 公司黑名单以避免不受欢迎的雇主
    • 标题过滤以关注相关职位
  6. 动态简历生成
    • 自动为每个申请创建定制简历
    • 根据职位要求定制简历内容
  7. 安全的数据处理
    • 使用YAML文件安全地管理敏感信息

安装

在以下操作系统上已成功运行:

  • 操作系统:
    • Windows 10
    • Ubuntu 22
  • Python版本:
    • 3.10
    • 3.11.9(64b)
    • 3.12.5(64b)

选项1:使用Python虚拟环境

1、下载和安装Python:
确保您已安装最新的Python版本。如果没有,请从Python的官方网站下载并安装它。有关详细说明,请参阅以下教程:


2、下载并安装 Google Chrome:

  • 官网链接下载并安装最新版本的GoogleChrome。

3、克隆仓库:

git clone https://github.com/feder-cr/Auto_Jobs_Applier_AIHawk.git

cd Auto_Jobs_Applier_AIHawk

4、激活虚拟环境:

python3 -m venv virtual
source virtual/bin/activate

或对于基于Windows的机器

.\virtual\Scripts\activate

5、安装所需的软件包:

pip install -r requirements.txt

选项 2: 使用 Conda

1、安装 Conda:
下载并安装官网链接

或者从Anaconda网站安装Anaconda


2、创建并激活 conda 环境:

# Create new environment
conda create -n aihawk python=3.11

# Activate environment
conda activate aihawk

3、克隆仓库:

git clone https://github.com/feder-cr/Auto_Jobs_Applier_AIHawk.git
cd Auto_Jobs_Applier_AIHawk

4、安装依赖项:

# Install from requirements.txt
pip install -r requirements.txt

配置


1. secrets.yaml

此文件包含敏感信息。切勿分享或提交此文件到版本控制。

llm_api_key: [Your OpenAI or Ollama API key or Gemini API key]
  • 替换为您的OpenAI API密钥以进行GPT集成
  • 要获取API密钥,请按照以下教程操作:https://medium.com/@lorenzozar/how-to-get-your-own-openai-api-key-f4d44e60c327
  • 注意:您需要向OpenAI帐户添加信用才能使用API。您可以通过访问OpenAI计费仪表板来添加信用。
  • 根据OpenAI社区和我们的用户报告,在设置OpenAI帐户并购买所需积分后,用户仍然拥有Free帐户类型。这会阻止他们无限制地访问OpenAI模型,并且每天只允许200个请求。这可能会导致运行时错误,例如:
Error code: 429 - {'error': {'message': 'You exceeded your current quota, please check your plan and billing details. ...}}
{'error': {'message': 'Rate limit reached for gpt-4o-mini in organization <org> on requests per day (RPD): Limit 200, Used 200, Requested 1.}}

您可以在 official page 获得更多信息。


2. work_preferences.yaml

此文件定义了您的职位搜索参数和机器人行为。每个部分包含您可以自定义的选项:

  • remote:[true/false]

    • Set to true to include remote jobs, false to exclude them
  • hybrid: [true/false]

    • Set to true to include hybrid jobs, false to exclude them
  • onsite: [true/false]

    • Set to true to include onsite jobs, false to exclude them
  • experience_level:

    • Set desired experience levels to true, others to false
  • job_types:

    • Set desired job types to true, others to false
  • date:

    • Choose one time range for job postings by setting it to true, others to false
  • positions:

    • 列出你感兴趣的职位,每行一个

    • Example:

      positions:
        - Software Developer
        - Data Scientist
      
  • locations:

    • 列出您要搜索的位置,每行一个

    • Example:

      locations:
        - Italy
        - London
      
  • apply_once_at_company: [True/False]

    • 设置为True,每家公司仅应用一次,False,每家公司允许多个应用
  • distance: [number]

    • 以英里为单位设置求职半径
    • Example: distance: 50
  • companyBlacklist:

    • 列出您想从搜索中排除的公司,每行一个

    • Example:

      companyBlacklist:
        - Company X
        - Company Y
      
  • titleBlacklist:

    • 列出您要避免的职位标题中的关键字,每行一个

    • Example:

      titleBlacklist:
        - Sales
        - Marketing
      

2.1 config.py -自定义LLM模型端点
  • LLM_MODEL_TYPE
    • 选择型号类型,支持:openai/ollama/claude/gemini
  • LLM_MODEL
    • 选择大模型,目前支持:
      • openai: gpt-4o
      • ollama: llama2, mistral:v0.3
      • claude: any model
      • gemini: any model
  • LLM_API_URL
    • LLM模型的API端点链接
      • openai:https://api.pawan.krd/cosmosrp/v1
      • ollama:http://127.0.0.1:11434/
      • claude:https://api.anthropic.com/v1
      • gemini:https://aistudio.google.com/app/apikey
  • 注意:要运行本地Ollama,请遵循此处的指南:Ollama部署指南

3. plain_text_resume.yaml

此文件包含您的简历信息,以结构化格式呈现。请填写您的个人详细信息、教育背景、工作经验和技能。这些信息用于自动填写申请表和生成定制简历。

每个部分都有特定的字段需要填写:

  • personal_information:
    • 此部分包含用于识别您和提供联系信息的个人基本信息。
      • name: 您的名字。
      • surname: 您的姓氏或家族名称。
      • date_of_birth: 您的出生日期,格式为 DD/MM/YYYY。
      • country: 您目前居住的国家。
      • city: 您目前居住的城市。
      • address: 您的完整地址,包括街道和门牌号。
      • zip_code: 您的邮政/ZIP码。
      • phone_prefix: 您电话号码的国际拨号代码(例如,美国为+1,英国为+44)。
      • phone: 您的电话号码,不带国际拨号代码。
      • email: 您的主要电子邮件地址。
      • github: 如果适用,您的GitHub个人资料URL。
      • linkedin: 如果适用,您的LinkedIn个人资料URL。
    • 示例
  personal_information:
    name: "Jane"
    surname: "Doe"
    date_of_birth: "01/01/1990"
    country: "USA"
    city: "New York"
    address: "123 Main St"
    zip_code: "520123"
    phone_prefix: "+1"
    phone: "5551234567"
    email: "jane.doe@example.com"
    github: "https://github.com/janedoe"
    linkedin: "https://www.linkedin.com/in/janedoe/"
  • education_details
    • 这一节概述了您的学术背景,包括获得的学位和相关的课程。

      • 学位:获得的学位类型(例如,学士学位,硕士学位)。
      • 大学:您学习过的大学或机构的名称。
      • 最终评估成绩:您的平均成绩点或相当于学术表现的衡量标准。
      • 开始日期:您学习开始的年份。
      • 毕业年份:您毕业的年份。
      • 学习领域:您学习的专业或重点领域。
      • 考试:列出您所修课程或科目及其相应的成绩。
    • 示例:

  education_details:
    - education_level: "Bachelor's Degree"
      institution: "University of Example"
      field_of_study: "Software Engineering"
      final_evaluation_grade: "4/4"
      start_date: "2021"
      year_of_completion: "2023"
      exam:
        Algorithms: "A"
        Data Structures: "B+"
        Database Systems: "A"
        Operating Systems: "A-"
        Web Development: "B"
  • experience_details
    • 此部分详细说明您的工作经验,包括工作职位、公司和主要职责。

      • 职位:您的职位或角色名称。
      • 公司:您工作过的公司或组织的名称。
      • 雇佣期间:您在该职位上的雇佣时间段,使用格式 MM/YYYY - MM/YYYY。
      • 地点:公司的所在城市和国家。
      • 行业:公司运营的行业或领域。
      • 主要职责:在职位中拥有的主要职责或任务列表,例如:职责:“使用React和Node.js开发Web应用程序”。
      • 技能获取:通过此职位获得技能或专业知识,例如:“React”。
    • 示例:

  experience_details:
    - position: "Software Developer"
      company: "Tech Innovations Inc."
      employment_period: "06/2021 - Present"
      location: "San Francisco, CA"
      industry: "Technology"
      key_responsibilities:
        - responsibility: "Developed web applications using React and Node.js"
        - responsibility: "Collaborated with cross-functional teams to design and implement new features"
        - responsibility: "Troubleshot and resolved complex software issues"
      skills_acquired:
        - "React"
        - "Node.js"
        - "Software Troubleshooting"

  • projects
    • 包含你参与过的显著项目,包括个人或专业项目。

      • 名称:项目的名称或标题。
      • 描述:对项目涉及内容或目的的简要总结。
      • 链接:如果有的话,项目的URL(例如,GitHub仓库,网站)。
    • 示例:

    projects:
      - name: "Weather App"
        description: "A web application that provides real-time weather information using a third-party API."
        link: "https://github.com/janedoe/weather-app"
      - name: "Task Manager"
        description: "A task management tool with features for tracking and prioritizing tasks."
        link: "https://github.com/janedoe/task-manager"
  • achievements
    • 突出你获得的重要成就或奖项。

      • 名称:成就的标题或名称。
      • 描述:对成就及其重要性的简要解释。
    • 示例:

  achievements:
    - name: "Employee of the Month"
      description: "Recognized for exceptional performance and contributions to the team."
    - name: "Hackathon Winner"
      description: "Won first place in a national hackathon competition."
  • certifications
    • 包含您所获得的所有专业认证。

      • name: “PMP”
        description: “项目管理专业人士认证,由项目管理协会(PMI)颁发”
    • 示例:

  certifications:
    - "Certified Scrum Master"
    - "AWS Certified Solutions Architect"
  • languages:
    • 详细说明您会说的语言以及您在每个语言上的熟练程度。

      • language: 语言名称。
      • proficiency: 您的熟练程度(例如,母语,流利,中等)。
    • 示例:

  languages:
    - language: "English"
      proficiency: "Fluent"
    - language: "Spanish"
      proficiency: "Intermediate"
  • interests:

    • 提及可能与你的职业生涯相关的专业或个人兴趣。

      • interest: 一份兴趣或爱好列表。
    • 示例:

  interests:
    - "Machine Learning"
    - "Cybersecurity"
    - "Open Source Projects"
    - "Digital Marketing"
    - "Entrepreneurship"
  • availability:
    • 陈述您当前的可用工时或通知期。

      • notice_period:您开始新角色所需的时间(例如,“2周”,“1个月”)。
    • 示例:

  availability:
    notice_period: "2 weeks"
  • salary_expectations:
    • 提供您期望的薪资范围。

      • salary_range_usd: 您期望的薪资范围,以美元表示。
    • 示例:

  salary_expectations:
    salary_range_usd: "80000 - 100000"
  • self_identification:
    • 提供与个人身份相关的信息,包括性别和代词。

      • gender: 你的性别身份。
      • pronouns: 你使用的代词(例如,He/Him, She/Her, They/Them)。
      • veteran: 你是否是退伍军人(例如,是,否)。
      • disability: 你是否有残疾(例如,是,否)。
      • ethnicity: 你的种族。
    • 示例:

  self_identification:
    gender: "Female"
    pronouns: "She/Her"
    veteran: "No"
    disability: "No"
    ethnicity: "Asian"
  • legal_authorization
    • 标示您在各个地点工作的法律能力。

      • eu_work_authorization:您是否被授权在欧洲联盟工作(是/否)。
      • us_work_authorization:您是否被授权在美国工作(是/否)。
      • requires_us_visa:您是否需要签证才能在美国工作(是/否)。
      • requires_us_sponsorship:您是否需要担保才能在美国工作(是/否)。
      • requires_eu_visa:您是否需要签证才能在欧洲联盟工作(是/否)。
      • legally_allowed_to_work_in_eu:您是否被法律允许在欧洲联盟工作(是/否)。
      • legally_allowed_to_work_in_us:您是否被法律允许在美国工作(是/否)。
      • requires_eu_sponsorship:您是否需要担保才能在欧洲联盟工作(是/否)。
      • canada_work_authorization:您是否被授权在加拿大工作(是/否)。
      • requires_canada_visa:您是否需要签证才能在加拿大工作(是/否)。
      • legally_allowed_to_work_in_canada:您是否被法律允许在加拿大工作(是/否)。
      • requires_canada_sponsorship:您是否需要担保才能在加拿大工作(是/否)。
      • uk_work_authorization:您是否被授权在英国工作(是/否)。
      • requires_uk_visa:您是否需要签证才能在英国工作(是/否)。
      • legally_allowed_to_work_in_uk:您是否被法律允许在英国工作(是/否)。
      • requires_uk_sponsorship:您是否需要担保才能在英国工作(是/否)。
    • 示例:

    legal_authorization:
    eu_work_authorization: "Yes"
    us_work_authorization: "Yes"
    requires_us_visa: "No"
    requires_us_sponsorship: "Yes"
    requires_eu_visa: "No"
    legally_allowed_to_work_in_eu: "Yes"
    legally_allowed_to_work_in_us: "Yes"
    requires_eu_sponsorship: "No"
    canada_work_authorization: "Yes"
    requires_canada_visa: "No"
    legally_allowed_to_work_in_canada: "Yes"
    requires_canada_sponsorship: "No"
    uk_work_authorization: "Yes"
    requires_uk_visa: "No"
    legally_allowed_to_work_in_uk: "Yes"
    requires_uk_sponsorship: "No"

  • work_preferences
    • 指定您对工作安排和条件的要求。

      • remote_work:您是否接受远程工作(是/否)。
      • in_person_work:您是否接受现场工作(是/否)。
      • open_to_relocation:您是否愿意为了工作而搬迁(是/否)。
      • willing_to_complete_assessments:您是否愿意完成工作评估(是/否)。
      • willing_to_undergo_drug_tests:您是否愿意接受药物检测(是/否)。
      • willing_to_undergo_background_checks:您是否愿意接受背景调查(是/否)。
    • 示例:

  work_preferences:
    remote_work: "Yes"
    in_person_work: "No"
    open_to_relocation: "Yes"
    willing_to_complete_assessments: "Yes"
    willing_to_undergo_drug_tests: "No"
    willing_to_undergo_background_checks: "Yes"

加上data_folder_example

data_folder_example文件夹包含一个工作示例,说明如何构建和填写机器人操作所需的文件。此文件夹可作为实际参考,帮助您正确设置求职机器人的工作环境。


内容

在此文件夹中,您将找到密钥文件的示例版本:

  • secrets.yaml
  • config.yaml
  • plain_text_resume.yaml

这些文件已经填充了虚构但真实的数据。它们向您显示要在每个文件中输入的正确格式和信息类型。


使用data_folder_example

使用此文件夹作为指南对以下方面特别有帮助:

  1. 了解每个配置文件的正确结构
  2. 查看每个字段的有效数据示例
  3. 填写个人文件时有一个参考点

使用

0、帐户语言

为确保机器人正常工作,您的帐户语言必须设置为英语。

1、数据文件夹:确保您的data_folder包含以下文件:

  • secrets.yaml
  • config.yaml
  • plain_text_resume.yaml

2、输出文件夹:包含机器人的输出。

  • data.json–收集模式的结果
  • failed.json失败的应用程序
  • open_ai_calls.json所有打给LLM模型的电话
  • skipped.json的json应用程序
  • success.json成功的应用程序

注意: answers.json不是输出文件夹的一部分,可以在项目的根目录中找到。它用于存储向用户提出的问题的答案。可用于用更正的答案更新机器人。搜索Select an option0Authorized,以及how many years of验证正确答案。

3、运行机器人:

Auto_Jobs_Applier_AIHawk在处理您的pdf简历方面提供了灵活性:

  • **动态简历生成:**如果您不使用--resume选项,机器人将自动为每个申请生成唯一的简历。此功能使用您的plain_text_resume.yaml文件中的信息,并根据每个特定的工作申请进行定制,通过为每个职位定制简历,可能会增加您成功的机会。
python main.py
  • 使用特定的简历:
    如果您想要为所有申请使用特定的PDF简历,请将您的简历PDF放入data_folder目录中,并使用--resume选项运行机器人:
python main.py --resume /path/to/your/resume.pdf
  • 使用colled模式:
    如果您只想收集工作数据以执行任何类型的数据分析,您可以使用带有--collect选项的bot。这将把从领英工作职位中找到的所有数据存储在output/data.json文件中。
python main.py --collect

故障排除


1. OpenAI API 速率限制错误

错误信息:

openai.RateLimitError: 错误代码:429 - {‘error’: {‘message’: ‘您已超出当前配额,请检查您的计划和个人信息。有关此错误更多信息,请阅读文档:https://platform.openai.com/docs/guides/error-codes/api-errors。’, ‘type’: ‘insufficient_quota’, ‘param’: None, ‘code’: ‘insufficient_quota’}}

解决方案:

  • 检查您的 OpenAI API 账单设置 https://platform.openai.com/account/billing
  • 确保您已为 OpenAI 账户添加有效的支付方式
  • 注意 ChatGPT Plus 订阅与 API 访问不同
  • 如果您最近添加了资金或升级,请等待 12-24 小时以使更改生效
  • 免费层有 3 RPM 的限制;至少花费 5 美元在 API 使用上以增加

2. 未找到“轻松申请”按钮

错误信息:

异常:未找到可点击的“轻松申请”按钮

解决方案:

  • 确保您已正确登录
  • 检查您针对的职位列表是否确实有“轻松申请”选项
  • 验证 config.yaml 文件中的搜索参数是否正确,并返回带有“轻松申请”按钮的职位
  • 尝试增加脚本的页面加载等待时间,以确保在搜索按钮之前所有元素都已加载

3. 职位申请中信息不正确

问题: 机器人提供的经验、CTC 和通知期数据不准确

解决方案:

  • 更新针对专业经验的提示
  • config.yaml 中添加当前 CTC、期望 CTC 和通知期的字段
  • 修改机器人逻辑以使用这些新的配置字段

4. YAML 配置错误

错误信息:

yaml.scanner.ScannerError : 在扫描简单键时

解决方案:

  • 复制示例 config.yaml 并逐步修改
  • 确保正确的 YAML 缩进和间距
  • 使用 YAML 验证工具
  • 避免不必要的特殊字符或引号

5. 机器人登录但未申请职位

问题: 机器人搜索职位但持续滚动而不申请

解决方案:

  • 检查是否存在安全检查或 CAPTCHA
  • 验证 config.yaml 职位搜索参数
  • 确保您的账户资料符合职位要求
  • 查看控制台输出以查找错误消息

一般故障排除提示

  • 使用脚本的最新版本
  • 验证所有依赖项都已安装并更新
  • 检查互联网连接稳定性
  • 如果问题持续存在,请清除浏览器缓存和Cookies

如需进一步帮助,请在GitHub存储库上创建一个问题,其中包含有关您的问题的详细信息,包括错误消息和您的配置(删除敏感信息)。


结论

Auto_Jobs_Applier_AIHawk 通过自动化和增强求职申请流程,在现代求职市场中提供了显著的优势。凭借动态简历生成和AI驱动的个性化等功能,它提供了无与伦比的灵活性和效率。无论是希望最大化求职成功机会的求职者,还是希望简化申请提交流程的招聘人员,或者是寻求提供更好服务的职业顾问,Auto_Jobs_Applier_AIHawk 都是一个宝贵的资源。通过利用尖端自动化和人工智能技术,这个工具不仅节省了时间,还在当今竞争激烈的职场中显著提高了求职申请的有效性和质量。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值