这个项目能做什么
# Job Agent
一个自主求职申请代理,自动化整个求职生命周期——从职位发现到申请跟踪。
## 功能简介
Job Agent 连接主流求职平台(LinkedIn、Indeed、Glassdoor、ZipRecruiter、Dice、Wellfound),发现职位信息,使用 AI 根据可配置的候选人资料进行评分,为每次申请定制简历,并自动提交高置信度的匹配。中等置信度的职位会进入 Web 仪表盘中的手动审核队列。
## 主要特性
**多平台职位发现**
支持 LinkedIn、Indeed、Glassdoor、ZipRecruiter、Dice 和 Wellfound,并为每个平台提供速率限制和会话管理。
**AI 驱动匹配**
使用可配置的 AI 提供商(Google Gemini(免费)、Groq(免费)、Ollama(本地)、OpenRouter 和 Anthropic Claude)对每个职位按 0.0–1.0 评分。
**简历与求职信定制**
为每次申请自动生成 ATS 优化的简历(PDF)和可定制的求职信。支持专业、随意和正式三种语气。
**外部 ATS 处理**
当招聘网站重定向到公司招聘页面时,代理会检测并填写 Greenhouse、Lever、Workday、Ashby 以及通用申请门户的表单。同时处理筛选问题和邮件申请流程。
**分级自主性**
- 评分 ≥ 0.80:自动申请
- 评分 0.70–0.79:进入手动审核队列
- 评分 < 0.70:跳过
阈值可通过仪表盘或 YAML 配置文件设置。
**Web 仪表盘**
Flask + HTMX + Bootstrap 5 界面,地址为 http://127.0.0.1:5000,包含概览、职位、审核队列、申请、外联、分析和设置页面。所有配置均可通过 UI 完成——无需编辑文件。
**交互式机器人**
Telegram 机器人(长轮询,无需公网 URL)和 Discord 机器人(斜杠命令),用于批准/拒绝职位、查看队列状态以及从手机查看统计信息。
**反检测浏览器**
使用 Camoufox 隐身浏览器,具有类人打字、鼠标移动、随机延迟和会话轮换,以降低检测风险。
**通知与外联**
电子邮件(SMTP)、Slack/Discord webhook、Telegram 提醒。AI 生成的冷邮件和 LinkedIn 招聘人员连接请求。
**调度**
APScheduler,可配置活动时间窗口(默认上午 8 点至晚上 11 点)。可运行一次、按计划运行或干跑模式。
## 快速开始
git clone https://github.com/billmal071/job-agent.git
cd job-agent
uv sync
uv run playwright install chromium
uv run job-agent init-db
uv run job-agent dashboard
访问 http://127.0.0.1:5000/settings 配置 AI 提供商、平台凭据、阈值和通知。
## 个人资料生成
在仪表盘中上传您现有的简历(PDF/DOCX),AI 会提取技能、经验水平和目标职位,自动生成可搜索的个人资料。
## 多个人资料
支持为不同的求职搜索(例如全栈 vs. 运维)设置单独的资料,每个资料都有自己的关键词、地点、薪资期望和简历模板。
## Docker 支持
docker compose up dashboard
# 或
docker compose run --rm agent
## 安全性
- 平台凭据使用 Fernet 加密(密钥位于 ~/.job-agent/fernet.key)
- API 密钥位于 .env(已 gitignore)
- 数据库位于 ~/.job-agent/agent.db(SQLite,仓库外)
- 浏览器状态单独持久化
## 许可证
MIT
评论
0 评分人数达到10人后显示
登录后参与讨论。