#!/bin/bash # AI Code Quality Scanner 安装脚本 echo "=========================================" echo " AI Code Quality Scanner 安装脚本" echo "=========================================" # 检查 Python 版本 if ! command -v python3 &> /dev/null; then echo "❌ 错误: 未找到 Python3,请先安装 Python 3.8+" exit 1 fi PYTHON_VERSION=$(python3 -c 'import sys; print(".".join(map(str, sys.version_info[:2])))') echo "✅ Python 版本: $PYTHON_VERSION" # 创建虚拟环境(可选) if [ ! -d "venv" ]; then echo "📦 创建虚拟环境..." python3 -m venv venv fi # 激活虚拟环境 source venv/bin/activate # 安装依赖 echo "📦 安装 Python 依赖..." pip install --upgrade pip pip install -r requirements.txt # 创建必要的目录 echo "📁 创建必要的目录..." mkdir -p reports mkdir -p /tmp/code_scanner_clones # 检查并安装代码扫描工具(可选) echo "🛠️ 检查代码扫描工具..." # Pylint (Python) if command -v pylint &> /dev/null || python -m pylint --version &> /dev/null; then echo " ✅ Pylint 已安装" else echo " ⚠️ Pylint 未安装 (pip install pylint)" fi # Flake8 (Python) if command -v flake8 &> /dev/null || python -m flake8 --version &> /dev/null; then echo " ✅ Flake8 已安装" else echo " ⚠️ Flake8 未安装 (pip install flake8)" fi # Bandit (Python 安全扫描) if command -v bandit &> /dev/null || python -m bandit --version &> /dev/null; then echo " ✅ Bandit 已安装" else echo " ⚠️ Bandit 未安装 (pip install bandit)" fi # Node.js 和 npm (JavaScript 扫描) if command -v node &> /dev/null; then NODE_VERSION=$(node --version) echo " ✅ Node.js 版本: $NODE_VERSION" else echo " ⚠️ Node.js 未安装 (JavaScript 扫描需要)" fi echo "" echo "=========================================" echo " 安装完成!" echo "=========================================" echo "" echo "下一步操作:" echo "1. 编辑 config.yaml 配置飞书机器人和 Gitea" echo "2. 运行: python app.py" echo "3. 在 Gitea 中配置 Webhook" echo ""