From d3cb3d6c2582f61d0dcfdc59a0e8c334d2676af5 Mon Sep 17 00:00:00 2001 From: liaoxin Date: Fri, 15 May 2026 23:54:31 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E8=BE=93=E5=85=A5=E6=8F=90=E7=A4=BA?= =?UTF-8?q?=E8=AF=8D=E5=90=8E=E5=8A=A0=201-3=20=E7=A7=92=E9=9A=8F=E6=9C=BA?= =?UTF-8?q?=E5=BB=B6=E8=BF=9F=E5=86=8D=E5=8F=91=E9=80=81=EF=BC=88=E6=A8=A1?= =?UTF-8?q?=E6=8B=9F=E4=BA=BA=E7=B1=BB=E5=81=9C=E9=A1=BF=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- skills/gemini-web-generate/scripts/cli.js | 8 -------- skills/gemini-web-generate/scripts/src/generator.js | 5 +++++ 2 files changed, 5 insertions(+), 8 deletions(-) diff --git a/skills/gemini-web-generate/scripts/cli.js b/skills/gemini-web-generate/scripts/cli.js index 5337c7d..c684ffb 100644 --- a/skills/gemini-web-generate/scripts/cli.js +++ b/skills/gemini-web-generate/scripts/cli.js @@ -348,14 +348,6 @@ close 参数: emit('progress', { step: 'connect', message: `Continuing session: ${sessionId} (mode: ${mode})` }); // Don't navigate — stay on the current chat page for multi-round continuedSession = true; - - // AIMD anti-ban delay: break fixed-interval pattern between successive requests - const baseDelay = parseInt(process.env.GEMINI_BASE_DELAY, 10) || 15; - const maxDelay = parseInt(process.env.GEMINI_MAX_DELAY, 10) || 120; - const jitter = Math.random() * 5; - const delaySec = Math.min(maxDelay, baseDelay * 0.7 + jitter); - emit('progress', { step: 'anti-ban', message: `AIMD delay ${delaySec.toFixed(1)}s (breaking fixed-interval pattern)` }); - await sleep(delaySec * 1000); } else if (args.chatUrl) { emit('progress', { step: 'navigate', message: `Navigating to chat URL: ${args.chatUrl}` }); await page.goto(args.chatUrl, { waitUntil: 'domcontentloaded', timeout: 60000 }); diff --git a/skills/gemini-web-generate/scripts/src/generator.js b/skills/gemini-web-generate/scripts/src/generator.js index 197d01f..c0c5906 100644 --- a/skills/gemini-web-generate/scripts/src/generator.js +++ b/skills/gemini-web-generate/scripts/src/generator.js @@ -432,6 +432,11 @@ export async function generate(page, { prompt, images, timeout, isContinuedSessi emit({ type: 'progress', step: 'typing', message: 'Typing prompt...' }); await typePrompt(page, prompt); + // Human-like pause: wait 1-3 seconds before sending (simulates human reading/reviewing) + const pauseMs = 1000 + Math.random() * 2000; + log(`Human-like pause: ${(pauseMs / 1000).toFixed(1)}s before sending`); + await sleep(pauseMs); + // Step 4: Send emit({ type: 'progress', step: 'sending', message: 'Sending prompt...' }); await sendPrompt(page);