first commit

This commit is contained in:
2026-04-23 09:58:47 +08:00
commit 448e078d99
49 changed files with 5188 additions and 0 deletions

View File

@@ -0,0 +1,73 @@
#!/usr/bin/env bash
# ══════════════════════════════════════════════════
# 01_setup_project.sh
# 初始化项目:创建目录、生成 .env 文件
# 用法bash scripts/01_setup_project.sh
# ══════════════════════════════════════════════════
set -euo pipefail
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
PROJECT_DIR="$(dirname "$SCRIPT_DIR")"
RED='\033[0;31m'; GREEN='\033[0;32m'; YELLOW='\033[1;33m'; BLUE='\033[0;34m'; NC='\033[0m'
info() { echo -e "${BLUE}[INFO]${NC} $*"; }
ok() { echo -e "${GREEN}[OK]${NC} $*"; }
warn() { echo -e "${YELLOW}[WARN]${NC} $*"; }
cd "$PROJECT_DIR"
info "项目目录:$PROJECT_DIR"
# ── 创建运行时目录 ──────────────────────────────
info "创建运行时目录..."
mkdir -p data/uploads data/parsed logs models
mkdir -p services/embedding services/mcp-server
mkdir -p services/compliance-backend/app/{core,api,services,models}
ok "目录结构创建完成"
# ── 复制 .env 文件 ──────────────────────────────
if [[ ! -f ".env" ]]; then
cp .env.example .env
warn "已创建 .env 文件,请编辑并填写必要配置:"
warn " 必填DEEPSEEK_API_KEY或 DASHSCOPE_API_KEY"
warn " 可选:修改各组件密码"
echo ""
echo -e "${YELLOW}是否现在编辑 .env 文件?(y/n)${NC}"
read -r ans
if [[ "$ans" == "y" ]]; then
${EDITOR:-nano} .env
fi
else
ok ".env 文件已存在,跳过复制"
fi
# ── 验证 .env 关键字段 ──────────────────────────
info "验证 .env 配置..."
source .env 2>/dev/null || true
if [[ -z "${DEEPSEEK_API_KEY:-}" && -z "${DASHSCOPE_API_KEY:-}" ]]; then
warn "⚠️ 未设置 LLM API Key"
warn " 请在 .env 中设置 DEEPSEEK_API_KEY 或 DASHSCOPE_API_KEY"
warn " DeepSeek 申请https://platform.deepseek.com"
else
ok "LLM API Key 已配置"
fi
# ── 验证 Docker ─────────────────────────────────
info "检查 Docker 环境..."
if ! command -v docker &>/dev/null; then
warn "Docker 未安装请先运行bash scripts/00_install_docker_ubuntu.sh"
exit 1
fi
docker compose version > /dev/null
ok "Docker Compose 可用:$(docker compose version)"
# ── 显示下一步 ──────────────────────────────────
echo ""
echo -e "${GREEN}══════════════════════════════════════════${NC}"
echo -e "${GREEN} 项目初始化完成!${NC}"
echo -e "${GREEN}══════════════════════════════════════════${NC}"
echo ""
echo "下一步操作:"
echo " 1. 拉取镜像可选较慢bash scripts/02_pull_images.sh"
echo " 2. 启动全部服务: bash scripts/06_start_all.sh"
echo " 3. 检查健康状态: bash scripts/check_health.sh"