← ClaudeAtlas

rpa-listed

给自动化加贝塞尔鼠标轨迹、随机延时、犹豫点击、逐字打字,让脚本更像人。适合 RPA 测试、批量操作防封。
shuangying0001-beep/human-like-automation · ★ 0 · AI & Automation · score 74
Install: claude install-skill shuangying0001-beep/human-like-automation
# human-like-automation —— 拟真人浏览器交互 > 把"机械式"的自动化操作变成有呼吸感的真人操作:鼠标走曲线、点击会犹豫、打字有节奏、滚动分步走。 > 纯函数实现(Node ESM,零依赖)。交互函数接受任意 Playwright 风格的 `page` 对象(鸭子类型)。 ## 适用场景 - RPA / 网页自动化:让脚本的鼠标与键盘行为更接近真人,降低被风控识别 - 自动化测试:模拟真实用户操作路径 - 数据采集:配合反检测浏览器配置,操作节奏更自然 ## 提供的函数 | 函数 | 说明 | |------|------| | `generateMousePath(x0,y0,x1,y1,steps?)` | 生成贝塞尔曲线鼠标轨迹点数组(含缓动+抖动+偶发停顿) | | `humanMouseMove(page, x, y)` | 逐点移动鼠标,点间随机延时 | | `humanClick(page, selector, opts?)` | 拟人点击:犹豫 hover / 10% 误点修正 / 像素偏移 | | `humanScroll(page, opts?)` | 分步走停滚动 | | `humanType(page, selector, text)` | 逐字符输入 + 随机停顿 | | `simulateReading(page, duration?)` | 随机滚动/移动/停顿,模拟阅读 | | `randomDelay(min,max)` / `waitRandom(min,max)` | 随机延时工具 | | `HumanizeScheduler` | 按本地时段给出频率/间隔系数,支持随机暂停 | ## 用法 ```js import { humanClick, HumanizeScheduler } from './scripts/humanize.mjs'; // 1) 直接对一个 Playwright page 做拟人点击 await humanClick(page, '.search-button', { hoverProbability: 0.8 }); // 2) 调度器:根据时段自动放慢/暂停 const sched = new HumanizeScheduler('D', 8); // 时区偏移 +8 const { frequencyMultiplier, shouldPause } = sched.calculate(); const delay = sched.getAdjustedDelay(5000); // 按系数调整基础延时 ``` ## 设计要点(中性、合规) - 本 skill 只改变**操作节奏与轨迹形态**,属于通用的交互拟真能力。 - 请勿将其用于违反目标站点服务条款或法律法规的用途。 - 与 `playwright-stealth`(指纹环境配置)配合,可组成一套完整的"像人"的自动化方案。 ## 自测 ```bash node scripts/humanize.mjs --selftest ```