@@ -38,21 +38,14 @@ COMMAND_START="start"
3838COMMAND_STOP=" stop"
3939COMMAND_DELETE=" delete"
4040COMMAND_ROUTE=" route"
41- COMMAND_CONFIG=" config"
42- KNOWN_COMMANDS=($COMMAND_START , $COMMAND_STOP , $COMMAND_DELETE , $COMMAND_ROUTE , $COMMAND_CONFIG )
41+ KNOWN_COMMANDS=($COMMAND_START , $COMMAND_STOP , $COMMAND_DELETE , $COMMAND_ROUTE )
4342
4443# Route subcommands
4544ROUTE_ADD=" add"
4645ROUTE_LIST=" list"
4746ROUTE_REMOVE=" remove"
4847KNOWN_ROUTE_SUBCOMMANDS=($ROUTE_ADD , $ROUTE_LIST , $ROUTE_REMOVE )
4948
50- # Config subcommands
51- CONFIG_ADD=" add"
52- CONFIG_LIST=" list"
53- CONFIG_REMOVE=" remove"
54- KNOWN_CONFIG_SUBCOMMANDS=($CONFIG_ADD , $CONFIG_LIST , $CONFIG_REMOVE )
55-
5649cd " $( dirname -- " $0 " ) "
5750ROOT=" $( pwd -P) /higress"
5851SCRIPT_DIR=" $( pwd -P) "
@@ -291,15 +284,6 @@ parseArgs() {
291284 ROUTE_RULE_ID=" $2 "
292285 shift 2
293286 ;;
294- # Config command options
295- --provider)
296- CONFIG_PROVIDER=" $2 "
297- shift 2
298- ;;
299- --key)
300- CONFIG_KEY=" $2 "
301- shift 2
302- ;;
303287 -* | --* )
304288 echo " Unknown option $1 "
305289 exit 1
@@ -338,24 +322,6 @@ parseArgs() {
338322 exit 1
339323 fi
340324 fi
341-
342- # Parse config subcommand
343- if [ " $COMMAND " == " $COMMAND_CONFIG " ]; then
344- if [ ${# POSITIONAL_ARGS[@]} -gt 0 ]; then
345- CONFIG_SUBCOMMAND=" ${POSITIONAL_ARGS[0]} "
346- else
347- CONFIG_SUBCOMMAND=" "
348- fi
349- if [ -z " $CONFIG_SUBCOMMAND " ]; then
350- echo " Config subcommand required: add, list, remove"
351- exit 1
352- fi
353- if [[ ! ${KNOWN_CONFIG_SUBCOMMANDS[@]} =~ " $CONFIG_SUBCOMMAND " ]]; then
354- echo " Unknown config subcommand: $CONFIG_SUBCOMMAND "
355- echo " Available: add, list, remove"
356- exit 1
357- fi
358- fi
359325}
360326
361327configure () {
@@ -881,18 +847,12 @@ Commands:
881847 stop Stop the gateway
882848 delete Delete the gateway container
883849 route Manage auto-routing rules (see below)
884- config Manage API key configuration (see below)
885850
886851Route Subcommands:
887852 route add Add a new routing rule
888853 route list List all routing rules
889854 route remove Remove a routing rule by ID
890855
891- Config Subcommands:
892- config add Add or update an API key
893- config list List all configured API keys
894- config remove Remove an API key
895-
896856Options:
897857 -h, --help Show this help message
898858
@@ -917,10 +877,6 @@ Route Options (for route add/remove):
917877 --pattern REGEX Custom regex pattern (alternative to --trigger)
918878 --rule-id ID Rule ID to remove (required for remove)
919879
920- Config Options (for config add/remove):
921- --provider PROVIDER Provider name (dashscope, deepseek, moonshot, etc.)
922- --key KEY API key to set (required for add)
923-
924880LLM Provider API Keys:
925881 --dashscope-key KEY Aliyun Dashscope (Qwen) API key
926882 --deepseek-key KEY DeepSeek API key
@@ -975,15 +931,6 @@ Examples:
975931
976932 # Remove a routing rule
977933 ./get-ai-gateway.sh route remove --rule-id 0
978-
979- # List all configured API keys
980- ./get-ai-gateway.sh config list
981-
982- # Add or update an API key
983- ./get-ai-gateway.sh config add --provider deepseek --key sk-xxx
984-
985- # Remove an API key
986- ./get-ai-gateway.sh config remove --provider deepseek
987934'
988935}
989936
@@ -1197,279 +1144,6 @@ delete() {
11971144 fi
11981145}
11991146
1200- # ============================================================================
1201- # Config Command Functions
1202- # ============================================================================
1203-
1204- # Get provider name from environment variable name
1205- getProviderName () {
1206- local env_var=" $1 "
1207- case " $env_var " in
1208- DASHSCOPE_API_KEY) echo " Aliyun Dashscope (Qwen)" ;;
1209- DEEPSEEK_API_KEY) echo " DeepSeek" ;;
1210- MOONSHOT_API_KEY) echo " Moonshot (Kimi)" ;;
1211- ZHIPUAI_API_KEY) echo " Zhipu AI" ;;
1212- OPENAI_API_KEY) echo " OpenAI" ;;
1213- OPENROUTER_API_KEY) echo " OpenRouter" ;;
1214- CLAUDE_API_KEY) echo " Claude" ;;
1215- GEMINI_API_KEY) echo " Google Gemini" ;;
1216- GROQ_API_KEY) echo " Groq" ;;
1217- DOUBAO_API_KEY) echo " Doubao" ;;
1218- BAICHUAN_API_KEY) echo " Baichuan AI" ;;
1219- YI_API_KEY) echo " 01.AI (Yi)" ;;
1220- STEPFUN_API_KEY) echo " Stepfun" ;;
1221- MINIMAX_API_KEY) echo " Minimax" ;;
1222- COHERE_API_KEY) echo " Cohere" ;;
1223- MISTRAL_API_KEY) echo " Mistral AI" ;;
1224- GITHUB_API_KEY) echo " Github Models" ;;
1225- FIREWORKS_API_KEY) echo " Fireworks AI" ;;
1226- TOGETHERAI_API_KEY) echo " Together AI" ;;
1227- GROK_API_KEY) echo " Grok" ;;
1228- * ) echo " Unknown ($env_var )" ;;
1229- esac
1230- }
1231-
1232- # Get environment variable name from provider shorthand
1233- getEnvVarName () {
1234- local provider=" $1 "
1235- case " $provider " in
1236- dashscope|qwen) echo " DASHSCOPE_API_KEY" ;;
1237- deepseek) echo " DEEPSEEK_API_KEY" ;;
1238- moonshot|kimi) echo " MOONSHOT_API_KEY" ;;
1239- zhipuai|zhipu) echo " ZHIPUAI_API_KEY" ;;
1240- openai) echo " OPENAI_API_KEY" ;;
1241- openrouter) echo " OPENROUTER_API_KEY" ;;
1242- claude) echo " CLAUDE_API_KEY" ;;
1243- gemini) echo " GEMINI_API_KEY" ;;
1244- groq) echo " GROQ_API_KEY" ;;
1245- doubao) echo " DOUBAO_API_KEY" ;;
1246- baichuan) echo " BAICHUAN_API_KEY" ;;
1247- yi) echo " YI_API_KEY" ;;
1248- stepfun) echo " STEPFUN_API_KEY" ;;
1249- minimax) echo " MINIMAX_API_KEY" ;;
1250- cohere) echo " COHERE_API_KEY" ;;
1251- mistral) echo " MISTRAL_API_KEY" ;;
1252- github) echo " GITHUB_API_KEY" ;;
1253- fireworks) echo " FIREWORKS_API_KEY" ;;
1254- togetherai|together) echo " TOGETHERAI_API_KEY" ;;
1255- grok) echo " GROK_API_KEY" ;;
1256- * ) echo " " ;;
1257- esac
1258- }
1259-
1260- # Mask API key for display
1261- maskApiKey () {
1262- local key=" $1 "
1263- if [ -z " $key " ]; then
1264- echo " <not set>"
1265- return
1266- fi
1267- local len=${# key}
1268- if [ $len -le 8 ]; then
1269- echo " ${key: 0: 2} ***"
1270- else
1271- echo " ${key: 0: 4} ***${key: -4} "
1272- fi
1273- }
1274-
1275- # Config list: List all configured API keys
1276- configList () {
1277- local config_file=" $ROOT /$CONFIG_FILENAME "
1278-
1279- if [ ! -f " $config_file " ]; then
1280- echo " Error: Configuration file not found: $config_file "
1281- echo " Please start the gateway first with: $0 start"
1282- exit 1
1283- fi
1284-
1285- echo " Current LLM Provider API Keys:"
1286- echo
1287-
1288- # List of known API key environment variables
1289- local api_keys=(
1290- " DASHSCOPE_API_KEY"
1291- " DEEPSEEK_API_KEY"
1292- " MOONSHOT_API_KEY"
1293- " ZHIPUAI_API_KEY"
1294- " OPENAI_API_KEY"
1295- " OPENROUTER_API_KEY"
1296- " CLAUDE_API_KEY"
1297- " GEMINI_API_KEY"
1298- " GROQ_API_KEY"
1299- " DOUBAO_API_KEY"
1300- " BAICHUAN_API_KEY"
1301- " YI_API_KEY"
1302- " STEPFUN_API_KEY"
1303- " MINIMAX_API_KEY"
1304- " COHERE_API_KEY"
1305- " MISTRAL_API_KEY"
1306- " GITHUB_API_KEY"
1307- " FIREWORKS_API_KEY"
1308- " TOGETHERAI_API_KEY"
1309- " GROK_API_KEY"
1310- )
1311-
1312- local found=0
1313- for env_var in " ${api_keys[@]} " ; do
1314- local value=$( grep " ^${env_var} =" " $config_file " | cut -d' =' -f2-)
1315- if [ -n " $value " ]; then
1316- local provider_name=$( getProviderName " $env_var " )
1317- local masked=$( maskApiKey " $value " )
1318- printf " %-25s %s\n" " $provider_name :" " $masked "
1319- found=1
1320- fi
1321- done
1322-
1323- if [ $found -eq 0 ]; then
1324- echo " No API keys configured."
1325- echo
1326- echo " Add an API key with:"
1327- echo " $0 config add --provider <provider> --key <api-key>"
1328- else
1329- echo
1330- echo " Update an API key with:"
1331- echo " $0 config add --provider <provider> --key <new-api-key>"
1332- echo
1333- echo " Remove an API key with:"
1334- echo " $0 config remove --provider <provider>"
1335- fi
1336- }
1337-
1338- # Config add: Add or update an API key
1339- configAdd () {
1340- if [ -z " $CONFIG_PROVIDER " ]; then
1341- echo " Error: --provider is required"
1342- echo
1343- echo " Supported providers:"
1344- echo " dashscope, deepseek, moonshot, zhipuai, openai, openrouter,"
1345- echo " claude, gemini, groq, doubao, baichuan, yi, stepfun, minimax,"
1346- echo " cohere, mistral, github, fireworks, togetherai, grok"
1347- echo
1348- echo " Usage: $0 config add --provider <provider> --key <api-key>"
1349- exit 1
1350- fi
1351-
1352- if [ -z " $CONFIG_KEY " ]; then
1353- echo " Error: --key is required"
1354- echo " Usage: $0 config add --provider <provider> --key <api-key>"
1355- exit 1
1356- fi
1357-
1358- local config_file=" $ROOT /$CONFIG_FILENAME "
1359-
1360- if [ ! -f " $config_file " ]; then
1361- echo " Error: Configuration file not found: $config_file "
1362- echo " Please start the gateway first with: $0 start"
1363- exit 1
1364- fi
1365-
1366- local env_var=$( getEnvVarName " $CONFIG_PROVIDER " )
1367- if [ -z " $env_var " ]; then
1368- echo " Error: Unknown provider: $CONFIG_PROVIDER "
1369- echo
1370- echo " Supported providers:"
1371- echo " dashscope, deepseek, moonshot, zhipuai, openai, openrouter,"
1372- echo " claude, gemini, groq, doubao, baichuan, yi, stepfun, minimax,"
1373- echo " cohere, mistral, github, fireworks, togetherai, grok"
1374- exit 1
1375- fi
1376-
1377- local provider_name=$( getProviderName " $env_var " )
1378-
1379- # Check if the key already exists
1380- if grep -q " ^${env_var} =" " $config_file " ; then
1381- echo " Updating existing API key for $provider_name ..."
1382- sedInPlace " /^${env_var} =/c\\ ${env_var} =${CONFIG_KEY} " " $config_file "
1383- else
1384- echo " Adding new API key for $provider_name ..."
1385- echo " ${env_var} =${CONFIG_KEY} " >> " $config_file "
1386- fi
1387-
1388- if [ $? -eq 0 ]; then
1389- echo
1390- echo " ✅ API key updated successfully!"
1391- echo
1392- echo " Provider: $provider_name "
1393- echo " Key: $( maskApiKey " $CONFIG_KEY " ) "
1394- echo
1395- echo " Restart the gateway to apply changes:"
1396- echo " $0 stop && $0 start"
1397- else
1398- echo " Error: Failed to update configuration file"
1399- exit 1
1400- fi
1401- }
1402-
1403- # Config remove: Remove an API key
1404- configRemove () {
1405- if [ -z " $CONFIG_PROVIDER " ]; then
1406- echo " Error: --provider is required"
1407- echo " Usage: $0 config remove --provider <provider>"
1408- exit 1
1409- fi
1410-
1411- local config_file=" $ROOT /$CONFIG_FILENAME "
1412-
1413- if [ ! -f " $config_file " ]; then
1414- echo " Error: Configuration file not found: $config_file "
1415- echo " Please start the gateway first with: $0 start"
1416- exit 1
1417- fi
1418-
1419- local env_var=$( getEnvVarName " $CONFIG_PROVIDER " )
1420- if [ -z " $env_var " ]; then
1421- echo " Error: Unknown provider: $CONFIG_PROVIDER "
1422- echo
1423- echo " Supported providers:"
1424- echo " dashscope, deepseek, moonshot, zhipuai, openai, openrouter,"
1425- echo " claude, gemini, groq, doubao, baichuan, yi, stepfun, minimax,"
1426- echo " cohere, mistral, github, fireworks, togetherai, grok"
1427- exit 1
1428- fi
1429-
1430- local provider_name=$( getProviderName " $env_var " )
1431-
1432- # Check if the key exists
1433- if ! grep -q " ^${env_var} =" " $config_file " ; then
1434- echo " Error: No API key configured for $provider_name "
1435- echo
1436- echo " Current configuration:"
1437- echo " $0 config list"
1438- exit 1
1439- fi
1440-
1441- # Remove the key
1442- sedInPlace " /^${env_var} =/d" " $config_file "
1443-
1444- if [ $? -eq 0 ]; then
1445- echo
1446- echo " ✅ API key removed successfully!"
1447- echo
1448- echo " Provider: $provider_name "
1449- echo
1450- echo " Restart the gateway to apply changes:"
1451- echo " $0 stop && $0 start"
1452- else
1453- echo " Error: Failed to update configuration file"
1454- exit 1
1455- fi
1456- }
1457-
1458- # Config command dispatcher
1459- config () {
1460- case " $CONFIG_SUBCOMMAND " in
1461- " $CONFIG_ADD " )
1462- configAdd
1463- ;;
1464- " $CONFIG_LIST " )
1465- configList
1466- ;;
1467- " $CONFIG_REMOVE " )
1468- configRemove
1469- ;;
1470- esac
1471- }
1472-
14731147# ============================================================================
14741148# Route Command Functions
14751149# ============================================================================
@@ -1785,7 +1459,4 @@ case $COMMAND in
17851459" $COMMAND_ROUTE " )
17861460 route
17871461 ;;
1788- " $COMMAND_CONFIG " )
1789- config
1790- ;;
17911462esac
0 commit comments