⚡ SpectraScourt
个人人工智能驱动的职业智能系统
SpectraScourt根据您的个人资料发现黑客马拉松、实习、工作、技术活动和比赛,然后构建一个具有日常可操作目标的个性化职业路线图。它具有一个AI聊天助手,可以通过实时工具访问您的GitHub、LeetCode和LinkedIn个人资料。
______________________________________________________________________
✨ 特性
🔍 机会发现
- 从目标公司寻找公司特定的工作和实习机会
- 您所在地附近的技术活动、峰会和会议
- 黑客马拉松、竞赛和开源程序
- 基于你的技能和偏好的人工智能比赛评分
- 按类型筛选:实习·工作·黑客马拉松·活动·竞赛
🗺️ AI职业路线图
- 个性化规划的预生成问卷
- 带有可点击长期目标的可视化里程碑图
- 月度目标及可交付成果
- 与特定里程碑相关的日常任务
- 任务完成跟踪
🤖 AI聊天助手(带实时工具)
聊天助手使用 双子座2.0闪光灯 通过函数调用,可以访问 8个现场工具:
| 工具 | 说明 |
|---|---|
get_github_profile | 从GitHub获取仓库、语言、星号 |
get_leetcode_profile | 统计数据、排名和已解决问题数 |
get_leetcode_problems | 最近解决+主题过滤推荐 |
get_linkedin_profile | 通过SerpAPI公开LinkedIn个人资料 |
find_linkedin_connections | 在目标公司寻找人员 |
get_user_profile | 完整的职业简介数据 |
get_opportunities | 发现机会 |
get_roadmap | 职业路线图和任务 |
🖥️ 桌面小部件(电子)
- 始终在桌面上的紧凑型小部件
- 显示2个日常任务+5个最佳机会
- 单击以标记任务已完成
- 带显示/隐藏控件的系统托盘
- 每5分钟自动刷新一次
📊 个人资料智能
- GitHub仓库和语言分析
- LeetCode通过官方GraphQL API统计数据(避免推荐已解决的问题)
- 通过SerpAPI查找LinkedIn个人资料
- 使用pdfminer.six恢复解析
- 技能图生成器汇总所有来源
______________________________________________________________________
🏗️ 建筑
spectrascout/
├── backend/ # FastAPI server
│ ├── api/ # REST endpoints
│ │ ├── chat.py # AI chat with function calling
│ │ ├── opportunities.py # Opportunity CRUD + discovery
│ │ ├── profile.py # User profile + onboarding form
│ │ └── roadmap.py # Roadmap generation + tasks
│ ├── agents/ # AI-powered engines
│ │ ├── roadmap_engine.py # Career roadmap generator
│ │ ├── opportunity_discovery.py # Company-targeted search
│ │ ├── opportunity_scoring.py # Match scoring
│ │ ├── dsa_recommender.py # LeetCode problem recs
│ │ └── project_recommender.py # Project suggestions
│ ├── intelligence/ # Data analyzers
│ │ ├── github_analyzer.py
│ │ ├── coding_profile_analyzer.py # LeetCode GraphQL
│ │ ├── linkedin_analyzer.py # SerpAPI-powered
│ │ ├── resume_parser.py
│ │ └── skill_graph_builder.py
│ ├── services/ # Search, ranking, storage
│ ├── data/ # JSON data files
│ └── main.py # App entry point
├── frontend/ # React + Vite dashboard
│ └── src/
│ ├── pages/ # Dashboard, Opportunities, Roadmap, Chat, Profile, Onboarding
│ └── services/api.js # Axios API client
├── widget/ # Electron desktop widget
│ ├── main.js # Electron process
│ ├── widget.js # API integration
│ └── widget.css # Glassmorphism styling
└── README.md______________________________________________________________________
🚀 快速开始
先决条件
1.后端
cd backend
pip install -r requirements.txt
# Create .env file
cp .env.example .env
# Edit .env and add your API keys:
# GEMINI_API_KEY=your-key
# SERPAPI_KEY=your-key
python -m uvicorn main:app --reload2.前端
cd frontend
npm install
npm run dev3.桌面小部件
cd widget
npm install
npm start4.奥拉马
ollama run qwen2.5-coder:1.5b______________________________________________________________________
⚙️ 环境变量
| 变量 | 必填 | 描述 |
|---|---|---|
GEMINI_API_KEY | ✅ | Google Gemini API密钥 |
SERPAPI_KEY | ✅ | SerpAPI搜索键+领英 |
GITHUB_TOKEN | ❌ | GitHub个人访问令牌(更高的速率限制) |
LEETCODE_USERNAME | ❌ | 默认LeetCode用户名 |
CODEFORCES_USERNAME | ❌ | 默认Codeforces用户名 |
______________________________________________________________________
🛠️ 技术栈
| 层 | 技术 |
|---|---|
| 后端 | Python、FastAPI、Uvicorn |
| 人工智能 | 谷歌双子座2.0 Flash(聊天),双子座2.5 Flash Lite(代理) |
| 前端 | React 18,Vite,React路由器,Lucide图标 |
| 小部件 | 电子 |
| 搜索 | SerpAPI(谷歌搜索+领英) |
| 数据 | JSON文件,ChromaDB(向量) |
| pdfminer.six |
______________________________________________________________________
📝 许可证
此项目用于个人/教育用途。
