File size: 3,271 Bytes
1766992
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
@echo off
chcp 65001 >nul 2>&1
setlocal enabledelayedexpansion

:: Cursor2API Go启动脚本

echo.
echo =========================================
echo     🚀  Cursor2API启动器 Go版本
echo =========================================
echo.

:: 检查Go是否安装
go version >nul 2>&1
if errorlevel 1 (
    echo [错误] Go 未安装,请先安装 Go 1.21 或更高版本
    echo [提示] 安装方法: https://golang.org/dl/
    pause
    exit /b 1
)

:: 显示Go版本并检查版本号
for /f "tokens=3" %%i in ('go version') do set GO_VERSION=%%i
set GO_VERSION=!GO_VERSION:go=!

:: 检查Go版本是否满足要求 (需要 >= 1.21)
for /f "tokens=1,2 delims=." %%a in ("!GO_VERSION!") do (
    set MAJOR=%%a
    set MINOR=%%b
)
if !MAJOR! LSS 1 (
    echo [错误] Go 版本 !GO_VERSION! 过低,请安装 Go 1.21 或更高版本
    pause
    exit /b 1
)
if !MAJOR! EQU 1 if !MINOR! LSS 21 (
    echo [错误] Go 版本 !GO_VERSION! 过低,请安装 Go 1.21 或更高版本
    pause
    exit /b 1
)

echo [成功] Go 版本检查通过: !GO_VERSION!

:: 检查Node.js是否安装
node --version >nul 2>&1
if errorlevel 1 (
    echo [错误] Node.js 未安装,请先安装 Node.js 18 或更高版本
    echo [提示] 安装方法: https://nodejs.org/
    pause
    exit /b 1
)

:: 显示Node.js版本并检查版本号
for /f "delims=" %%i in ('node --version') do set NODE_VERSION=%%i
set NODE_VERSION=!NODE_VERSION:v=!

:: 检查Node.js版本是否满足要求 (需要 >= 18)
for /f "tokens=1 delims=." %%a in ("!NODE_VERSION!") do set NODE_MAJOR=%%a
if !NODE_MAJOR! LSS 18 (
    echo [错误] Node.js 版本 !NODE_VERSION! 过低,请安装 Node.js 18 或更高版本
    pause
    exit /b 1
)

echo [成功] Node.js 版本检查通过: !NODE_VERSION!

:: 创建.env文件(如果不存在)
if not exist .env (
    echo [信息] 创建默认 .env 配置文件...
    (
        echo # 服务器配置
        echo PORT=8002
        echo DEBUG=false
        echo.
        echo # API配置
        echo API_KEY=0000
        echo MODELS=claude-sonnet-4.6
        echo SYSTEM_PROMPT_INJECT=
        echo.
        echo # 请求配置
        echo TIMEOUT=30
        echo USER_AGENT=Mozilla/5.0 ^(Windows NT 10.0; Win64; x64^) AppleWebKit/537.36 ^(KHTML, like Gecko^) Chrome/140.0.0.0 Safari/537.36
        echo.
        echo # Cursor配置
        echo SCRIPT_URL=https://cursor.com/149e9513-01fa-4fb0-aad4-566afd725d1b/2d206a39-8ed7-437e-a3be-862e0f06eea3/a-4-a/c.js?i=0^^^&v=3^^^&h=cursor.com
    ) > .env
    echo [成功] 默认 .env 文件已创建
) else (
    echo [成功] 配置文件 .env 已存在
)

:: 下载依赖
echo.
echo [信息] 正在下载 Go 依赖...
go mod download
if errorlevel 1 (
    echo [错误] 依赖下载失败!
    pause
    exit /b 1
)

:: 构建应用
echo [信息] 正在编译 Go 应用...
go build -o cursor2api-go.exe .
if errorlevel 1 (
    echo [错误] 编译失败!
    pause
    exit /b 1
)

:: 检查构建是否成功
if not exist cursor2api-go.exe (
    echo [错误] 编译失败 - 可执行文件未找到
    pause
    exit /b 1
)

echo [成功] 应用编译成功!

:: 显示服务信息
echo.
echo [成功] 准备就绪,正在启动服务...
echo.

:: 启动服务
cursor2api-go.exe

pause