setup-windows.bat 4.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181
  1. @echo off
  2. chcp 65001 >nul
  3. setlocal enabledelayedexpansion
  4. echo ==========================================
  5. echo TrendRadar MCP 一键部署 (Windows)
  6. echo ==========================================
  7. echo.
  8. REM 修复:使用脚本所在目录,而不是当前工作目录
  9. set "PROJECT_ROOT=%~dp0"
  10. REM 移除末尾的反斜杠
  11. if "%PROJECT_ROOT:~-1%"=="\" set "PROJECT_ROOT=%PROJECT_ROOT:~0,-1%"
  12. echo 📍 项目目录: %PROJECT_ROOT%
  13. echo.
  14. REM 切换到项目目录
  15. cd /d "%PROJECT_ROOT%"
  16. if %errorlevel% neq 0 (
  17. echo ❌ 无法访问项目目录
  18. pause
  19. exit /b 1
  20. )
  21. REM 验证项目结构
  22. echo [0/4] 🔍 验证项目结构...
  23. if not exist "pyproject.toml" (
  24. echo ❌ 未找到 pyproject.toml 文件: %PROJECT_ROOT%
  25. echo.
  26. echo 请检查:
  27. echo 1. setup-windows.bat 是否在项目根目录?
  28. echo 2. 项目文件是否完整?
  29. echo.
  30. echo 当前目录内容:
  31. dir /b
  32. echo.
  33. pause
  34. exit /b 1
  35. )
  36. echo ✅ pyproject.toml 已找到
  37. echo.
  38. REM 检查 Python
  39. echo [1/4] 🐍 检查 Python...
  40. python --version >nul 2>&1
  41. if %errorlevel% neq 0 (
  42. echo ❌ 未检测到 Python,请先安装 Python 3.10+
  43. echo 下载地址: https://www.python.org/downloads/
  44. pause
  45. exit /b 1
  46. )
  47. for /f "tokens=*" %%i in ('python --version') do echo ✅ %%i
  48. echo.
  49. REM 检查 UV
  50. echo [2/4] 🔧 检查 UV...
  51. where uv >nul 2>&1
  52. if %errorlevel% neq 0 (
  53. echo UV 未安装,正在自动安装...
  54. echo.
  55. echo 尝试方法1: PowerShell 安装...
  56. powershell -ExecutionPolicy Bypass -Command "try { irm https://astral.sh/uv/install.ps1 | iex; exit 0 } catch { Write-Host 'PowerShell 安装失败'; exit 1 }"
  57. if %errorlevel% neq 0 (
  58. echo.
  59. echo 方法1失败,尝试方法2: pip 安装...
  60. python -m pip install --upgrade uv
  61. if %errorlevel% neq 0 (
  62. echo.
  63. echo ❌ 自动安装失败
  64. echo.
  65. echo 请手动安装 UV,可选方法:
  66. echo.
  67. echo 方法1 - pip:
  68. echo python -m pip install uv
  69. echo.
  70. echo 方法2 - pipx:
  71. echo pip install pipx
  72. echo pipx install uv
  73. echo.
  74. echo 方法3 - 手动下载:
  75. echo 访问: https://docs.astral.sh/uv/getting-started/installation/
  76. echo.
  77. pause
  78. exit /b 1
  79. )
  80. )
  81. echo.
  82. echo ✅ UV 安装完成!
  83. echo.
  84. echo ⚠️ 重要: 请按照以下步骤操作:
  85. echo 1. 关闭此窗口
  86. echo 2. 重新打开命令提示符(或 PowerShell)
  87. echo 3. 回到项目目录: %PROJECT_ROOT%
  88. echo 4. 重新运行此脚本: setup-windows.bat
  89. echo.
  90. pause
  91. exit /b 0
  92. ) else (
  93. for /f "tokens=*" %%i in ('uv --version') do echo ✅ %%i
  94. )
  95. echo.
  96. echo [3/4] 📦 安装项目依赖...
  97. echo 工作目录: %PROJECT_ROOT%
  98. echo.
  99. REM 确保在项目目录下执行
  100. cd /d "%PROJECT_ROOT%"
  101. uv sync
  102. if %errorlevel% neq 0 (
  103. echo.
  104. echo ❌ 依赖安装失败
  105. echo.
  106. echo 可能的原因:
  107. echo 1. 网络连接问题
  108. echo 2. Python 版本不兼容(需要 ^>= 3.10)
  109. echo 3. pyproject.toml 文件格式错误
  110. echo.
  111. echo 故障排查:
  112. echo - 检查网络连接
  113. echo - 验证 Python 版本: python --version
  114. echo - 尝试详细输出: uv sync --verbose
  115. echo.
  116. echo 项目目录: %PROJECT_ROOT%
  117. echo.
  118. pause
  119. exit /b 1
  120. )
  121. echo.
  122. echo ✅ 依赖安装成功
  123. echo.
  124. echo [4/4] ⚙️ 检查配置文件...
  125. if not exist "config\config.yaml" (
  126. echo ⚠️ 配置文件不存在: config\config.yaml
  127. if exist "config\config.example.yaml" (
  128. echo.
  129. echo 创建配置文件:
  130. echo 1. 复制: copy config\config.example.yaml config\config.yaml
  131. echo 2. 编辑: notepad config\config.yaml
  132. echo 3. 填入 API 密钥
  133. )
  134. echo.
  135. ) else (
  136. echo ✅ config\config.yaml 已存在
  137. )
  138. echo.
  139. REM 获取 UV 路径
  140. for /f "tokens=*" %%i in ('where uv 2^>nul') do set "UV_PATH=%%i"
  141. if not defined UV_PATH (
  142. set "UV_PATH=uv"
  143. )
  144. echo.
  145. echo ==========================================
  146. echo 部署完成!
  147. echo ==========================================
  148. echo.
  149. echo 📋 MCP 服务器配置信息(用于 Claude Desktop):
  150. echo.
  151. echo 命令: %UV_PATH%
  152. echo 工作目录: %PROJECT_ROOT%
  153. echo.
  154. echo 参数(逐行填入):
  155. echo --directory
  156. echo %PROJECT_ROOT%
  157. echo run
  158. echo python
  159. echo -m
  160. echo mcp_server.server
  161. echo.
  162. echo 📖 详细教程: README-Cherry-Studio.md
  163. echo.
  164. echo.
  165. pause