Co-Pilot / 辅助式
更新于 24 days ago

talentmatcher

MMajesteitBart
0.0k
majesteitbart/talentmatcher
82
Agent 评分

💡 摘要

Talent Matcher 是一个 AI 系统,通过先进的简历解析和分析,将被拒绝的候选人与合适的职位匹配。

🎯 适合人群

希望优化候选人安置的招聘人员管理大量申请的 HR 专业人员寻求提高招聘效率的公司希望找到替代机会的求职者对 AI 驱动的招聘解决方案感兴趣的数据科学家

🤖 AI 吐槽:该项目可能通过 API 端点暴露敏感的候选人数据,并依赖于 Supabase 和 Google Gemini 等外部服务。实施适当的身份验证和数据加密可以减轻这些风险。

安全分析中风险

该项目可能通过 API 端点暴露敏感的候选人数据,并依赖于 Supabase 和 Google Gemini 等外部服务。实施适当的身份验证和数据加密可以减轻这些风险。

🏗️ Talent Matcher Agent

AI-powered system for automatically matching rejected candidates to alternative open positions.

🎯 Overview

When a candidate is rejected for a position, this system automatically:

  1. Parses their CV using Gemini AI
  2. Generates embeddings for skills, experience, and overall profile
  3. Searches for similar open positions using pgvector
  4. Consolidates and ranks matches
  5. Generates a detailed analysis memo for recruiters

🚀 Tech Stack

  • Frontend: Next.js 14 (App Router), TypeScript, Tailwind CSS
  • Backend: Next.js API Routes, BullMQ workers
  • Database: Supabase (PostgreSQL + pgvector)
  • AI: Google Gemini 2.0 (CV parsing, embeddings, analysis)
  • Workflow: LangGraph (parallel execution orchestration)
  • Queue: BullMQ + Redis (background job processing)

📋 Prerequisites

  • Node.js 18+ and npm
  • Docker (for Redis)
  • Supabase account
  • Google Gemini API key

🛠️ Setup

1. Install Dependencies

npm install

2. Setup Supabase

  1. Create a new project at supabase.com
  2. Run the migration from supabase-migration.sql in the SQL Editor
  3. Note your Project URL, anon key, and service_role key

3. Configure Environment Variables

Copy .env.example to .env.local:

cp .env.example .env.local

Fill in your credentials:

# Supabase NEXT_PUBLIC_SUPABASE_URL=https://your-project.supabase.co NEXT_PUBLIC_SUPABASE_ANON_KEY=your-anon-key SUPABASE_SERVICE_ROLE_KEY=your-service-role-key # Gemini GEMINI_API_KEY=your-gemini-api-key # Redis REDIS_HOST=localhost REDIS_PORT=6379 # App NEXT_PUBLIC_APP_URL=http://localhost:3000 NODE_ENV=development

4. Start Redis

docker-compose up -d

5. Start Development Services

Quick Start (Recommended):

npm run dev:concurrent # Starts all services at once with color-coded output

Individual Services:

# Terminal 1: Next.js server npm run dev # Terminal 2: Workflow worker npm run worker:workflow # Terminal 3: Job indexing worker npm run worker:indexing

Visit http://localhost:3000

6. Setup Claude Code Infrastructure (Optional but Recommended)

The project includes comprehensive Claude Code development tools:

# Initialize project management /pm:init # List available commands /pm:help # Show current development status /pm:status

For detailed setup, see the Developer Guide.

📡 API Endpoints

Reject Candidate & Trigger Matching

POST /api/candidates/reject Content-Type: application/json { "candidate_id": "uuid", "application_id": "uuid", "rejection_reason": "Not enough experience" }

Check Workflow Status

GET /api/workflow/status/[workflow_execution_id]

Index Jobs for Vector Search

