覆盖 27 个此前缺少返回链接的报告页和独立页面(共 50 个 HTML 页,index.html 首页除外) - 标准报告页:header/header-bar 内插入 back-link - 特殊页面:深国际、中医馆、YqBoot、交互式演示等单独适配 - 统一文案「← 返回知识库」,URL 按目录深度自动推算
This commit is contained in:
@@ -0,0 +1,111 @@
|
||||
#!/bin/bash
|
||||
# ============================================================
|
||||
# Spring AI Alibaba 全功能平台 — 一键启动脚本
|
||||
# 环境:WSL2 Debian · 本地内网
|
||||
# 用法:bash start.sh
|
||||
# ============================================================
|
||||
set -e
|
||||
|
||||
RED='\033[0;31m'; GREEN='\033[0;32m'; YELLOW='\033[1;33m'; BLUE='\033[0;34m'; NC='\033[0m'
|
||||
log() { echo -e "${BLUE}[INFO]${NC} $1"; }
|
||||
ok() { echo -e "${GREEN}[OK]${NC} $1"; }
|
||||
warn() { echo -e "${YELLOW}[WARN]${NC} $1"; }
|
||||
err() { echo -e "${RED}[ERR]${NC} $1"; }
|
||||
|
||||
echo "=============================================="
|
||||
echo " Spring AI Alibaba 全功能平台 — 启动脚本"
|
||||
echo "=============================================="
|
||||
echo ""
|
||||
|
||||
# ---- 1. 环境检查 ----
|
||||
log "Step 1/5: 检查运行环境..."
|
||||
|
||||
if ! command -v docker &>/dev/null; then
|
||||
err "Docker 未安装。请先执行 Docker 安装步骤。"
|
||||
echo " 参考: https://docs.docker.com/engine/install/debian/"
|
||||
exit 1
|
||||
fi
|
||||
ok "Docker $(docker --version | awk '{print $3}' | tr -d ',')"
|
||||
|
||||
if ! docker compose version &>/dev/null; then
|
||||
err "Docker Compose 未安装。"
|
||||
exit 1
|
||||
fi
|
||||
ok "Docker Compose 已就绪"
|
||||
|
||||
if ! command -v java &>/dev/null; then
|
||||
err "Java 未安装。需要 JDK 17+。"
|
||||
exit 1
|
||||
fi
|
||||
ok "Java $(java -version 2>&1 | head -1 | awk -F'"' '{print $2}')"
|
||||
|
||||
# ---- 2. 检查端口占用 ----
|
||||
log "Step 2/5: 检查端口占用..."
|
||||
PORTS=(5432 8848 9848 9000 9001 8080)
|
||||
OCCUPIED=""
|
||||
for p in "${PORTS[@]}"; do
|
||||
if ss -tlnp | grep -q ":$p "; then
|
||||
OCCUPIED="$OCCUPIED $p"
|
||||
fi
|
||||
done
|
||||
if [ -n "$OCCUPIED" ]; then
|
||||
warn "以下端口已被占用:$OCCUPIED"
|
||||
echo " 请先释放这些端口,或修改 docker-compose.yml 中的端口映射。"
|
||||
echo " 查看占用进程: ss -tlnp | grep -E ':(5432|8848|9000|9001|8080) '"
|
||||
read -p "是否继续? [y/N] " -n 1 -r; echo
|
||||
[[ ! $REPLY =~ ^[Yy]$ ]] && exit 1
|
||||
else
|
||||
ok "所有端口空闲"
|
||||
fi
|
||||
|
||||
# ---- 3. 启动中间件 ----
|
||||
log "Step 3/5: 启动中间件 (PostgreSQL + Nacos + MinIO)..."
|
||||
SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)"
|
||||
cd "$SCRIPT_DIR"
|
||||
docker compose up -d
|
||||
|
||||
echo " 等待 PostgreSQL 就绪..."
|
||||
until docker compose exec -T postgres pg_isready -U sa_agent &>/dev/null; do sleep 1; done
|
||||
ok "PostgreSQL 就绪 (5432)"
|
||||
|
||||
echo " 等待 Nacos 就绪..."
|
||||
until curl -s http://localhost:8848/nacos/v1/console/health/readiness &>/dev/null; do sleep 1; done
|
||||
ok "Nacos 就绪 (8848)"
|
||||
ok " Nacos 控制台: http://localhost:8848/nacos (nacos/nacos)"
|
||||
|
||||
echo " 等待 MinIO 就绪..."
|
||||
until curl -s http://localhost:9000/minio/health/live &>/dev/null; do sleep 1; done
|
||||
ok "MinIO 就绪 (9000)"
|
||||
ok " MinIO 控制台: http://localhost:9001 (minioadmin/minioadmin)"
|
||||
|
||||
# ---- 4. Nacos 命名空间初始化 ----
|
||||
log "Step 4/5: 初始化 Nacos 命名空间..."
|
||||
|
||||
NACOS_AUTH="nacos:nacos"
|
||||
for ns in sa-agent-mcp sa-agent-config sa-agent-a2a; do
|
||||
curl -s -X POST \
|
||||
"http://localhost:8848/nacos/v1/console/namespaces" \
|
||||
-u "$NACOS_AUTH" \
|
||||
-d "customNamespaceId=$ns&namespaceName=$ns&namespaceDesc=$ns" \
|
||||
&>/dev/null && ok " 命名空间 $ns 已创建" || warn " 命名空间 $ns 可能已存在"
|
||||
done
|
||||
|
||||
# ---- 5. 应用构建提示 ----
|
||||
log "Step 5/5: 应用构建..."
|
||||
echo ""
|
||||
echo " 中间件已全部就绪!接下来需要构建 Spring AI Alibaba 应用:"
|
||||
echo ""
|
||||
echo " cd spring-ai-alibaba-platform"
|
||||
echo " export DASHSCOPE_API_KEY=sk-your-key-here"
|
||||
echo " mvn spring-boot:run"
|
||||
echo ""
|
||||
echo " 启动后访问: http://localhost:8080/chatui"
|
||||
echo ""
|
||||
echo "=============================================="
|
||||
echo " 服务状态一览"
|
||||
echo "=============================================="
|
||||
echo " PostgreSQL : localhost:5432 (sa_agent / agent_2026)"
|
||||
echo " Nacos : localhost:8848 (nacos / nacos)"
|
||||
echo " MinIO : localhost:9001 (minioadmin / minioadmin)"
|
||||
echo " Agent平台 : localhost:8080 启动后可用"
|
||||
echo "=============================================="
|
||||
Reference in New Issue
Block a user