OpenOSINT 是一款互联网舆情采集分析系统,可以实现网络上开源情报的采集、分析、监控、预警等功能。系统支持从搜索引擎、社交媒体、指定网站/博客等多种数据源采集数据,并通过智能分析生成评估报告,帮助用户及时掌握网络舆情动态。
| 功能模块 | 说明 |
|---|---|
| 🕷️ 采集情报 | 从搜索引擎、社交媒体、指定的源(网站/博客)获取数据,保存到本地数据库 |
| 📊 监控情报 | 根据指定关键字监控情报的产生,当关注情报发生时发送消息通知用户 |
| 📈 分析情报 | 对数据进行分析,形成评估报告,将情报要素、关键字、关联事件等写入数据库 |
| 根据情报分析结果进行预测,当关联关键字发生时生成预警报告通知用户 |
- 多源数据采集:支持搜索引擎、社交媒体、RSS 订阅等多种数据源
- 智能情感分析:自动识别情报内容的情感倾向(正面/负面/中性)
- 实时监控预警:7×24 小时不间断监控,支持多种通知方式
- 可视化报告:自动生成结构化的情报分析评估报告
- 定时任务调度:支持一次性任务和周期性任务
- 多用户权限管理:支持管理员和普通用户角色
- 国际化支持:支持中英文等多种语言切换
- 夜间模式:支持白色/夜间主题切换
- MCP 协议兼容:提供 CLI 接口,可与 AI 智能体对接
- 大模型集成:可调用大语言模型 API 进行智能分析
- Python 3.9+
- MySQL 8.0+
- Windows 10 / Windows Server 2019
- Docker(可选,用于容器化部署)
git clone https://github.com/your-org/openosint.git
cd openosintpip install -r src/backend/requirements.txt创建 MySQL 数据库并修改配置文件 src/backend/app/config.py:
DATABASE_URL = "mysql+pymysql://user:password@localhost:3306/openosint"python src/dev/init_db.pycd src/backend
python -m app.main访问 http://localhost:8000/docs 查看 API 文档。
# 构建镜像
docker build -t openosint .
# 运行容器
docker run -d -p 8000:8000 --name openosint openosint┌─────────────────────────────────────────────────────────────┐
│ 前端界面 │
│ (Vue3 + Element Plus / React) │
└─────────────────────────────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────────┐
│ API 网关层 │
│ (FastAPI + JWT 认证) │
└─────────────────────────────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────────┐
│ 业务服务层 │
│ 认证服务 │ 任务服务 │ 情报服务 │ 报告服务 │ 监控服务 │ 预警服务 │
└─────────────────────────────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────────┐
│ 数据采集层 │
│ 搜索引擎采集 │ 社交媒体采集 │ RSS 采集 │
└─────────────────────────────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────────┐
│ 数据存储层 │
│ MySQL 8.0+ │
└─────────────────────────────────────────────────────────────┘
OpenOSINT/
├── Doc/ # 文档目录
│ ├── api/ # API 文档
│ └── db.sql # 数据库脚本
├── RD/ # 需求文档
│ ├── RD.md # 需求说明
│ └── Project.md # 项目设计文档
├── src/
│ ├── backend/ # 后端代码
│ │ └── app/
│ │ ├── api/ # API 路由
│ │ ├── models/ # 数据模型
│ │ ├── schemas/ # 数据模式
│ │ ├── services/ # 业务服务
│ │ ├── utils/ # 工具函数
│ │ ├── config.py # 配置文件
│ │ └── main.py # 应用入口
│ └── dev/ # 开发工具
│ ├── init_db.py # 数据库初始化
│ └── reset_db.py # 数据库重置
├── README.md # 项目说明
└── User-manual.md # 用户手册
启动服务后,访问以下地址查看 API 文档:
- Swagger UI: http://localhost:8000/docs
- ReDoc: http://localhost:8000/redoc
| 模块 | 前缀 | 说明 |
|---|---|---|
| 认证 | /api/v1/auth |
用户登录、注册、密码管理 |
| 采集任务 | /api/v1/tasks |
任务创建、管理、进度查询 |
| 情报数据 | /api/v1/intelligence |
情报查询、搜索、统计 |
| 分析报告 | /api/v1/reports |
报告生成、管理、收藏 |
| 监控配置 | /api/v1/monitors |
监控规则管理 |
| 预警 | /api/v1/alerts |
预警规则、预警记录管理 |
| 管理 | /api/v1/admin |
用户管理、系统配置(仅管理员) |
| 角色 | 权限 |
|---|---|
| 管理员 | 所有权限,包括用户管理、系统配置 |
| 普通用户 | 创建和管理自己的任务、报告、监控、预警 |
系统支持多种通知方式:
- 📧 电子邮件:通过 SMTP 发送邮件通知
- 💬 钉钉:通过钉钉机器人发送消息
- 📱 短信:通过短信服务商 API 发送短信
本项目采用 MIT 许可证。详见 LICENSE 文件。
欢迎贡献代码、报告问题或提出建议!
- 项目地址:https://github.com/your-org/openosint
- 问题反馈:https://github.com/your-org/openosint/issues
OpenOSINT - 让舆情监控更智能