@@ -6,7 +6,7 @@ import { readConfigFile, writeConfigFile } from '../../config/loader';
66import type { Config } from '../../config/schema' ;
77import type { GlobalFlags } from '../../types/flags' ;
88
9- const VALID_KEYS = [ 'region' , 'base_url' , 'output' , 'timeout' , 'api_key' , 'default_text_model' , 'default_speech_model' , 'default_video_model' , 'default_music_model' ] ;
9+ const VALID_KEYS = [ 'region' , 'base_url' , 'output' , 'timeout' , 'api_key' , 'proxy' , ' default_text_model', 'default_speech_model' , 'default_video_model' , 'default_music_model' ] ;
1010
1111// Allow hyphen-style keys (e.g. default-text-model → default_text_model)
1212const KEY_ALIASES : Record < string , string > = {
@@ -21,12 +21,13 @@ export default defineCommand({
2121 description : 'Set a config value' ,
2222 usage : 'mmx config set --key <key> --value <value>' ,
2323 options : [
24- { flag : '--key <key>' , description : 'Config key (region, base_url, output, timeout, api_key, default_text_model, default_speech_model, default_video_model, default_music_model)' } ,
24+ { flag : '--key <key>' , description : 'Config key (region, base_url, output, timeout, api_key, proxy, default_text_model, default_speech_model, default_video_model, default_music_model)' } ,
2525 { flag : '--value <value>' , description : 'Value to set' } ,
2626 ] ,
2727 examples : [
2828 'mmx config set --key output --value json' ,
2929 'mmx config set --key timeout --value 600' ,
30+ 'mmx config set --key proxy --value http://127.0.0.1:7890' ,
3031 'mmx config set --key base_url --value https://api-uw.minimax.io' ,
3132 ] ,
3233 async run ( config : Config , flags : GlobalFlags ) {
@@ -67,6 +68,20 @@ export default defineCommand({
6768 ) ;
6869 }
6970
71+ if ( resolvedKey === 'base_url' && ! value . startsWith ( 'http' ) ) {
72+ throw new CLIError (
73+ `Invalid base_url "${ value } ". Must start with http.` ,
74+ ExitCode . USAGE ,
75+ ) ;
76+ }
77+
78+ if ( resolvedKey === 'proxy' && ! value . startsWith ( 'http' ) ) {
79+ throw new CLIError (
80+ `Invalid proxy "${ value } ". Must be a URL starting with http (e.g. http://127.0.0.1:7890).` ,
81+ ExitCode . USAGE ,
82+ ) ;
83+ }
84+
7085 if ( resolvedKey === 'timeout' ) {
7186 const num = Number ( value ) ;
7287 if ( isNaN ( num ) || num <= 0 ) {
0 commit comments