API: wingman.human
人性化模拟模块,为自动化操作添加随机性和自然感。
模块概述
human 模块提供人性化操作模拟功能:
- 随机延迟 - 在指定范围内随机延迟
- 平滑移动 - 使用贝塞尔曲线平滑移动鼠标
- 自然点击 - 模拟人类点击节奏
- 自然输入 - 模拟人类输入节奏
- 参数配置 - 设置延迟范围、移动速度、变异度
随机延迟
random_delay(min?, max?) / randomDelay(min?, max?)
说明:在指定范围内随机延迟。
函数签名:
python
random_delay(min: int = 100, max: int = 300) -> Nonelua
randomDelay(min: number = 100, max: number = 300) -> nil参数:
min- 可选,最小延迟(毫秒),默认 100max- 可选,最大延迟(毫秒),默认 300
返回:
- 无
python
from wingman import human
# 随机延迟 50-150 毫秒
human.random_delay(50, 150)
# 使用默认延迟范围(100-300ms)
human.random_delay()平滑移动鼠标
move_mouse(x1, y1, x2, y2, duration?) / moveMouse(x1, y1, x2, y2, duration?)
说明:使用贝塞尔曲线平滑移动鼠标。
函数签名:
python
move_mouse(x1: int, y1: int, x2: int, y2: int, duration: int = 500) -> Nonelua
moveMouse(x1: number, y1: number, x2: number, y2: number, duration: number = 500) -> nil参数:
x1, y1- 起始坐标x2, y2- 目标坐标duration- 可选,移动时长(毫秒),默认 500
返回:
- 无
python
from wingman import human
# 使用贝塞尔曲线平滑移动鼠标
human.move_mouse(100, 100, 500, 300, duration=500)模拟人类点击
natural_click(x, y, button?) / naturalClick(x, y, button?)
说明:模拟人类点击节奏(包含随机延迟)。
函数签名:
python
natural_click(x: int, y: int, button: str = "left") -> Nonelua
naturalClick(x: number, y: number, button: string = "left") -> nil参数:
x, y- 点击坐标button- 可选,按键类型,默认"left",可选"left","right","middle"
返回:
- 无
python
from wingman import human
# 模拟人类点击节奏(带随机延迟)
human.natural_click(100, 200)模拟人类输入
natural_type(text) / naturalType(text)
说明:模拟人类输入节奏(包含随机按键延迟)。
函数签名:
python
natural_type(text: str) -> Nonelua
naturalType(text: string) -> nil参数:
text- 要输入的文本
返回:
- 无
python
from wingman import human
# 模拟人类输入节奏(带随机按键延迟)
human.natural_type("Hello World")设置延迟范围
set_delay_range(min, max) / setDelayRange(min, max)
说明:设置全局随机延迟范围。
函数签名:
python
set_delay_range(min: int, max: int) -> Nonelua
setDelayRange(min: number, max: number) -> nil参数:
min- 最小延迟(毫秒)max- 最大延迟(毫秒)
返回:
- 无
设置移动速度
set_move_speed(speed) / setMoveSpeed(speed)
说明:设置鼠标移动速度。
函数签名:
python
set_move_speed(speed: float) -> Nonelua
setMoveSpeed(speed: number) -> nil参数:
speed- 速度系数(0.1-2.0),1.0 为正常速度
返回:
- 无
设置输入变异度
set_typing_variance(variance) / setTypingVariance(variance)
说明:设置输入节奏变异度。
函数签名:
python
set_typing_variance(variance: float) -> Nonelua
setTypingVariance(variance: number) -> nil参数:
variance- 变异度(0.0-1.0),0 为完全规律,1 为高度随机
返回:
- 无
设置参数
set_config(key, value) / setConfig(key, value)
说明:设置单个配置参数。
函数签名:
python
set_config(key: str, value: Any) -> Nonelua
setConfig(key: string, value: any) -> nil参数:
key- 参数名value- 参数值
返回:
- 无
python
from wingman import human
# 设置全局随机延迟范围
human.set_delay_range(50, 200)
# 设置鼠标移动速度
human.set_move_speed(0.8)
# 设置输入节奏变异度
human.set_typing_variance(0.3)获取配置
get_config() / getConfig()
说明:获取当前人性化配置。
函数签名:
python
get_config() -> dictlua
getConfig() -> table返回:
- Python: 配置字典,包含
delay_min,delay_max,move_speed,typing_variance等字段 - Lua: 配置表格
python
from wingman import human
config = human.get_config()
print(f"延迟范围: {config['delay_min']}-{config['delay_max']}ms")
print(f"移动速度: {config['move_speed']}")
print(f"输入变异度: {config['typing_variance']}")可用接口
高层拟人化接口
| Python 函数 | Lua 函数 | 说明 | 参数 |
|---|---|---|---|
random_delay(min?, max?) | randomDelay(min?, max?) | 随机延迟 | min: 最小延迟(默认100) max: 最大延迟(默认300) |
move_mouse(x1, y1, x2, y2, duration?) | moveMouse(x1, y1, x2, y2, duration?) | 平滑移动鼠标 | x1, y1: 起始坐标 x2, y2: 目标坐标 duration: 时长(默认500) |
natural_click(x, y, button?) | naturalClick(x, y, button?) | 模拟人类点击 | x, y: 点击坐标 button: 按键类型(默认left) |
natural_type(text) | naturalType(text) | 模拟人类输入 | text: 要输入的文本 |
set_delay_range(min, max) | setDelayRange(min, max) | 设置延迟范围 | min: 最小延迟 max: 最大延迟 |
set_move_speed(speed) | setMoveSpeed(speed) | 设置移动速度 | speed: 速度系数(0.1-2.0) |
set_typing_variance(variance) | setTypingVariance(variance) | 设置输入变异度 | variance: 变异度(0.0-1.0) |
set_config(key, value) | setConfig(key, value) | 设置配置参数 | key: 参数名 value: 参数值 |
get_config() | getConfig() | 获取配置 | 返回: 配置对象 |
底层拟人化接口
不经贝塞尔平滑/随机化包装、直接调用平台输入的轻量接口(坐标/按键语义与 input 模块同型):
| Python 函数 | Lua 函数 | 说明 | 参数 |
|---|---|---|---|
mouse_move(x, y, duration?) | mouse_move(x, y, duration?) | 移动鼠标 | x, y: 目标坐标 duration: 移动后等待(ms,默认0) |
mouse_click(x, y) | mouse_click(x, y) | 左键单击 | x, y: 坐标 |
mouse_right_click(x, y) | mouse_rightClick(x, y) | 右键单击 | x, y: 坐标 |
mouse_double_click(x, y) | mouse_doubleClick(x, y) | 双击 | x, y: 坐标 |
mouse_drag(fromX, fromY, toX, toY) | mouse_drag(fromX, fromY, toX, toY) | 拖拽 | fromX, fromY: 起点 toX, toY: 终点 |
mouse_scroll(x, y, delta?) | mouse_scroll(x, y, delta?) | 滚轮滚动 | x, y: 坐标 delta: 滚动量(默认-3,负=向下) |
keyboard_press(vkCode) | keyboard_press(vkCode) | 按下并释放一个键 | vkCode: 虚拟键码 |
keyboard_down(vkCode) | keyboard_down(vkCode) | 按下键 | vkCode: 虚拟键码 |
keyboard_up(vkCode) | keyboard_up(vkCode) | 释放键 | vkCode: 虚拟键码 |
keyboard_type(text, randomCase?) | keyboard_type(text, randomCase?) | 输入文本 | text: 文本 randomCase: 随机大小写(默认false) |