JobSyncd(可译为“作业同步器”或根据具体上下文调整为更贴切的名称)
利用大型语言模型(LLMs)和机器控制平台(MCPs)实现AI驱动的智能自动化,用于职位申请追踪。
特点/功能
- 📧 电子邮件符号,无具体含义,仅表示电子邮件。 Gmail 集成获取最近的求职申请邮件
- 🤖 机器人 AI邮件解析使用大型语言模型(LLM)从电子邮件中提取结构化数据
- 📊(表格/数据图表) Notion 数据库自动在您的Notion工作追踪器中创建条目
- 🔄 这个符号在中文中通常被翻译为“循环”或“旋转”,用来表示一个过程或动作在不断重复或进行中。在没有具体上下文的情况下,直接翻译为“循环”或“旋转”即可。 每日同步通过智能缓存防止重复条目
- 🔁 重复(通常用于表示某个动作或声音的重复) 智能重试逻辑自动处理OpenRouter的速率限制,并进行退避(或重试间隔)
- 🎯(目标、瞄准) 应用程序ID追踪当状态发生变化时,更新现有条目
- 📈 表情符号“📈”在中文中通常被翻译为“📈”(直译为“上升趋势的折线图”或简化为“上升趋势图”)。不过,在实际交流中,我们往往直接使用这个表情符号本身,因为它已经广泛被理解和接受为表示上升或积极趋势的图标。所以,如果直接翻译,可以说“📈(上升趋势的折线图)”,但在日常使用中,直接使用“📈”即可。 周报AI生成的含统计数据和见解的摘要
建筑
项目结构
JobSyncd/
├── mcp_servers/ # MCP servers for external services
│ ├── gmail_server.py # Gmail MCP server
│ ├── notion_server.py # Notion MCP server
│ └── weekly_report_server.py # Weekly report MCP server
├── workflows/ # LangGraph workflows
│ ├── job_sync_workflow.py # Main job sync workflow
│ └── weekly_report_workflow.py # Weekly report workflow
├── agent/ # Main automation agents
│ ├── gmail_client.py # Gmail API client
│ ├── credentials.json # Gmail OAuth credentials (download from Google Cloud Console)
│ ├── token.json # OAuth token (auto-generated)
│ ├── notion_utils.py # Notion database operations
│ ├── main.py # Daily sync orchestrator (MCP + LangGraph)
│ └── weekly_report.py # Weekly summary generator
├── pyproject.toml # Project configuration
├── requirements.txt # Python dependencies
├── uv.lock # Locked dependencies
├── README.md # Project overview and quick start
└── SETUP_ENV.md # Complete setup guide (includes weekly reports)数据流
- ✅ MCP建筑事务所模块化、可重用的服务
- ✅ LangGraph 工作流内置去重功能的智能邮件处理
- ✅ 单次LLM调用将所有电子邮件一起处理,以更好地理解上下文
- ✅ 智能去重大语言模型(LLM)自然理解电子邮件关系
- ✅(对号,表示正确、确认或完成) 可扩展的易于添加新服务和工作流程
设置
见 SETUP_ENV.md 以下是完整设置说明,包括Gmail API、Notion配置以及环境变量。
使用方法
测试Notion连接
uv run agent/notion_utils.py每天运行同步
uv run agent/main.py这将:
- 获取最近的电子邮件(默认为最后10封)
- 利用人工智能对所有电子邮件进行智能去重处理
- 提取求职申请信息,并内置重复检测功能
- 在你的Notion数据库中创建条目
- 自动处理状态更新
首次运行时: 将打开一个浏览器进行Gmail OAuth认证。授予权限后,代理将保存一个 token.json 以备将来使用。
先决条件:
- 你需要下载
credentials.json从Google Cloud Console获取并将其放置在agent/文件夹 - 见
SETUP_ENV.md用于详细的设置说明
关键改进:
- 智能去重大型语言模型(LLM)会同时处理所有电子邮件,并自然地识别出相关的邮件
- 状态进展自动处理申请 → 评估 → 面试 → 录用的流程
- 无重复项同一公司的电子邮件合并到单一应用程序中
生成周报
注: 需要设置周报数据库(参见 SETUP_ENV.md)。
uv run agent/weekly_report.py这将会:
- 使用MCP + LangGraph获取过去7天的应用程序数据
- 生成带有智能见解的AI驱动摘要
- 在你的Notion数据库中创建一个格式化的报告
- 优雅地处理速率限制和错误
自定义时间范围:
uv run agent/weekly_report.py 14 # Last 14 days
uv run agent/weekly_report.py 30 # Last 30 days (monthly report)主要改进:
- MCP建筑事务所(或MCP建筑设计公司)模块化、可重用的周报服务
- LangGraph 工作流智能数据处理与摘要生成
- 智能洞察人工智能分析模式并提供可操作的建议
- 灵活的时间框架支持自定义日期范围
调度安排
GitHub Actions(推荐 - 云端服务)
使用GitHub Actions实现全面自动化——无需让电脑持续运行!
特点:
- ☁️ 在云端运行(公开仓库免费)
- 📅 每日同步 + 每周报告
- 🔄 自动刷新OAuth令牌
- 💾 在运行之间持久化缓存
- 📧 失败时发送电子邮件通知
设置(GitHub Actions):
- 在本地运行一次:
uv run agent/main.py(创建agent/token.json) - 在GitHub中添加带有原始JSON内容的密钥(设置 → 密钥 → 操作):
- GMAIL_CREDENTIALS = 内容为 agent/credentials.json - GMAIL_TOKEN = 内容为 agent/token.json - NOTION_TOKEN, NOTION_DATABASE_ID, NOTION_WEEKLY_REPORTS_DB_ID, OPENROUTER_KEY
- 确保工作流权限:设置 → 操作 → 通用 → 读写
- 手动运行每个工作流一次以进行验证
参见“GitHub Actions 设置”中的 SETUP_ENV.md 详情见下。
时间表:
- 每日同步每天协调世界时上午9:00
- 周报每周一上午10:00(协调世界时)
______________________________________________________________________
本地调度(备选方案)
如果您更倾向于在自己的机器上本地运行:
每日同步
Windows(任务计划程序):
schtasks /create /tn "JobSyncd-Daily" /tr "uv run D:\Projects\JobSyncd\agent\main.py" /sc daily /st 09:00Linux/Mac(Cron):
crontab -e
# Add: 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:00Linux/Mac(Cron):
crontab -e
# Add: 0 10 * * 1 cd /path/to/JobSyncd && uv run agent/weekly_report.py使用Python的schedule库
import schedule
import time
schedule.every().day.at("09:00").do(daily_sync)
while True:
schedule.run_pending()
time.sleep(3600)贡献
欢迎贡献!请随时提交拉取请求。
许可证
这个项目采用MIT许可证授权。请参阅 许可证 文件中有更多详细信息。
