-
Notifications
You must be signed in to change notification settings - Fork 341
Expand file tree
/
Copy pathstart-go-utf8.bat
More file actions
154 lines (134 loc) · 3.93 KB
/
start-go-utf8.bat
File metadata and controls
154 lines (134 loc) · 3.93 KB
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
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
@echo off
chcp 65001 >nul 2>&1
setlocal enabledelayedexpansion
:: Cursor2API启动脚本
echo.
echo =========================================
echo 🚀 Cursor2API启动器
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 ✅ 应用编译成功!
:: 读取 .env 配置
set PORT=8002
set API_KEY=0000
set MODELS=claude-sonnet-4.6
set DEBUG=false
if exist .env (
for /f "tokens=1,* delims==" %%a in ('findstr /r "^PORT= ^API_KEY= ^MODELS= ^DEBUG=" .env') do (
if "%%a"=="PORT" set PORT=%%b
if "%%a"=="API_KEY" set API_KEY=%%b
if "%%a"=="MODELS" set MODELS=%%b
if "%%a"=="DEBUG" set DEBUG=%%b
)
)
:: 掩码 API Key
set API_KEY_SHOW=!API_KEY:~0,4!****
:: 显示服务信息
echo.
echo =========================================
echo 🌐 服务地址: http://localhost:!PORT!
echo 📚 API 文档: http://localhost:!PORT!/
echo 💊 健康检查: http://localhost:!PORT!/health
echo 🔑 API 密钥: !API_KEY_SHOW!
echo 🤖 模型列表: !MODELS!
if "!DEBUG!"=="true" echo 🐛 调试模式: 已启用
echo =========================================
echo.
echo ✅ 准备就绪,正在启动服务... 按 Ctrl+C 停止
echo.
:: 启动服务
cursor2api-go.exe
pause