Skip to content

Commit 84729fb

Browse files
committed
fix: 尝试修复 GPT 选择模型的问题 (ref #81)
1 parent ea69683 commit 84729fb

1 file changed

Lines changed: 16 additions & 8 deletions

File tree

‎src/backend/adapter/chatgpt_text.js‎

Lines changed: 16 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)