使用LLMs和MCPs进行智能自动化求职申请跟踪。
JobSyncd/
├── mcp_servers/ # 外部服务的MCP服务器
│ ├── gmail_server.py # Gmail MCP服务器
│ ├── notion_server.py # Notion MCP服务器
│ └── weekly_report_server.py # 每周报告MCP服务器
├── workflows/ # LangGraph工作流
│ ├── job_sync_workflow.py # 主求职同步工作流
│ └── weekly_report_workflow.py # 每周报告工作流
├── agent/ # 主自动化代理
│ ├── gmail_client.py # Gmail API客户端
│ ├── credentials.json # Gmail OAuth凭证(从Google Cloud Console下载)
│ ├── token.json # OAuth令牌(自动生成)
│ ├── notion_utils.py # Notion数据库操作
│ ├── main.py # 每日同步编排器(MCP + LangGraph)
│ └── weekly_report.py # 每周总结生成器
├── pyproject.toml # 项目配置
├── requirements.txt # Python依赖项
├── uv.lock # 锁定依赖项
├── README.md # 项目概述和快速开始
└── SETUP_ENV.md # 完整设置指南(包括每周报告)
参见SETUP_ENV.md获取完整的设置说明,包括Gmail API、Notion配置和环境变量。
uv run agent/notion_utils.py
uv run agent/main.py
这将执行以下步骤:
首次运行时: 浏览器会打开进行Gmail OAuth认证。授予权限后,代理会保存一个token.json用于未来使用。
前提条件:
credentials.json并将其放置在agent/文件夹中SETUP_ENV.md获取详细的设置说明关键改进:
注意: 需要设置每周报告数据库(参见SETUP_ENV.md)。
uv run agent/weekly_report.py
这将执行以下步骤:
自定义时间范围:
uv run agent/weekly_report.py 14 # 最近14天
uv run agent/weekly_report.py 30 # 最近30天(月度报告)
关键改进:
使用GitHub Actions自动化一切 - 不需要保持计算机运行!
特性:
设置(GitHub Actions):
uv run agent/main.py(创建agent/token.json)GMAIL_CREDENTIALS = agent/credentials.json的内容GMAIL_TOKEN = agent/token.json的内容NOTION_TOKEN, NOTION_DATABASE_ID, NOTION_WEEKLY_REPORTS_DB_ID, OPENROUTER_KEY详见SETUP_ENV.md中的“GitHub Actions设置”。
计划:
如果你更喜欢在自己的机器上运行:
Windows(任务计划程序):
schtasks /create /tn "JobSyncd-Daily" /tr "uv run D:\Projects\JobSyncd\agent\main.py" /sc daily /st 09:00
Linux/Mac(Cron):
crontab -e
# 添加: 0 9 * * * cd /path/to/JobSyncd && uv run agent/main.py
Windows(任务计划程序):
schtasks /create /tn "JobSyncd-Weekly" /tr "uv run D:\Projects\JobSyncd\agent\weekly_report.py" /sc weekly /d MON /st 10:00
Linux/Mac(Cron):
crontab -e
# 添加: 0 10 * * 1 cd /path/to/JobSyncd && uv run agent/weekly_report.py
import schedule
import time
schedule.every().day.at("09:00").do(daily_sync)
while True:
schedule.run_pending()
time.sleep(3600)
欢迎贡献!请随时提交Pull Request。
本项目采用MIT许可证。详情请参阅LICENSE文件。