@@ -49,12 +49,17 @@ async function selectModel(page, codeName, meta = {}) {
4949 await sleep ( 300 , 500 ) ;
5050 }
5151
52- // 3. 查找匹配 codeName 开头的 menuitem
53- const targetMenuItem = page . getByRole ( 'menuitem' , { name : new RegExp ( `^${ codeName } ` ) } ) ;
54- const targetExists = await targetMenuItem . count ( ) ;
52+ // 3. 查找匹配 codeName 开头的 menuitem 或 menuitemradio
53+ let targetMenuItem = page . getByRole ( 'menuitemradio' , { name : new RegExp ( `^${ codeName } ` , 'i' ) } ) ;
54+ let targetExists = await targetMenuItem . count ( ) ;
55+ if ( targetExists === 0 ) {
56+ targetMenuItem = page . getByRole ( 'menuitem' , { name : new RegExp ( `^${ codeName } ` , 'i' ) } ) ;
57+ targetExists = await targetMenuItem . count ( ) ;
58+ }
59+
5560 if ( targetExists > 0 ) {
5661 logger . info ( '适配器' , `正在选择模型: ${ codeName } ` , meta ) ;
57- await safeClick ( page , targetMenuItem , { bias : 'button' } ) ;
62+ await safeClick ( page , targetMenuItem . first ( ) , { bias : 'button' } ) ;
5863 return true ;
5964 } else {
6065 logger . debug ( '适配器' , `未找到模型 ${ codeName } ,使用默认模型` , meta ) ;
@@ -94,10 +99,13 @@ async function generate(context, prompt, imgPaths, modelId, meta = {}) {
9499 await waitForInput ( page , INPUT_SELECTOR , { click : false } ) ;
95100
96101 // 2. 选择模型
97- const modelConfig = manifest . models . find ( m => m . id === modelId ) ;
98- const targetModel = modelConfig ?. codeName || modelId ;
99- if ( targetModel ) {
100- await selectModel ( page , targetModel , meta ) ;
102+ if ( modelId ) {
103+ const modelConfig = manifest . models . find ( m => m . id === modelId ) ;
104+ if ( modelConfig && modelConfig . codeName ) {
105+ await selectModel ( page , modelConfig . codeName , meta ) ;
106+ } else {
107+ logger . info ( '适配器' , `未指定模型或未知模型 (${ modelId } ),跳过模型选择` , meta ) ;
108+ }
101109 }
102110
103111 // 3. 上传图片 (双击 Add files and more 按钮)
0 commit comments