TailorAI求职搜索助手
一个智能AI代理,作为个人求职助手,与现有的TailorAI平台无缝集成,提供个性化职位推荐、自动化申请协助以及智能的就业市场洞察。
🌟 特点
- 跨平台求职在LinkedIn、Indeed和TailorAI数据库中进行搜索
- 人工智能驱动的对话用于职位搜索查询的自然语言接口
- 个性化推荐基于用户资料和偏好的智能职位匹配
- 自动化应用程序一键式申请,附带AI定制的简历和求职信
- 应用追踪监控应用程序状态并管理求职流程
- LinkedIn 集成直接访问LinkedIn的职位推荐
- 实时工作数据来自多个渠道的最新职位招聘信息
🏗️ 建筑学
┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐
│ TailorAI │ │ Job Search │ │ External │
│ Next.js App │◄──►│ AI Agent │◄──►│ MCP Servers │
│ │ │ (OpenAI) │ │ │
└─────────────────┘ └─────────────────┘ └─────────────────┘
│ │ │
▼ ▼ ▼
┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐
│ TailorAI │ │ Agent │ │ • LinkedIn MCP │
│ MCP Server │ │ API Server │ │ • Indeed MCP │
│ (Python) │ │ (FastAPI) │ │ • Other Sources │
└─────────────────┘ └─────────────────┘ └─────────────────┘📦 组件
TailorAI MCP 服务器
- 通过MCP暴露TailorAI数据库功能
- 提供用户资料访问、职位存储、申请跟踪功能
- 使用OpenAI进行简历定制和求职信生成
求职代理/求职助手
- 使用OpenAI并具备MCP(可能是指某种特定功能或模块,如“机器控制协议”等,具体需根据上下文确定)能力的中央协调器
- 在多个MCP服务器之间进行协调
- 实现对话处理和职位匹配逻辑
确实,MCP服务器
- 用于抓取Indeed.com职位发布信息的网页爬虫
- 提供包含薪资和地点信息的最新职位数据
- 带速率限制的礼貌抓取
代理API服务器
- 提供HTTP端点的FastAPI服务器
- 启用 Next.js 前端集成
- 处理聊天、作业操作和应用程序管理
🚀 快速入门
先决条件
- Python 3.11及以上版本
- Docker 和 Docker Compose
- TailorAI数据库(Supabase)
- OpenAI的API密钥
安装
- 克隆并设置
git clone
cd TailorAI-Agent- 环境配置
cp env.example .env
# Edit .env with your API keys and database credentials- 安装依赖项
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
pip install -r requirements.txt- Docker 开发
# Production build (recommended)
docker-compose up --build
# Development with live reload (optional)
docker-compose -f docker-compose.dev.yml up --build环境变量
# Required
SUPABASE_URL=your_supabase_url
SUPABASE_ANON_KEY=your_supabase_anon_key
OPENAI_API_KEY=your_openai_api_key
# Optional
LINKEDIN_COOKIE=your_linkedin_cookie
PORT=8001手动开发环境设置
- 启动TailorAI MCP服务器
cd tailorai_mcp_server
python -m tailorai_mcp_server.server- 启动Indeed MCP服务器
cd indeed_mcp_server
python -m indeed_mcp_server.server- 启动求职代理
cd job_search_agent
python -m job_search_agent.api_server🔧 API 接口端点
健康检查
GET /health聊天界面
POST /chat
{
"user_id": "string",
"message": "Find remote Python jobs paying $100k+",
"session_id": "optional_string"
}工作行动
POST /job-action
{
"user_id": "string",
"job_data": {...},
"action": "save|apply"
}搜索工作
GET /search?user_id=string&query=software+engineer&limit=20获取应用程序
GET /applications?user_id=string&status=applied🎯 使用示例
基本求职方法
# User: "Find remote software engineer jobs paying $100k+"
# Agent: Searches across LinkedIn, Indeed, and TailorAI database
# Returns: Ranked job recommendations with match scores求职申请
# User: "Apply to the Google software engineer position"
# Agent:
# 1. Saves job to database
# 2. Creates application entry
# 3. Generates tailored resume
# 4. Creates personalized cover letter
# 5. Updates application status应用程序跟踪
# User: "Show me my recent applications"
# Agent: Returns application history with statuses and job details🔌 与TailorAI Next.js应用的集成
添加客服聊天组件
// Add to dashboard
import AgentChat from '@/components/ui/agent-chat'
API路由集成
// pages/api/agent/chat/route.ts
const response = await fetch(`${AGENT_SERVICE_URL}/chat`, {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({
user_id: session.user.id,
message: message,
session_id: session_id
})
})🧪 测试
运行测试
pytest tests/测试MCP服务器
# Test TailorAI MCP Server
python -c "from tailorai_mcp_server.database import supabase_client; print('DB OK' if supabase_client.health_check() else 'DB FAIL')"
# Test Indeed MCP Server
python -c "from indeed_mcp_server.scraper import IndeedScraper; print('Indeed OK' if IndeedScraper().health_check() else 'Indeed FAIL')"手动测试
# Chat with agent
curl -X POST http://localhost:8001/chat \
-H "Content-Type: application/json" \
-d '{"user_id":"test","message":"Find Python jobs"}'📊 监控与日志
检查服务健康状况
curl http://localhost:8001/health查看日志
docker-compose logs -f job-search-agent
docker-compose logs -f tailorai-mcp-server
docker-compose logs -f indeed-mcp-server🔧 开发
项目结构
TailorAI-Agent/
├── tailorai_mcp_server/ # Database and AI MCP server
│ ├── tools/ # MCP tools (profile, job, application, AI)
│ ├── database/ # Supabase client
│ └── server.py # Main MCP server
├── job_search_agent/ # AI agent orchestrator
│ ├── agent.py # Main agent logic
│ ├── mcp_manager.py # MCP server coordination
│ ├── conversation_handler.py # Chat and intent handling
│ ├── job_matcher.py # Job scoring and filtering
│ └── api_server.py # FastAPI HTTP server
├── indeed_mcp_server/ # Indeed job scraping
│ ├── scraper.py # Web scraping logic
│ └── server.py # MCP server
├── requirements.txt # Python dependencies
├── docker-compose.yml # Service orchestration
└── README.md # This file添加新的工作来源
- 创建新的MCP服务器
# new_platform_mcp_server/server.py
@server.call_tool()
async def search_jobs(query: str) -> List[TextContent]:
# Implement job search logic
pass- 在MCP管理器中注册
# job_search_agent/mcp_manager.py
server_configs['new_platform'] = {
'command': 'python',
'args': ['-m', 'new_platform_mcp_server.server']
}- 更新代理逻辑
# job_search_agent/agent.py
async def _handle_job_search(self, user_id: str, message: str, context: ConversationContext):
new_platform_jobs = await self.mcp_manager.search_new_platform_jobs(query)
all_jobs.extend(new_platform_jobs)🚀 部署
Docker 配置
生产构建(docker-compose.yml)
- 将代码复制到容器中(不使用卷)
- 针对部署进行了优化
- 代码更改后需要重新构建
docker-compose up --build开发构建(docker-compose.dev.yml)
- 使用卷挂载进行实时重载
- 代码更改立即生效
- 非常适合积极开发
docker-compose -f docker-compose.dev.yml up --build生产环境
# Build production images
docker-compose build
# Deploy
docker-compose up -d环境配置
- 设置生产API密钥
- 配置适当的CORS来源
- 建立监控和日志记录
- 为抓取配置速率限制
🤝 贡献
- 为仓库创建分支(或:克隆仓库)
- 创建一个特性分支
- 在测试中进行更改
- 提交一个拉取请求
📝 许可证
这个项目是TailorAI平台的一部分。
🆘 故障排除
常见问题
MCP 连接失败
# Check if servers are running
docker-compose ps
# Check logs
docker-compose logs tailorai-mcp-server数据库连接问题
# Verify Supabase credentials
python -c "from tailorai_mcp_server.database import supabase_client; print(supabase_client.health_check())"API限速
- 实际上,抓取操作可能会受到速率限制
- 在请求之间添加延迟
- 使用轮换的用户代理
性能优化
- 缓存实现Redis用于作业数据缓存
- 并行处理使用 asyncio 进行并发 MCP 调用
- 数据库优化频繁查询的字段索引
- 内存管理限制对话历史记录大小
📞 支持
对于问题和疑问:
- 查看故障排除部分
- 查看日志以获取错误详情
- 测试单个组件
- 创建一个包含复现步骤的问题
______________________________________________________________________
为TailorAI倾心打造
