Skip to content

bugmaker2/Inspector

Repository files navigation

Inspector - 社交动态监控系统

Python FastAPI React TypeScript License

一个强大的团队社交动态监控和AI总结系统,支持LinkedIn、GitHub等平台的实时监控和智能报告生成。

🌟 功能特性

📊 核心功能

  • 多平台监控: 支持LinkedIn、GitHub等主流社交平台
  • 实时更新: 自动监控团队成员的最新动态
  • AI智能总结: 使用OpenAI GPT生成每日/每周活动总结
  • 可视化界面: 现代化的React前端界面
  • 数据统计: 详细的成员活动和监控统计

🔧 技术特性

  • 模块化架构: 易于扩展和维护的监控器系统
  • RESTful API: 完整的后端API接口
  • 实时调度: 支持定时监控和报告生成
  • 数据持久化: SQLite/PostgreSQL数据库支持
  • 容器化部署: Docker和Docker Compose支持

🏗️ 系统架构

graph TB subgraph "前端 (React + TypeScript)" UI[用户界面] API[API客户端] end subgraph "后端 (FastAPI + Python)" WebAPI[Web API] MonitorMgr[监控管理器] LLM[AI总结器] DB[(数据库)] end subgraph "监控服务" LinkedIn[LinkedIn监控器] GitHub[GitHub监控器] end subgraph "外部服务" OpenAI[OpenAI API] LinkedInAPI[LinkedIn] GitHubAPI[GitHub API] end UI --> API API --> WebAPI WebAPI --> MonitorMgr WebAPI --> LLM MonitorMgr --> LinkedIn MonitorMgr --> GitHub LinkedIn --> LinkedInAPI GitHub --> GitHubAPI LLM --> OpenAI MonitorMgr --> DB LLM --> DB WebAPI --> DB 
Loading

🚀 快速开始

环境要求

  • Python 3.12+
  • Node.js 18+
  • uv (Python包管理器)
  • npm 或 yarn

1. 克隆项目

git clone <repository-url> cd Inspector

2. 配置环境

# 复制环境配置模板 cp config/env.example .env # 编辑配置文件 nano .env

必需的环境变量:

# OpenAI API配置 OPENAI_API_KEY=your-openai-api-key-here OPENAI_BASE_URL=https://api.openai.com/v1 OPENAI_MODEL=gpt-3.5-turbo # GitHub API配置 (可选) GITHUB_TOKEN=your-github-personal-access-token # 数据库配置 DATABASE_URL=sqlite:///./inspector.db # 邮件通知配置 (可选) EMAIL_RECIPIENTS=recipient1@example.com,recipient2@example.com

3. 安装依赖

# 安装Python依赖 uv sync # 安装前端依赖 cd frontend npm install cd ..

4. 启动服务

# 方式1: 使用启动脚本 chmod +x start-all.sh ./start-all.sh # 方式2: 手动启动 # 终端1 - 启动后端 uv run python main.py # 终端2 - 启动前端 cd frontend && npm start

5. 访问应用

6. 验证配置

# 验证所有配置 uv run python tests/validate_config.py # 跳过外部服务测试 (OpenAI, GitHub) uv run python tests/validate_config.py --skip-external # 跳过API端点测试 (后端未启动时) uv run python tests/validate_config.py --skip-api # 跳过外部服务和API端点测试 uv run python tests/validate_config.py --skip-external --skip-api # 测试AI配置 uv run python tests/test_openai_config.py # 测试阿里云通义千问配置 uv run python tests/test_aliyun_openai.py # 测试GitHub配置 uv run python tests/test_github_token.py

📖 使用指南

添加团队成员

  1. 访问 http://localhost:3000/members
  2. 点击"添加成员"按钮
  3. 填写成员信息(姓名、邮箱、职位)
  4. 保存成员信息

配置社交链接

  1. 在成员列表中找到目标成员
  2. 点击"添加社交配置"
  3. 选择平台(GitHub/LinkedIn)
  4. 输入个人主页URL和用户名
  5. 保存配置

运行监控

  1. 访问 http://localhost:3000
  2. 点击"运行监控"按钮
  3. 系统将自动抓取所有配置的社交动态
  4. 查看实时更新的活动列表

生成AI总结

  1. 在仪表板页面点击"生成每日总结"
  2. 系统将使用OpenAI分析最近的活动
  3. 查看生成的智能总结报告

🤖 AI平台配置

系统支持多种AI平台,可以通过配置不同的base URL来使用不同的模型服务。

OpenAI官方API

OPENAI_API_KEY=sk-your-openai-api-key OPENAI_BASE_URL=https://api.openai.com/v1 OPENAI_MODEL=gpt-3.5-turbo

Azure OpenAI

OPENAI_API_KEY=your-azure-api-key OPENAI_BASE_URL=https://your-resource.openai.azure.com/openai/deployments/your-deployment OPENAI_MODEL=gpt-35-turbo

其他兼容平台

OPENAI_API_KEY=your-api-key OPENAI_BASE_URL=https://api.your-platform.com/v1 OPENAI_MODEL=gpt-3.5-turbo

