44
55import {
66 sleep ,
7+ humanType ,
78 safeClick ,
89 uploadFilesViaChooser
910} from '../engine/utils.js' ;
1011import {
11- fillPrompt ,
1212 normalizePageError ,
1313 moveMouseAway ,
1414 waitForInput ,
@@ -39,17 +39,16 @@ async function selectModel(page, codeName, meta = {}) {
3939 }
4040
4141 await modelSelectorBtn . waitFor ( { timeout : 5000 } ) ;
42- await sleep ( 300 , 500 ) ;
4342 await safeClick ( page , modelSelectorBtn , { bias : 'button' } ) ;
44- await sleep ( 500 , 800 ) ;
43+ await sleep ( 300 , 500 ) ;
4544
4645 // 2. 检查是否有 Legacy models 选项
4746 const legacyMenuItem = page . getByRole ( 'menuitem' , { name : / ^ L e g a c y m o d e l s / } ) ;
4847 const legacyExists = await legacyMenuItem . count ( ) ;
4948 if ( legacyExists > 0 ) {
5049 logger . debug ( '适配器' , '发现 Legacy models 选项,正在点击...' , meta ) ;
5150 await safeClick ( page , legacyMenuItem , { bias : 'button' } ) ;
52- await sleep ( 500 , 800 ) ;
51+ await sleep ( 300 , 500 ) ;
5352 }
5453
5554 // 3. 查找匹配 codeName 开头的 menuitem
@@ -58,13 +57,11 @@ async function selectModel(page, codeName, meta = {}) {
5857 if ( targetExists > 0 ) {
5958 logger . info ( '适配器' , `正在选择模型: ${ codeName } ` , meta ) ;
6059 await safeClick ( page , targetMenuItem , { bias : 'button' } ) ;
61- await sleep ( 500 , 1000 ) ;
6260 return true ;
6361 } else {
6462 logger . debug ( '适配器' , `未找到模型 ${ codeName } ,使用默认模型` , meta ) ;
6563 // 点击空白区域关闭菜单
6664 await page . keyboard . press ( 'Escape' ) ;
67- await sleep ( 300 , 500 ) ;
6865 return false ;
6966 }
7067 } catch ( e ) {
@@ -94,7 +91,6 @@ async function generate(context, prompt, imgPaths, modelId, meta = {}) {
9491
9592 // 1. 等待输入框加载
9693 await waitForInput ( page , INPUT_SELECTOR , { click : false } ) ;
97- await sleep ( 1500 , 2500 ) ;
9894
9995 // 2. 选择模型
10096 const modelConfig = manifest . models . find ( m => m . id === modelId ) ;
@@ -105,6 +101,7 @@ async function generate(context, prompt, imgPaths, modelId, meta = {}) {
105101
106102 // 3. 上传图片 (双击 Add files and more 按钮)
107103 if ( imgPaths && imgPaths . length > 0 ) {
104+ logger . info ( '适配器' , `开始上传 ${ imgPaths . length } 张图片...` , meta ) ;
108105 const expectedUploads = imgPaths . length ;
109106 let uploadedCount = 0 ;
110107 let processedCount = 0 ;
@@ -136,17 +133,15 @@ async function generate(context, prompt, imgPaths, modelId, meta = {}) {
136133 return false ;
137134 }
138135 } ) ;
139-
140- await sleep ( 1000 , 2000 ) ;
141136 }
142137
143- // 4. 填写提示词
138+ // 3. 输入提示词
139+ logger . info ( '适配器' , '输入提示词...' , meta ) ;
144140 await safeClick ( page , INPUT_SELECTOR , { bias : 'input' } ) ;
145- await fillPrompt ( page , INPUT_SELECTOR , prompt , meta ) ;
146- await sleep ( 500 , 1000 ) ;
141+ await humanType ( page , INPUT_SELECTOR , prompt ) ;
147142
148- // 5. 点击发送
149- logger . debug ( '适配器' , '点击发送 ...' , meta ) ;
143+ // 5. 发送提示词
144+ logger . debug ( '适配器' , '发送提示词 ...' , meta ) ;
150145 await safeClick ( page , sendBtnLocator , { bias : 'button' } ) ;
151146
152147 logger . info ( '适配器' , '等待生成结果...' , meta ) ;
@@ -230,7 +225,7 @@ async function generate(context, prompt, imgPaths, modelId, meta = {}) {
230225 } catch {
231226 return false ;
232227 }
233- } , { timeout : 180000 } ) ;
228+ } , { timeout : 120000 } ) ;
234229 } catch ( e ) {
235230 const pageError = normalizePageError ( e , meta ) ;
236231 if ( pageError ) return pageError ;
0 commit comments