first commit
This commit is contained in:
Executable
+142
@@ -0,0 +1,142 @@
|
||||
#!/bin/bash
|
||||
|
||||
# SentClaw 项目初始化脚本
|
||||
# 用途:一键初始化开发环境
|
||||
|
||||
set -e
|
||||
|
||||
echo "=========================================="
|
||||
echo "SentClaw 项目初始化脚本"
|
||||
echo "=========================================="
|
||||
echo ""
|
||||
|
||||
# 检查 Docker
|
||||
if ! command -v docker &> /dev/null; then
|
||||
echo "❌ Docker 未安装,请先安装 Docker"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if ! command -v docker-compose &> /dev/null; then
|
||||
echo "❌ Docker Compose 未安装,请先安装 Docker Compose"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# 检查 Node.js
|
||||
if ! command -v node &> /dev/null; then
|
||||
echo "❌ Node.js 未安装,请先安装 Node.js 18+"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# 检查 Python
|
||||
if ! command -v python3 &> /dev/null; then
|
||||
echo "❌ Python 未安装,请先安装 Python 3.9+"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo "✅ 环境检查通过"
|
||||
echo ""
|
||||
|
||||
# 复制环境变量文件
|
||||
if [ ! -f .env ]; then
|
||||
echo "📋 创建 .env 文件..."
|
||||
cp .env.example .env
|
||||
echo "✅ .env 文件已创建,请根据需要修改配置"
|
||||
else
|
||||
echo "⚠️ .env 文件已存在,跳过创建"
|
||||
fi
|
||||
echo ""
|
||||
|
||||
# 启动 Docker 服务
|
||||
echo "🐳 启动 Docker 服务(MySQL + Redis)..."
|
||||
docker-compose up -d
|
||||
echo "✅ Docker 服务已启动"
|
||||
echo ""
|
||||
|
||||
# 等待 MySQL 启动
|
||||
echo "⏳ 等待 MySQL 启动..."
|
||||
sleep 10
|
||||
|
||||
# 初始化后端
|
||||
echo "🔧 初始化后端..."
|
||||
cd backend
|
||||
|
||||
# 创建虚拟环境
|
||||
if [ ! -d venv ]; then
|
||||
echo "📦 创建 Python 虚拟环境..."
|
||||
python3 -m venv venv
|
||||
echo "✅ 虚拟环境已创建"
|
||||
else
|
||||
echo "⚠️ 虚拟环境已存在,跳过创建"
|
||||
fi
|
||||
|
||||
# 激活虚拟环境并安装依赖
|
||||
echo "📦 安装 Python 依赖..."
|
||||
source venv/bin/activate
|
||||
pip install -r requirements.txt
|
||||
|
||||
# 初始化数据库
|
||||
echo "🗄️ 初始化数据库..."
|
||||
flask db upgrade
|
||||
|
||||
cd ..
|
||||
echo "✅ 后端初始化完成"
|
||||
echo ""
|
||||
|
||||
# 初始化前端
|
||||
echo "🔧 初始化前端..."
|
||||
cd web
|
||||
|
||||
if [ ! -d node_modules ]; then
|
||||
echo "📦 安装 Node.js 依赖..."
|
||||
npm install
|
||||
echo "✅ 前端依赖已安装"
|
||||
else
|
||||
echo "⚠️ node_modules 已存在,跳过安装"
|
||||
fi
|
||||
|
||||
cd ..
|
||||
echo "✅ 前端初始化完成"
|
||||
echo ""
|
||||
|
||||
# 初始化桌面应用
|
||||
echo "🔧 初始化桌面应用..."
|
||||
cd desktop
|
||||
|
||||
if [ ! -d node_modules ]; then
|
||||
echo "📦 安装 Electron 依赖..."
|
||||
npm install
|
||||
echo "✅ 桌面应用依赖已安装"
|
||||
else
|
||||
echo "⚠️ node_modules 已存在,跳过安装"
|
||||
fi
|
||||
|
||||
cd ..
|
||||
echo "✅ 桌面应用初始化完成"
|
||||
echo ""
|
||||
|
||||
echo "=========================================="
|
||||
echo "🎉 初始化完成!"
|
||||
echo "=========================================="
|
||||
echo ""
|
||||
echo "📖 快速开始:"
|
||||
echo ""
|
||||
echo "1. 启动后端:"
|
||||
echo " cd backend"
|
||||
echo " source venv/bin/activate"
|
||||
echo " python run.py"
|
||||
echo ""
|
||||
echo "2. 启动前端(新终端):"
|
||||
echo " cd web"
|
||||
echo " npm run dev"
|
||||
echo ""
|
||||
echo "3. 启动桌面应用(新终端):"
|
||||
echo " cd desktop"
|
||||
echo " npm run dev"
|
||||
echo ""
|
||||
echo "4. 访问应用:"
|
||||
echo " Web: http://localhost:5173"
|
||||
echo " API: http://localhost:5000"
|
||||
echo " 默认账号: admin / admin123"
|
||||
echo ""
|
||||
echo "💡 更多信息请查看 README.md"
|
||||
echo ""
|
||||
Reference in New Issue
Block a user