测试配置

运行以下命令测试AI配置是否正确:

uv run python test_openai_config.py

详细配置示例: 查看 AI平台配置示例 文档

GitHub配置

参考 GitHub配置指南 创建Personal Access Token

阿里云通义千问配置

参考 阿里云配置指南 配置AI总结服务

🔧 API接口

成员管理

# 获取所有成员 GET /api/v1/members/ # 创建新成员 POST /api/v1/members/ { "name": "张三", "email": "zhangsan@example.com", "position": "软件工程师" } # 添加社交配置 POST /api/v1/members/{member_id}/social-profiles/ { "platform": "github", "profile_url": "https://github.com/username", "username": "username" }

监控管理

# 获取监控统计 GET /api/v1/monitoring/stats # 运行监控 POST /api/v1/monitoring/run-monitoring # 获取活动列表 GET /api/v1/monitoring/activities # 生成每日总结 POST /api/v1/monitoring/generate-daily-summary

🐳 Docker部署

使用Docker Compose

# 构建并启动所有服务 docker-compose up -d # 查看服务状态 docker-compose ps # 查看日志 docker-compose logs -f inspector

自定义部署

# 构建镜像 docker build -t inspector . # 运行容器 docker run -d \ --name inspector \ -p 8000:8000 \ --env-file .env \ inspector

📁 项目结构

Inspector/ ├── app/ # 后端应用 │ ├── api/v1/ # API路由 │ │ ├── members.py # 成员管理API │ │ └── monitoring.py # 监控管理API │ ├── core/ # 核心配置 │ │ ├── config/ # 配置管理 │ │ └── database/ # 数据库配置 │ ├── models/ # 数据模型 │ │ ├── member.py # 成员模型 │ │ └── schemas.py # Pydantic模式 │ └── services/ # 业务服务 │ ├── monitors/ # 监控器 │ │ ├── base_monitor.py # 基础监控器 │ │ ├── linkedin_monitor.py │ │ ├── github_monitor.py │ │ └── monitor_manager.py │ └── summarizers/ # 总结器 │ └── llm_summarizer.py ├── frontend/ # 前端应用 │ ├── src/ │ │ ├── components/ # React组件 │ │ ├── pages/ # 页面组件 │ │ ├── services/ # API服务 │ │ └── types/ # TypeScript类型 │ ├── public/ # 静态资源 │ └── package.json ├── main.py # 应用入口 ├── pyproject.toml # Python配置 ├── docker-compose.yml # Docker配置 ├── Dockerfile # Docker镜像 └── README.md # 项目文档 

🔄 定时任务

系统支持以下定时任务:

  • 监控任务: 每30分钟自动运行一次(可配置)
  • 每日总结: 每天上午9点自动生成
  • 每周总结: 每周一上午9点自动生成

配置定时任务

.env 文件中修改:

MONITORING_INTERVAL_MINUTES=30 SUMMARY_TIME=09:00 WEEKLY_SUMMARY_DAY=monday

🛠️ 开发指南

添加新的监控平台

  1. app/services/monitors/ 创建新的监控器
  2. 继承 BaseMonitor
  3. 实现必要的抽象方法
  4. MonitorManager 中注册新监控器

扩展AI总结功能

  1. app/services/summarizers/ 创建新的总结器
  2. 实现总结接口
  3. 在API中注册新的总结端点

运行测试

# 运行后端测试 uv run pytest # 运行前端测试 cd frontend && npm test

🐛 故障排除

常见问题

Q: 监控无法获取数据 A: 检查网络连接和API密钥配置,确保目标平台可访问

Q: AI总结生成失败 A: 验证OpenAI API密钥是否正确,检查API配额

Q: 前端无法连接后端 A: 确认后端服务正在运行,检查端口配置和CORS设置

Q: 数据库连接失败 A: 检查数据库URL配置,确保数据库服务可用

日志查看

# 查看后端日志 tail -f logs/app.log # 查看Docker日志 docker-compose logs -f inspector

📊 性能优化

数据库优化

  • 定期清理旧的活动数据
  • 为频繁查询的字段添加索引
  • 使用连接池管理数据库连接

监控优化

  • 调整监控间隔以减少API调用
  • 实现增量更新避免重复数据
  • 使用缓存减少重复请求

🤝 贡献指南

  1. Fork 项目
  2. 创建功能分支 (git checkout -b feature/AmazingFeature)
  3. 提交更改 (git commit -m 'Add some AmazingFeature')
  4. 推送到分支 (git push origin feature/AmazingFeature)
  5. 打开 Pull Request

📄 许可证

本项目采用 Business Source License 1.1 (BSL) - 查看 LICENSE 文件了解详情

重要说明

  • 本软件受 BSL 许可证永久保护
  • 商业使用需要获得许可
  • 禁止直接竞争的商业产品使用
  • 个人和非商业使用允许

🙏 致谢


Inspector - 让团队协作更智能,让信息获取更高效! 🚀

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published