import { agentFromWebDriverAgent } from '@midscene/ios'; import * as dotenv from 'dotenv'; import * as path from 'path'; dotenv.config({ path: path.resolve(__dirname, '../.env') }); async function main() { console.log('=== Claude Opus 模型测试点击 Bot 0F ===\n'); console.log(`Model: ${process.env.MIDSCENE_MODEL_NAME}`); console.log(`Family: ${process.env.MIDSCENE_MODEL_FAMILY}`); console.log(''); const agent = await agentFromWebDriverAgent({ wdaHost: process.env.WDA_HOST || 'localhost', wdaPort: Number(process.env.WDA_PORT) || 8100, }); try { await agent.launch('com.wohand.wohand'); await new Promise((r) => setTimeout(r, 8000)); // 确认Bot 0F可见 const status = await agent.aiQuery('当前屏幕上有"Bot 0F"设备吗?描述它的位置和状态'); console.log('当前状态:', JSON.stringify(status, null, 2)); const hasBotVisible = await agent.aiBoolean('当前屏幕上有"Bot 0F"文字'); console.log('Bot 0F可见:', hasBotVisible); if (!hasBotVisible) { await agent.aiScroll(undefined, { direction: 'down', scrollType: 'singleAction', distance: 300 }); await new Promise((r) => setTimeout(r, 3000)); } await new Promise((r) => setTimeout(r, 3000)); // 用Claude Opus点击Bot 0F console.log('\n点击Bot 0F卡片...'); await agent.aiTap('"Bot 0F"设备卡片'); await new Promise((r) => setTimeout(r, 5000)); // 检查结果 const result = await agent.aiQuery('当前屏幕上有弹出菜单吗?如果有,列出菜单所有选项'); console.log('点击结果:', JSON.stringify(result, null, 2)); const hasPopup = await agent.aiBoolean('屏幕上有弹出的菜单或选项列表'); console.log('有弹框:', hasPopup); if (hasPopup) { console.log('\n✓ 成功弹出菜单!点击Settings...'); await agent.aiTap('"Settings"按钮或选项'); await new Promise((r) => setTimeout(r, 3000)); const settings = await agent.aiQuery('列出当前页面所有设置选项的名称,从上到下'); console.log('设置页:', JSON.stringify(settings, null, 2)); } console.log('\n=== 完成 ==='); await agent.destroy(); } catch (error: any) { console.error('\n失败:', error.message); await agent.destroy(); process.exit(1); } } main();