setup-mac.sh 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118
  1. #!/bin/bash
  2. # 颜色定义
  3. RED='\033[0;31m'
  4. GREEN='\033[0;32m'
  5. YELLOW='\033[1;33m'
  6. BLUE='\033[0;34m'
  7. BOLD='\033[1m'
  8. NC='\033[0m' # No Color
  9. echo -e "${BOLD}╔════════════════════════════════════════╗${NC}"
  10. echo -e "${BOLD}║ TrendRadar MCP 一键部署 (Mac) ║${NC}"
  11. echo -e "${BOLD}╚════════════════════════════════════════╝${NC}"
  12. echo ""
  13. # 获取项目根目录
  14. PROJECT_ROOT="$(cd "$(dirname "$0")" && pwd)"
  15. echo -e "📍 项目目录: ${BLUE}${PROJECT_ROOT}${NC}"
  16. echo ""
  17. # 检查 UV 是否已安装
  18. if ! command -v uv &> /dev/null; then
  19. echo -e "${YELLOW}[1/3] 🔧 UV 未安装,正在自动安装...${NC}"
  20. echo "提示: UV 是一个快速的 Python 包管理器,只需安装一次"
  21. echo ""
  22. curl -LsSf https://astral.sh/uv/install.sh | sh
  23. echo ""
  24. echo "正在刷新 PATH 环境变量..."
  25. echo ""
  26. # 添加 UV 到 PATH
  27. export PATH="$HOME/.cargo/bin:$PATH"
  28. # 验证 UV 是否真正可用
  29. if ! command -v uv &> /dev/null; then
  30. echo -e "${RED}❌ [错误] UV 安装失败${NC}"
  31. echo ""
  32. echo "可能的原因:"
  33. echo " 1. 网络连接问题,无法下载安装脚本"
  34. echo " 2. 安装路径权限不足"
  35. echo " 3. 安装脚本执行异常"
  36. echo ""
  37. echo "解决方案:"
  38. echo " 1. 检查网络连接是否正常"
  39. echo " 2. 手动安装: https://docs.astral.sh/uv/getting-started/installation/"
  40. echo " 3. 或运行: curl -LsSf https://astral.sh/uv/install.sh | sh"
  41. exit 1
  42. fi
  43. echo -e "${GREEN}✅ [成功] UV 已安装${NC}"
  44. echo -e "${YELLOW}⚠️ 请重新运行此脚本以继续${NC}"
  45. exit 0
  46. else
  47. echo -e "${GREEN}[1/3] ✅ UV 已安装${NC}"
  48. uv --version
  49. fi
  50. echo ""
  51. echo "[2/3] 📦 安装项目依赖..."
  52. echo "提示: 这可能需要 1-2 分钟,请耐心等待"
  53. echo ""
  54. # 创建虚拟环境并安装依赖
  55. uv sync
  56. if [ $? -ne 0 ]; then
  57. echo ""
  58. echo -e "${RED}❌ [错误] 依赖安装失败${NC}"
  59. echo "请检查网络连接后重试"
  60. exit 1
  61. fi
  62. echo ""
  63. echo -e "${GREEN}[3/3] ✅ 检查配置文件...${NC}"
  64. echo ""
  65. # 检查配置文件
  66. if [ ! -f "config/config.yaml" ]; then
  67. echo -e "${YELLOW}⚠️ [警告] 未找到配置文件: config/config.yaml${NC}"
  68. echo "请确保配置文件存在"
  69. echo ""
  70. fi
  71. # 添加执行权限
  72. chmod +x start-http.sh 2>/dev/null || true
  73. # 获取 UV 路径
  74. UV_PATH=$(which uv)
  75. echo ""
  76. echo -e "${BOLD}╔════════════════════════════════════════╗${NC}"
  77. echo -e "${BOLD}║ 部署完成! ║${NC}"
  78. echo -e "${BOLD}╚════════════════════════════════════════╝${NC}"
  79. echo ""
  80. echo "📋 下一步操作:"
  81. echo ""
  82. echo " 1️⃣ 打开 Cherry Studio"
  83. echo " 2️⃣ 进入 设置 > MCP Servers > 添加服务器"
  84. echo " 3️⃣ 填入以下配置:"
  85. echo ""
  86. echo " 名称: TrendRadar"
  87. echo " 描述: 新闻热点聚合工具"
  88. echo " 类型: STDIO"
  89. echo -e " 命令: ${BLUE}${UV_PATH}${NC}"
  90. echo " 参数(每个占一行):"
  91. echo -e " ${BLUE}--directory${NC}"
  92. echo -e " ${BLUE}${PROJECT_ROOT}${NC}"
  93. echo -e " ${BLUE}run${NC}"
  94. echo -e " ${BLUE}python${NC}"
  95. echo -e " ${BLUE}-m${NC}"
  96. echo -e " ${BLUE}mcp_server.server${NC}"
  97. echo ""
  98. echo " 4️⃣ 保存并启用 MCP 开关"
  99. echo ""
  100. echo "📖 详细教程请查看: README-Cherry-Studio.md,本窗口别关,待会儿用于填入参数"
  101. echo ""