|
|
#!/bin/bash |
|
|
|
|
|
|
|
|
|
|
|
echo "=== JetBrains AI Proxy 多JWT负载均衡启动示例 ===" |
|
|
|
|
|
|
|
|
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}" |
|
|
|
|
|
|
|
|
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 |
|
|
|
|
|
|
|
|
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" |
|
|
|