mirror of
https://gitee.com/houhuan/TrendRadar.git
synced 2025-12-21 12:47:16 +08:00
119 lines
3.7 KiB
Bash
119 lines
3.7 KiB
Bash
#!/bin/bash
|
||
|
||
# 颜色定义
|
||
RED='\033[0;31m'
|
||
GREEN='\033[0;32m'
|
||
YELLOW='\033[1;33m'
|
||
BLUE='\033[0;34m'
|
||
BOLD='\033[1m'
|
||
NC='\033[0m' # No Color
|
||
|
||
echo -e "${BOLD}╔════════════════════════════════════════╗${NC}"
|
||
echo -e "${BOLD}║ TrendRadar MCP 一键部署 (Mac) ║${NC}"
|
||
echo -e "${BOLD}╚════════════════════════════════════════╝${NC}"
|
||
echo ""
|
||
|
||
# 获取项目根目录
|
||
PROJECT_ROOT="$(cd "$(dirname "$0")" && pwd)"
|
||
|
||
echo -e "📍 项目目录: ${BLUE}${PROJECT_ROOT}${NC}"
|
||
echo ""
|
||
|
||
# 检查 UV 是否已安装
|
||
if ! command -v uv &> /dev/null; then
|
||
echo -e "${YELLOW}[1/3] 🔧 UV 未安装,正在自动安装...${NC}"
|
||
echo "提示: UV 是一个快速的 Python 包管理器,只需安装一次"
|
||
echo ""
|
||
curl -LsSf https://astral.sh/uv/install.sh | sh
|
||
|
||
echo ""
|
||
echo "正在刷新 PATH 环境变量..."
|
||
echo ""
|
||
|
||
# 添加 UV 到 PATH
|
||
export PATH="$HOME/.cargo/bin:$PATH"
|
||
|
||
# 验证 UV 是否真正可用
|
||
if ! command -v uv &> /dev/null; then
|
||
echo -e "${RED}❌ [错误] UV 安装失败${NC}"
|
||
echo ""
|
||
echo "可能的原因:"
|
||
echo " 1. 网络连接问题,无法下载安装脚本"
|
||
echo " 2. 安装路径权限不足"
|
||
echo " 3. 安装脚本执行异常"
|
||
echo ""
|
||
echo "解决方案:"
|
||
echo " 1. 检查网络连接是否正常"
|
||
echo " 2. 手动安装: https://docs.astral.sh/uv/getting-started/installation/"
|
||
echo " 3. 或运行: curl -LsSf https://astral.sh/uv/install.sh | sh"
|
||
exit 1
|
||
fi
|
||
|
||
echo -e "${GREEN}✅ [成功] UV 已安装${NC}"
|
||
echo -e "${YELLOW}⚠️ 请重新运行此脚本以继续${NC}"
|
||
exit 0
|
||
else
|
||
echo -e "${GREEN}[1/3] ✅ UV 已安装${NC}"
|
||
uv --version
|
||
fi
|
||
|
||
echo ""
|
||
echo "[2/3] 📦 安装项目依赖..."
|
||
echo "提示: 这可能需要 1-2 分钟,请耐心等待"
|
||
echo ""
|
||
|
||
# 创建虚拟环境并安装依赖
|
||
uv sync
|
||
|
||
if [ $? -ne 0 ]; then
|
||
echo ""
|
||
echo -e "${RED}❌ [错误] 依赖安装失败${NC}"
|
||
echo "请检查网络连接后重试"
|
||
exit 1
|
||
fi
|
||
|
||
echo ""
|
||
echo -e "${GREEN}[3/3] ✅ 检查配置文件...${NC}"
|
||
echo ""
|
||
|
||
# 检查配置文件
|
||
if [ ! -f "config/config.yaml" ]; then
|
||
echo -e "${YELLOW}⚠️ [警告] 未找到配置文件: config/config.yaml${NC}"
|
||
echo "请确保配置文件存在"
|
||
echo ""
|
||
fi
|
||
|
||
# 添加执行权限
|
||
chmod +x start-http.sh 2>/dev/null || true
|
||
|
||
# 获取 UV 路径
|
||
UV_PATH=$(which uv)
|
||
|
||
echo ""
|
||
echo -e "${BOLD}╔════════════════════════════════════════╗${NC}"
|
||
echo -e "${BOLD}║ 部署完成! ║${NC}"
|
||
echo -e "${BOLD}╚════════════════════════════════════════╝${NC}"
|
||
echo ""
|
||
echo "📋 下一步操作:"
|
||
echo ""
|
||
echo " 1️⃣ 打开 Cherry Studio"
|
||
echo " 2️⃣ 进入 设置 > MCP Servers > 添加服务器"
|
||
echo " 3️⃣ 填入以下配置:"
|
||
echo ""
|
||
echo " 名称: TrendRadar"
|
||
echo " 描述: 新闻热点聚合工具"
|
||
echo " 类型: STDIO"
|
||
echo -e " 命令: ${BLUE}${UV_PATH}${NC}"
|
||
echo " 参数(每个占一行):"
|
||
echo -e " ${BLUE}--directory${NC}"
|
||
echo -e " ${BLUE}${PROJECT_ROOT}${NC}"
|
||
echo -e " ${BLUE}run${NC}"
|
||
echo -e " ${BLUE}python${NC}"
|
||
echo -e " ${BLUE}-m${NC}"
|
||
echo -e " ${BLUE}mcp_server.server${NC}"
|
||
echo ""
|
||
echo " 4️⃣ 保存并启用 MCP 开关"
|
||
echo ""
|
||
echo "📖 详细教程请查看: README-Cherry-Studio.md,本窗口别关,待会儿用于填入参数"
|
||
echo ""
|