Skip to content

Feature Request: 轨迹模拟(Human-like Interaction Patterns)防止封号 #59

@jackwener

Description

@jackwener

背景

社交媒体平台(Twitter/X、Bilibili、XHS 等)的风控系统不仅检测请求头和 cookie,还会分析用户的行为轨迹模式来判断是否为自动化操作。固定的操作间隔、线性的浏览路径、缺少自然的页面滚动和鼠标移动等,都是典型的 bot 特征。

目前 opencli 已有的反检测措施包括:

  • Chrome 133 UA 和 sec-ch-ua headers 伪装
  • browser-cookie3 提取真实浏览器 session
  • 可配置的 request delay

但仍缺少用户行为层面的模拟,这在写操作(点赞、关注、发帖)场景下尤为关键。

提案

引入一个 轨迹模拟(Trajectory Simulation) 模块,模拟真实用户的交互行为模式,降低风控触发概率:

1. 请求间隔抖动(Request Jitter)

  • 在现有 requestDelay 基础上加入高斯分布随机抖动(±20%~40%)
  • 支持不同操作类型配置不同的延迟范围(读操作 vs 写操作)

2. 操作序列模拟(Action Sequence Simulation)

  • 在执行核心操作前后插入"装饰性"操作(如先浏览 timeline 再执行目标动作)
  • 模拟自然的浏览路径:首页 → 搜索/推荐 → 目标内容 → 操作
  • 避免"直达式"操作模式

3. 鼠标轨迹 & 滚动模拟(Mouse & Scroll Simulation)

  • 在 browser-based adapter 中加入拟人化的鼠标移动轨迹(贝塞尔曲线)
  • 模拟自然的页面滚动行为(变速滚动、停顿阅读)
  • 随机的视口停留时间

4. 频率控制(Rate Limiting)

  • 每日/每小时操作次数上限
  • 智能 cooldown:连续操作后自动增加间隔
  • 指数退避:遇到 429/风控信号时自动降速

5. 会话模式(Session Pattern)

  • 模拟真实的"上线-活跃-离线"周期
  • 避免 24 小时不间断请求
  • 随机化每次 session 的活跃时长

优先级建议

优先级 功能 复杂度 收益
P0 请求间隔抖动
P0 频率控制
P1 操作序列模拟
P2 鼠标轨迹 & 滚动模拟
P2 会话模式

相关

  • 现有反检测策略已覆盖 header 层面,本 issue 聚焦行为层面的补充
  • 对写操作(like、follow、post)的安全性提升尤为显著

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions