Spaces:
Sleeping
Sleeping
| # 多JWT负载均衡启动示例脚本 | |
| echo "=== JetBrains AI Proxy 多JWT负载均衡启动示例 ===" | |
| # 检查是否提供了JWT tokens | |
| if [ -z "$1" ]; then | |
| echo "用法: $0 \"jwt_token1,jwt_token2,jwt_token3\" [bearer_token] [strategy] [port]" | |
| echo "" | |
| echo "参数说明:" | |
| echo " jwt_tokens - 多个JWT tokens,用逗号分隔(必需)" | |
| echo " bearer_token - Bearer token(可选,默认从环境变量读取)" | |
| echo " strategy - 负载均衡策略:round_robin 或 random(可选,默认round_robin)" | |
| echo " port - 监听端口(可选,默认8080)" | |
| echo "" | |
| echo "示例:" | |
| echo " $0 \"jwt1,jwt2,jwt3\"" | |
| echo " $0 \"jwt1,jwt2,jwt3\" \"bearer123\" \"random\" 9090" | |
| echo "" | |
| echo "环境变量配置示例:" | |
| echo " export JWT_TOKENS=\"jwt1,jwt2,jwt3\"" | |
| echo " export BEARER_TOKEN=\"your_bearer_token\"" | |
| echo " export LOAD_BALANCE_STRATEGY=\"random\"" | |
| echo " ./jetbrains-ai-proxy" | |
| exit 1 | |
| fi | |
| # 参数设置 | |
| JWT_TOKENS="$1" | |
| BEARER_TOKEN="${2:-$BEARER_TOKEN}" | |
| STRATEGY="${3:-round_robin}" | |
| PORT="${4:-8080}" | |
| # 检查Bearer token | |
| if [ -z "$BEARER_TOKEN" ]; then | |
| echo "错误: 需要提供Bearer token" | |
| echo "请通过参数提供或设置环境变量 BEARER_TOKEN" | |
| exit 1 | |
| fi | |
| # 检查策略有效性 | |
| if [ "$STRATEGY" != "round_robin" ] && [ "$STRATEGY" != "random" ]; then | |
| echo "警告: 无效的负载均衡策略 '$STRATEGY',使用默认策略 'round_robin'" | |
| STRATEGY="round_robin" | |
| fi | |
| # 计算JWT tokens数量 | |
| TOKEN_COUNT=$(echo "$JWT_TOKENS" | tr ',' '\n' | wc -l | tr -d ' ') | |
| echo "配置信息:" | |
| echo " JWT Tokens数量: $TOKEN_COUNT" | |
| echo " 负载均衡策略: $STRATEGY" | |
| echo " 监听端口: $PORT" | |
| echo " Bearer Token: ${BEARER_TOKEN:0:10}..." | |
| echo "" | |
| # 启动服务 | |
| echo "启动 JetBrains AI Proxy..." | |
| echo "命令: ./jetbrains-ai-proxy -p $PORT -c \"$JWT_TOKENS\" -k \"$BEARER_TOKEN\" -s \"$STRATEGY\"" | |
| echo "" | |
| # 检查可执行文件是否存在 | |
| if [ ! -f "./jetbrains-ai-proxy" ]; then | |
| echo "错误: 找不到可执行文件 './jetbrains-ai-proxy'" | |
| echo "请先编译项目: go build -o jetbrains-ai-proxy" | |
| exit 1 | |
| fi | |
| # 启动服务 | |
| exec ./jetbrains-ai-proxy -p "$PORT" -c "$JWT_TOKENS" -k "$BEARER_TOKEN" -s "$STRATEGY" | |