humanizer_idle
Simulate human-like idle behavior with mouse jitter and micro-scrolls to avoid bot detection on web pages. Configure duration and intensity to maintain page activity during automated sessions.
Instructions
Simulate idle behavior with mouse micro-jitter and occasional micro-scrolls. Keeps the page 'alive' to avoid idle detection by bot-detection scripts.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| target_id | Yes | Chrome target ID from interceptor_chrome_launch | |
| duration_ms | Yes | How long to simulate idle behavior in ms | |
| intensity | No | Idle intensity: 'subtle' (±3px jitter) or 'normal' (±8px jitter, more scrolls) | subtle |
Implementation Reference
- src/tools/humanizer.ts:214-252 (handler)The 'humanizer_idle' tool handler implementation in src/tools/humanizer.ts, which uses humanizerEngine.idle to perform the action.
server.tool( "humanizer_idle", "Simulate idle behavior with mouse micro-jitter and occasional micro-scrolls. " + "Keeps the page 'alive' to avoid idle detection by bot-detection scripts.", { target_id: z.string().describe("Chrome target ID from interceptor_chrome_launch"), duration_ms: z.number().describe("How long to simulate idle behavior in ms"), intensity: z.enum(["subtle", "normal"]).optional().default("subtle") .describe("Idle intensity: 'subtle' (±3px jitter) or 'normal' (±8px jitter, more scrolls)"), }, async ({ target_id, duration_ms, intensity }) => { try { const result = await humanizerEngine.idle(target_id, duration_ms, intensity); return { content: [{ type: "text", text: JSON.stringify({ status: "success", target_id, action: "idle", requested_ms: duration_ms, intensity, stats: { total_ms: result.totalMs, events_dispatched: result.eventsDispatched, }, }), }], }; } catch (e) { return { content: [{ type: "text", text: JSON.stringify({ status: "error", target_id, action: "idle", error: errorToString(e) }), }], }; } }, );