@@ -30,6 +30,7 @@ type LocationState = { fromAiProviders?: boolean } | null;
3030const buildEmptyForm = ( ) : ProviderFormState => ( {
3131 apiKey : '' ,
3232 apiKeyEntries : [ buildApiKeyEntry ( ) ] ,
33+ name : '' ,
3334 priority : undefined ,
3435 prefix : '' ,
3536 baseUrl : '' ,
@@ -68,6 +69,7 @@ const normalizeModelEntries = (entries: Array<{ name: string; alias: string }>)
6869
6970type CodexFormBaseline = {
7071 apiKeyEntries : Array < { apiKey : string ; proxyUrl : string } > ;
72+ name : string ;
7173 priority : number | null ;
7274 prefix : string ;
7375 baseUrl : string ;
@@ -79,6 +81,7 @@ type CodexFormBaseline = {
7981
8082const buildCodexBaseline = ( form : ProviderFormState ) : CodexFormBaseline => ( {
8183 apiKeyEntries : normalizeCodexApiKeyEntries ( form . apiKeyEntries , form . apiKey , form . proxyUrl ) ,
84+ name : String ( form . name ?? '' ) . trim ( ) ,
8285 priority :
8386 form . priority !== undefined && Number . isFinite ( form . priority ) ? Math . trunc ( form . priority ) : null ,
8487 prefix : String ( form . prefix ?? '' ) . trim ( ) ,
@@ -305,6 +308,7 @@ export function AiProvidersCodexEditPage() {
305308 ) ;
306309 const isDirty =
307310 ! areCodexApiKeyEntriesEqual ( baseline . apiKeyEntries , normalizedApiKeyEntries ) ||
311+ baseline . name !== String ( form . name ?? '' ) . trim ( ) ||
308312 baseline . priority !== normalizedPriority ||
309313 baseline . prefix !== String ( form . prefix ?? '' ) . trim ( ) ||
310314 baseline . baseUrl !== String ( form . baseUrl ?? '' ) . trim ( ) ||
@@ -526,9 +530,10 @@ export function AiProvidersCodexEditPage() {
526530 setError ( '' ) ;
527531 try {
528532 const payload : ProviderKeyConfig = {
529- // 顶层 api-key 只作为旧版接口和列表删除的兼容字段 ;实际多 key 配置写入 api-key-entries。
533+ // 顶层 api-key 只作为旧版接口和旧配置格式的兼容字段 ;实际多 key 配置写入 api-key-entries。
530534 apiKey : apiKeyEntries [ 0 ] ?. apiKey ?? '' ,
531535 apiKeyEntries,
536+ name : form . name ?. trim ( ) || undefined ,
532537 priority : form . priority !== undefined ? Math . trunc ( form . priority ) : undefined ,
533538 prefix : form . prefix ?. trim ( ) || undefined ,
534539 baseUrl,
@@ -724,6 +729,13 @@ export function AiProvidersCodexEditPage() {
724729 < div className = "hint" > { t ( 'common.invalid_provider_index' ) } </ div >
725730 ) : (
726731 < div className = { styles . openaiEditForm } >
732+ < Input
733+ label = { t ( 'ai_providers.codex_config_name_label' ) }
734+ placeholder = { t ( 'ai_providers.codex_config_name_placeholder' ) }
735+ value = { form . name ?? '' }
736+ onChange = { ( e ) => setForm ( ( prev ) => ( { ...prev , name : e . target . value } ) ) }
737+ disabled = { disableControls || saving }
738+ />
727739 < Input
728740 label = { t ( 'ai_providers.priority_label' ) }
729741 hint = { t ( 'ai_providers.priority_hint' ) }
0 commit comments