您的人工智能求职助手。自动化申请、获得个性化建议并更快地找到您梦想的工作。
加入我们的社区:Telegram(普通用户)| Discord(针对开源贡献者)
创始人feder-cr,AIHawk 联合创始人
由于 AIHawk 专注于他们的专有产品 - 解决公司招聘中的问题,目前该项目由一组开源贡献者领导、管理和维护,重点是构建工具来帮助求职者找到他们应得的工作。
项目维护者/领导:surapuramakhil、sarob、cjbbb
我们正在寻求扩大我们的 FOSS 维护团队!如果您来自非技术背景,您可以成为项目管理团队的一员,对问题进行分类并制定项目。如果你是技术人员,你可以参与代码评审,参与发布,构建这个产品更好的版本。
在 Discord 上联系 surapuramakhil。特别感谢
Auto_Jobs_Applier_AIHawk 正在不断发展,您的反馈、建议和贡献非常有价值。请随意提出问题、提出改进建议或提交拉取请求以帮助改进项目。让我们共同努力,使 Auto_Jobs_Applier_AIHawk 成为全球求职者的强大工具。
介绍
特征
安装
配置
用法
文档
故障排除
结论
贡献者
执照
免责声明
Auto_Jobs_Applier_AIHawk 是一款尖端的自动化工具,旨在彻底改变职位搜索和申请流程。在当今竞争激烈的就业市场中,机会可能会在眨眼之间消失,该计划为求职者提供了显着的优势。通过利用自动化和人工智能的力量,Auto_Jobs_Applier_AIHawk 使用户能够以个性化方式高效地申请大量相关职位,从而最大限度地提高获得梦想工作的机会。
在数字时代,求职格局发生了巨大的转变。虽然在线平台开辟了充满机遇的世界,但也加剧了竞争。求职者经常发现自己花费无数时间滚动列表、定制申请并重复填写表格。这个过程不仅耗时,而且会耗费精力,导致求职疲劳和错失机会。
Auto_Jobs_Applier_AIHawk 作为解决这些挑战的颠覆性解决方案介入。它不仅仅是一个工具;它是您不知疲倦、24/7 的求职伙伴。通过自动化求职过程中最耗时的部分,它可以让您专注于真正重要的事情 - 准备面试和发展您的专业技能。
智能求职自动化
可定制的搜索条件
持续扫描新空缺
智能过滤排除不相关的列表
快速高效的申请提交
一键应用
使用您的个人资料信息自动填写表格
自动文件附件(简历、求职信)
人工智能驱动的个性化
针对雇主特定问题的动态响应生成
色调和风格匹配以适应公司文化
关键词优化以提高应用相关性
数量管理与质量
批量应用能力
质量控制措施
详细的应用程序跟踪
智能过滤和黑名单
公司黑名单以避免不受欢迎的雇主
标题过滤以关注相关职位
动态简历生成
自动为每个应用程序创建量身定制的简历
根据职位要求定制简历内容
安全数据处理
使用 YAML 文件安全地管理敏感信息
已确认成功运行以下内容:
操作系统:
Windows 10
乌班图22
Python 版本:
3.10
3.11.9(64b)
3.12.5(64b)
下载并安装Python:
确保您安装了最新的 Python 版本。如果没有,请从Python官网下载并安装。详细说明请参考教程:
如何在 Windows 上安装 Python
如何在 Linux 上安装 Python
如何在 macOS 上下载并安装 Python
下载并安装谷歌浏览器:
从官方网站下载并安装最新版本的 Google Chrome 到默认位置。
克隆存储库:
git 克隆 https://github.com/feder-cr/Auto_Jobs_Applier_AIHawk.gitcd Auto_Jobs_Applier_AIHawk
激活虚拟环境:
python3 -m venv 虚拟
源虚拟/bin/激活
或对于基于 Windows 的机器 -
.virtualScriptsactivate
安装所需的软件包:
pip install -r 要求.txt
安装康达:
从官网下载并安装Miniconda
或者从 Anaconda 网站安装 Anaconda
创建并激活conda环境:
# 创建新环境conda create -n aihawk python=3.11# 激活环境conda activate aihawk
克隆存储库:
git 克隆 https://github.com/feder-cr/Auto_Jobs_Applier_AIHawk.gitcd Auto_Jobs_Applier_AIHawk
安装依赖项:
# 从requirements.txt安装pip install -rrequirements.txt
该文件包含敏感信息。切勿共享此文件或将此文件提交给版本控制。
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.}}
OpenAI 会自动更新您的帐户,但可能需要一些时间,从几个小时到几天不等。
您可以在官方页面上找到有关您的组织限制的更多信息。
要获取 Gemini API 密钥,请访问 Google AI for Devs
该文件定义您的求职参数和机器人行为。每个部分都包含您可以自定义的选项:
remote: [true/false]
设置为true
以包含远程作业,设置为false
以排除它们
hybrid: [true/false]
设置为true
以包含混合作业,设置为false
以排除它们
onsite: [true/false]
设置为true
则包含现场工作,设置为false
则排除现场工作
experience_level:
将所需的经验级别设置为true
,其他设置为false
job_types:
将所需的工作类型设置为true
,其他设置为false
date:
通过将其设置为true
来选择职位发布的一个时间范围,将其他时间范围设置为false
positions:
列出您感兴趣的职位,每行一个
例子:
职位: - 软件开发人员 - 数据科学家
locations:
列出您要搜索的位置,每行一个
例子:
地点: - 意大利 - 伦敦
apply_once_at_company: [True/False]
设置为True
时每个公司仅申请一次,设置为False
允许每个公司多次申请
distance: [number]
设置求职半径(以英里为单位)
示例: distance: 50
companyBlacklist:
列出您想要从搜索中排除的公司,每行一个
例子:
公司黑名单: - X 公司 - Y公司
titleBlacklist:
列出您想要避免的职位名称中的关键字,每行一个
例子:
标题黑名单: - 销售量 - 营销
LLM_MODEL_TYPE
:
选择模型类型,支持:openai / ollama / claude / gemini
LLM_MODEL
:
打开:gpt-4o
llama: llama2, 米斯特拉尔:v0.3
克劳德:任何型号
双子座:任何型号
选择目前支持的LLM模型:
LLM_API_URL
:
openai:https://api.pawan.krd/cosmosrp/v1
乌拉马:http://127.0.0.1:11434/
克劳德:https://api.anthropic.com/v1
双子座:https://aistudio.google.com/app/apikey
LLM 模型的 API 端点的链接
注意:要运行本地 Ollama,请遵循此处的指南:Ollama 部署指南
该文件包含您的结构化格式的简历信息。填写您的个人详细信息、教育背景、工作经验和技能。此信息用于自动填写申请表并生成定制简历。
每个部分都有特定的字段需要填写:
personal_information:
个人信息:姓名:“简” 姓氏:“多伊” 出生日期:“1990 年 1 月 1 日” 国家:“美国” 城市:“纽约” 地址:“主街123号” 邮政编码:“520123” 电话前缀:“+1” 电话:“5551234567” 电子邮件:“[email protected]” github:“https://github.com/janedoe” linkedin:“https://www.linkedin.com/in/janedoe/”
姓名:您的名字。
姓氏:您的姓氏或姓氏。
date_of_birth :您的出生日期,格式为 DD/MM/YYYY。
Country :您当前居住的国家/地区。
city :您当前居住的城市。
地址:您的完整地址,包括街道和门牌号。
zip_code :您的邮政编码。
phone_prefix :您的电话号码的国际拨号代码(例如,+1 表示美国,+44 表示英国)。
电话:您的电话号码,不带国际前缀。
email :您的主要电子邮件地址。
github :您的 GitHub 个人资料的 URL(如果适用)。
linkedin :您的 LinkedIn 个人资料的 URL(如果适用)。
本部分包含用于识别您的身份并提供联系信息的基本个人详细信息。
例子
education_details:
教育详情: - education_level:“学士学位”机构:“示例大学”field_of_study:“软件工程”final_evaluation_grade:“4/4”start_date:“2021”year_of_completion:“2023”考试:算法:“A”数据结构:“B+”数据库系统:“A” 操作系统:“A-” Web 开发:“B”
Degree :获得的学位类型(例如学士学位、硕士学位)。
University :您就读的大学或机构的名称。
Final_evaluation_grade :您的平均绩点或同等的学业成绩衡量标准。
start_date :您学习的开始年份。
graduate_year :您毕业的年份。
field_of_study :您学习的专业或重点领域。
考试:所修课程或科目及其各自成绩的列表。
本部分概述您的学术背景,包括获得的学位和相关课程。
例子:
experience_details:
经验详情: - 职位:“软件开发人员”公司:“Tech Innovations Inc.”工作期限:“06/2021 - 目前”位置:“加利福尼亚州旧金山”行业:“技术”关键职责: - 职责:“使用 React 和 Node.js 开发 Web 应用程序” - 职责:“与跨职能团队合作设计和实现新功能” - 职责:“排除并解决复杂的软件问题” 获得的技能: - “React” - “Node.js” - “软件故障排除”
职位:您的职位或角色。
公司:您工作过的公司或组织的名称。
job_period :您受雇于该角色的时间范围,使用格式 MM/YYYY - MM/YYYY。
位置:公司所在的城市和国家。
行业:公司经营的行业或领域。
key_ Responsible :您在该角色中所承担的主要职责或职责列表,例如职责:“使用 React 和 Node.js 开发 Web 应用程序”。
Skills_acquired :通过此角色获得的技能或专业知识,例如“React”。
本节详细介绍您的工作经历,包括工作角色、公司和主要职责。
例子:
projects:
name :项目的名称或标题。
描述:项目涉及内容或其目的的简要概述。
link :项目的 URL(如果可用)(例如 GitHub 存储库、网站)。
包括您从事过的著名项目,包括个人或专业项目。
例子:
项目: - 名称:“天气应用程序”描述:“使用第三方 API 提供实时天气信息的 Web 应用程序。”链接:“https://github.com/janedoe/weather-app” - 名称:“任务管理器”描述:“具有跟踪任务和确定任务优先级功能的任务管理工具。”链接:“https://github.com/janedoe/task-manager”
achievements:
成就: - 名称:“本月最佳员工”描述:“因卓越表现和对团队的贡献而受到认可。” - 名称:“黑客马拉松获胜者”描述:“在全国黑客马拉松比赛中获得第一名。”
name :成就的标题或名称。
描述:对该成就及其意义的简要说明。
突出显示您所获得的显着成就或奖项。
例子:
certifications:
认证: - “认证 Scrum 大师” - “AWS认证解决方案架构师”
名称:“PMP”
描述:“项目管理专业人员认证,由项目管理协会(PMI)颁发”
包括您获得的任何专业认证。
例子:
languages:
语言: - 语言:“英语” 熟练程度:“流利” - 语言:“西班牙语” 熟练程度:“中级”
语言:语言的名称。
proficiency :您的熟练程度(例如,母语、流利、中级)。
详细说明您使用的语言以及每种语言的熟练程度。
例子:
interests:
兴趣: - 《机器学习》 - “网络安全” - “开源项目” - 《数字营销》 ——《创业精神》
兴趣:兴趣或爱好的列表。
提及可能与您的职业相关的专业或个人兴趣。
例子:
availability:
可用性:notice_period:“2 周”
notification_period :开始新角色之前所需的时间(例如“2 周”、“1 个月”)。
说明您当前的空闲时间或通知期限。
例子:
salary_expectations:
薪水期望:薪水范围_美元:“80000 - 100000”
salary_range_usd :您期望的薪资范围,以美元表示。
提供您的预期薪资范围。
例子:
self_identification:
self_identification:性别:“女” 代词:“她/她” 老兵:“没有” 残疾:“无” 种族:“亚洲人”
性别:您的性别认同。
代词:您使用的代词(例如,他/他、她/她、他们/他们)。
退伍军人:您作为退伍军人的身份(例如,是,否)。
残疾:您是否有残疾(例如,是、否)。
种族:您的种族。
提供与个人身份相关的信息,包括性别和代词。
例子:
legal_authorization:
eu_work_authorization :您是否有权在欧盟工作(是/否)。
us_work_authorization :您是否有权在美国工作(是/否)。
require_us_visa :您是否需要签证才能在美国工作(是/否)。
require_us_sponsorship :您是否需要赞助才能在美国工作(是/否)。
require_eu_visa :您是否需要签证才能在欧盟工作(是/否)。
legal_allowed_to_work_in_eu :法律是否允许您在欧盟工作(是/否)。
legal_allowed_to_work_in_us :您是否合法地被允许在美国工作(是/否)。
require_eu_sponsorship :您是否需要赞助才能在欧盟工作(是/否)。
canada_work_authorization :您是否有权在加拿大工作(是/否)。
require_canada_visa :您是否需要签证才能在加拿大工作(是/否)。
legal_allowed_to_work_in_canada :您是否合法地被允许在加拿大工作(是/否)。
require_canada_sponsorship :您是否需要赞助才能在加拿大工作(是/否)。
uk_work_authorization :您是否有权在英国工作(是/否)。
require_uk_visa :您是否需要签证才能在英国工作(是/否)。
legal_allowed_to_work_in_uk :法律是否允许您在英国工作(是/否)。
require_uk_sponsorship :您是否需要赞助才能在英国工作(是/否)。
表明您在不同地点工作的合法能力。
例子:
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:“否”
work_preferences:
工作首选项:远程工作:“是” in_person_work:“否” open_to_relocation:“是” Willing_to_complete_assessments:“是” willing_to_undergo_drug_tests:“不” willing_to_undergo_background_checks:“是”
Remote_work :您是否愿意远程工作(是/否)。
in_person_work :您是否愿意接受面对面工作(是/否)。
open_to_relocation :您是否愿意因工作而搬迁(是/否)。
willing_to_complete_assessments :您是否愿意完成工作评估(是/否)。
willing_to_undergo_drug_tests :您是否愿意接受药物测试(是/否)。
willing_to_undergo_background_checks :您是否愿意接受背景调查(是/否)。
指定您对工作安排和条件的偏好。
例子:
data_folder_example
文件夹包含一个工作示例,说明如何构建和填写机器人操作所需的文件。该文件夹可作为实用参考,帮助您正确设置求职机器人的工作环境。
在此文件夹中,您将找到密钥文件的示例版本:
secrets.yaml
config.yaml
plain_text_resume.yaml
这些文件已经填充了虚构但真实的数据。它们向您显示要在每个文件中输入的信息的正确格式和类型。
使用此文件夹作为指南对于以下方面特别有帮助:
了解每个配置文件的正确结构
查看每个字段的有效数据示例
填写个人档案时有参考点
帐户语言为了确保机器人正常工作,您的帐户语言必须设置为英语。
数据文件夹:确保您的 data_folder 包含以下文件:
secrets.yaml
config.yaml
plain_text_resume.yaml
输出文件夹:包含机器人的输出。
注意: answers.json
不是输出文件夹的一部分,可以在项目的根目录中找到。它用于存储向用户提出的问题的答案。可用于用正确的答案更新机器人。搜索Select an option
、 0
、 Authorized
以及验证正确答案how many years of
。
--collect 模式的data.json
结果
failed.json
失败的应用程序
open_ai_calls.json
对 LLM 模型进行的所有调用
skipped.json
已跳过的应用程序
success.json
成功申请
运行机器人:
Auto_Jobs_Applier_AIHawk 在处理 pdf 简历方面提供了灵活性:
动态简历生成:如果您不使用--resume
选项,机器人将为每个应用程序自动生成唯一的简历。此功能使用plain_text_resume.yaml
文件中的信息,并根据每个特定的工作申请进行定制,通过为每个职位定制简历,可能会增加您的成功机会。
蟒蛇主.py
使用特定的简历:如果您想对所有应用程序使用特定的 PDF 简历,请将您的简历 PDF 放在data_folder
目录中,并使用--resume
选项运行机器人:
python main.py --resume /path/to/your/resume.pdf
使用 colled 模式:如果您只想收集作业数据以执行任何类型的数据分析,您可以使用带有--collect
选项的机器人。这会将从 linkedin 职位招聘中找到的所有数据存储在 output/data.json 文件中。
python main.py --收集
错误信息:
openai.RateLimitError:错误代码:429 - {'error':{'message':'您超出了当前配额,请检查您的计划和账单详细信息。有关此错误的更多信息,请阅读文档:https://platform.openai.com/docs/guides/error-codes/api-errors.', 'type': 'insufficient_quota', 'param': None, '代码': 'insufficient_quota'}}
解决方案:
检查您的 OpenAI API 计费设置:https://platform.openai.com/account/billing
确保您已将有效的付款方式添加到您的 OpenAI 帐户
请注意,ChatGPT Plus 订阅与 API 访问不同
如果您最近添加了资金或升级,请等待 12-24 小时以使更改生效
免费套餐的转速限制为 3 RPM;至少花费 5 美元来增加 API 使用量
错误信息:
例外:找不到可点击的“轻松应用”按钮
解决方案:
确保您已正确登录
检查您定位的职位列表是否确实具有“轻松申请”选项
验证config.yaml
文件中的搜索参数是否正确,并使用“轻松应用”按钮返回作业
尝试增加脚本中页面加载的等待时间,以确保在搜索按钮之前加载所有元素
问题:机器人提供的经验、CTC 和通知期数据不准确
解决方案:
更新专业经验特异性的提示
在config.yaml
中添加当前 CTC、预期 CTC 和通知期的字段
修改机器人逻辑以使用这些新的配置字段
错误信息:
yaml.scanner.ScannerError:扫描简单密钥时
解决方案:
复制示例config.yaml
并逐步修改
确保正确的 YAML 缩进和间距
使用 YAML 验证器工具
避免不必要的特殊字符或引号
问题:机器人搜索职位但继续滚动而不申请
解决方案:
检查安全检查或验证码
验证config.yaml
职位搜索参数
确保您的帐户资料符合工作要求
查看控制台输出中的错误消息
使用最新版本的脚本
验证所有依赖项均已安装并更新
检查互联网连接稳定性
如果问题仍然存在,请清除浏览器缓存和 cookie
如需进一步帮助,请在 GitHub 存储库上创建一个问题,其中包含有关您的问题的详细信息,包括错误消息和您的配置(已删除敏感信息)。
奥拉马和双子座设置
要安装和配置Ollama和Gemini ,请下载 Ollama 和 Gemini 设置指南 (PDF)
请按照这些指南中的说明进行操作,以确保AIHawk与Ollama和Gemini的正确配置。
由 Rushi 撰写,Linkedin,关注支持他。
编辑 YAML 文件
有关编辑AIHawk的 YAML 配置部分的详细说明,请参阅此文档:
下载 YAML 编辑指南 (PDF)
由 Rushi 撰写,Linkedin,关注支持他。
自动启动AIHawk
要使AIHawk在系统启动时自动启动,请按照本指南中的步骤操作:
下载自动启动 AIHawk 指南 (PDF)
由 Rushi 撰写,Linkedin,关注支持他。
视频教程
如何设置 Auto_Jobs_Applier_AIHawk
由 Rushi 撰写,Linkedin,关注支持他。
OpenAI API 文档
贡献指南
郎链开发者文档
工作流程图
如果您遇到任何问题,可以在 GitHub 上提出问题。请在主题和描述中添加有价值的详细信息。如果您需要新功能,请反映这一点。
我将非常乐意为您提供帮助!
贡献者请注意:如果您想提交拉取请求 (PR),请针对release
分支而不是main
。 release
分支用于测试新的代码更改,并在验证后定期合并到main
中。这种方法确保只有经过测试的功能才能进入主分支。
Auto_Jobs_Applier_AIHawk 通过自动化和增强工作申请流程,在现代就业市场中提供了显着的优势。凭借动态简历生成和人工智能驱动的个性化等功能,它提供了无与伦比的灵活性和效率。无论您是希望最大限度地提高找到工作机会的求职者、希望简化申请提交的招聘人员,还是希望提供更好服务的职业顾问,Auto_Jobs_Applier_AIHawk 都是宝贵的资源。通过利用尖端的自动化和人工智能,该工具不仅可以节省时间,还可以在当今的竞争格局中显着提高工作申请的有效性和质量。
如果您喜欢该项目,请为存储库加注星标!
用 contrib.rocks 制作。
该项目根据 MIT + Commons Clause License 获得许可 - 有关详细信息,请参阅许可证文件。
该工具 Auto_Jobs_Applier_AIHawk 的使用风险由您自行承担。创建者/维护者/贡献者对其使用所产生的任何后果不承担任何责任。建议用户遵守相关平台的服务条款,并遵守所有适用的法律、法规和道德准则。使用自动化工具进行求职可能会带来风险,包括对用户帐户的潜在影响。请谨慎行事并自行决定。
返回顶部