ICSCyberDefensePlatform/
├── .gitignore # Git 忽略文件配置
├── backend/ # Flask + Python 后端项目
├── frontend/ # Vue 3 + TypeScript 前端项目
├── geo/ # GeoIP 数据目录 (需手动放置)
├── log_collector/ # 独立日志收集服务
├── log_parser/ # 日志解析脚本
├── README.md # 就是你正在看的这个文件
└── start_services.sh # 一键启动脚本
在开始之前,请确保您的开发环境中安装了以下工具:
- Node.js:
v16.0.0或更高版本 (自带npm) - Python:
v3.8.0或更高版本
git clone [此处替换为您的项目GIT仓库地址]
cd ICSCyberDefensePlatform在启动服务前,您需要分别为前端和后端设置好运行环境。
后端服务使用 Python 和 Flask 构建,依赖于虚拟环境进行管理。
# 进入后端目录
cd backend
# 创建 Python 虚拟环境
python3 -m venv venv
# 激活虚拟环境
# Linux / macOS:
source venv/bin/activate
# Windows:
# venv\Scripts\activate
# 安装所需的 Python 依赖包
pip install -r requirements.txt
注:日志收集服务 (log_collector) 将会复用此后端虚拟环境中的Python解释器和依赖。
前端服务使用 Node.js 和 Vue 构建。
# 进入前端目录
cd frontend
# 安装所需的 Node.js 依赖包
npm install
# 返回项目根目录
cd ..本项目的智能分析功能依赖于预训练的语言模型。由于模型文件体积较大,它们未包含在代码仓库中,您需要在使用前手动下载并将它们放置在正确的位置。
所需模型:
- Qwen3-Embedding-0.6B: 文本向量化模型。
- Qwen3-Reranker-0.6B: 用于优化检索结果的重排模型。
请从模型来源(如 Hugging Face)下载它们,并确保它们被解压并放置在以下目录结构中:
ICSCyberDefensePlatform/
└── backend/
└── models/
├── Qwen3-Embedding-0.6B/
└── Qwen3-Reranker-0.6B/
您可以在 Hugging Face 等模型社区搜索并下载这些模型。
当您完成上述环境和模型准备后,即可使用根目录下的 start_services.sh 脚本一键启动所有必需的服务。
# 确保脚本有执行权限
chmod +x start_services.sh
# 执行脚本启动所有服务
./start_services.sh服务启动后,您可以通过浏览器访问前端应用:
- 访问地址: http://localhost:9527
启动脚本会打印出各个服务的进程ID(PID)。您可以使用 kill 命令手动停止它们。