POST /api/jobs/index Content-Type: application/json { "company_id": "uuid", "job_ids": ["uuid1", "uuid2"] // optional, indexes all active jobs if omitted }

🔄 Workflow Architecture

The matching workflow uses LangGraph for orchestration:

START
  ↓
Parse CV (Gemini)
  ↓
  ├── Retrieve by Skills (parallel)
  ├── Retrieve by Experience (parallel)
  └── Retrieve by Profile (parallel)
  ↓
Consolidate Matches (weighted scoring)
  ↓
Generate Analysis (Gemini)
  ↓
END

Key Features:

  • Parallel Execution: Skills, experience, and profile searches run simultaneously
  • Weighted Scoring: Skills (40%), Experience (35%), Profile (25%)
  • Multi-source Boost: Jobs matching multiple criteria get a 5% boost per source
  • Graceful Degradation: Workflow continues even if some retrievers fail

📊 Database Schema

Key tables:

  • companies - Company information
  • jobs - Job postings
  • job_embeddings - Vector embeddings for semantic search
  • candidates - Candidate profiles
  • parsed_cvs - Structured CV data
  • applications - Job applications
  • workflow_executions - LangGraph workflow runs
  • match_results - Matched jobs with scores

🤖 Claude Code Development Infrastructure

This project includes a comprehensive Claude Code development ecosystem with specialized agents and tools.

Key Features

  • 9 Specialized Agents: Code analysis, testing, documentation, design review, and more
  • 50+ Project Management Commands: Epic/issue tracking, PRD management, workflow automation
  • Automated Testing: Comprehensive test execution with real services (no mocking)
  • Smart Documentation: Auto-generated and updated documentation
  • Epic-Based Development: Organize work around large features rather than individual issues

Quick Commands

# Project Management /pm:init # Initialize new epic /pm:status # Show current work status /pm:next # Get next task /pm:standup # Generate standup report # Development Workflow /review # Code review mode /testing:run # Run tests with analysis /commit # Smart commit with validation /prompt <task> # Get AI assistance # Get Help /pm:help # List all available commands

Agent Coordination

For complex tasks, agents work together automatically:

# Example: Add new feature Task agent_type="workflow-orchestrator" description="Add user authentication"

This will coordinate multiple agents to:

  1. Analyze requirements
  2. Create implementation plan
  3. Build the feature
  4. Write tests
  5. Update documentation
  6. Perform code review

For complete documentation, see the Developer Guide.

🧪 Testing

Automated Testing with Claude Code

Use the specialized test-runner agent for comprehensive testing:

# Run all tests with analysis Task agent_type="test-runner" description="Run full test suite" # Test specific functionality Task agent_type="test-runner" description="Test authentication endpoints"

Manual Testing

To test the workflow manually:

  1. First, index some jobs:
curl -X POST http://localhost:3000/api/jobs/index -H "Content-Type: application/json" -d '{"company_id": "00000000-0000-0000-0000-000000000001"}'
  1. Create a candidate and application (via Supabase dashboard or API)

  2. Reject the candidate to trigger matching:

curl -X POST http://localhost:3000/api/candidates/reject -H "Content-Type: application/json" -d '{ "candidate_id": "your-candidate-uuid", "application_id": "your-application-uuid", "rejection_reason": "Overqualified" }'
  1. Check the workflow status:
curl http://localhost:3000/api/workflow/status/[workflow_id]

📈 Performance

  • CV Parsing: ~2-4 seconds
  • Embedding Generation: ~1 second per type (3 parallel)
  • Vector Search: <100ms per query (with HNSW index)
  • Match Consolidation: <50ms
  • Analysis Generation: ~3-5 seconds
  • Total Workflow: ~10-15 seconds

💰 Cost Estimates

Per candidate workflow:

  • Gemini Parsing: ~$0.02
  • Embeddings (3 types): ~$0.06
  • Vector Search: ~$0.01
  • Analysis: ~$0.03
  • Total: ~$0.12 per candidate

🛡️ Production Checklist

  • [ ] Set up proper authentication
  • [ ] Configure Row Level Security (RLS) in Supabase
  • [ ] Set up monitoring and alerting
  • [ ] Configure rate limiting
  • [ ] Set up error tracking (e.g., Sentry)
  • [ ] Deploy workers to production (e.g., Railway, Render)
  • [ ] Set up CI/CD pipeline
  • [ ] Configure backup strategy
  • [ ] Set up log aggregation
  • [ ] Performance testing

📚 Documentation

📝 License

MIT

🤝 Contributing

We use epic-based development with Claude Code infrastructure:

  1. Initialize Epic: Use /pm:init to start new features
  2. Follow Patterns: See Developer Guide for workflow
  3. Use Agents: Leverage specialized agents for code quality and testing
  4. Smart Commits: Use /commit for validated commits

Contributions welcome! Please open an issue or PR.

📧 Support

For questions or issues:

  1. Debug with Claude Code: Use Task agent_type="code-analyzer" description="Investigate issue"
  2. Check Documentation: Review Error Handling Guide
  3. GitHub Issues: Open an issue for bugs or feature requests
  4. Developer Help: Use /pm:help for command assistance
五维分析
清晰度8/10
创新性7/10
实用性9/10
完整性9/10
可维护性8/10
优缺点分析

优点

  • 自动化候选人匹配过程
  • 利用先进的 AI 进行简历解析
  • 为招聘人员提供详细分析
  • 支持并行处理以提高效率

缺点

  • 需要多个第三方服务
  • 对外部 API 的依赖可能引入延迟
  • 新用户的设置复杂性
  • 候选人信息的潜在数据隐私问题

相关技能

pytorch

S
toolCode Lib / 代码库
92/ 100

“它是深度学习的瑞士军刀,但祝你好运能从47种安装方法里找到那个不会搞崩你系统的那一个。”

agno

S
toolCode Lib / 代码库
90/ 100

“它承诺成为智能体领域的Kubernetes,但得看开发者有没有耐心学习又一个编排层。”

nuxt-skills

S
toolCo-Pilot / 辅助式
90/ 100

“这本质上是一份组织良好的小抄,能把你的 AI 助手变成一只 Nuxt 框架的复读机。”

免责声明:本内容来源于 GitHub 开源项目,仅供展示和评分分析使用。

版权归原作者所有 MajesteitBart.