# user-behavior-tracker **Repository Path**: zhanghongbin0608/user-behavior-tracker ## Basic Information - **Project Name**: user-behavior-tracker - **Description**: 用于监测和分析用户在Web系统中的行为,主要用于识别机器人和自动化脚本操作。 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-01-05 - **Last Updated**: 2026-01-23 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 用户行为追踪系统 ## 项目概述 这是一个完整的用户行为追踪系统,用于监测和分析用户在Web系统中的行为,主要用于识别机器人和自动化脚本操作。 ## 技术架构 ### 后端技术栈 - **框架**: Spring Boot 2.6.13 - **ORM**: MyBatis Plus 3.5.3.1(支持多数据源) - **数据库**: MySQL(主库) + Oracle(可选) + ClickHouse(大数据分析,可选) - **缓存**: Redis + Redisson - **工具**: Lombok, Hutool, FastJson2 ### 前端技术栈 - **采集SDK**: 原生JavaScript(兼容性强) - **分析展示**: Vue 3 + Element Plus + ECharts - **特性**: 批量上报、压缩传输、重试机制、本地缓存 ## 系统架构 ``` ┌─────────────────────────────────────────────────────────┐ │ 前端采集层 │ │ ┌──────────────────────────────────────────────────┐ │ │ │ user-behavior-tracker-sdk.js │ │ │ │ - 事件监听(点击、焦点、变更等) │ │ │ │ - 设备指纹采集(Canvas、WebGL、Audio) │ │ │ │ - 批量队列管理 │ │ │ │ - 本地存储缓存 │ │ │ └──────────────────────────────────────────────────┘ │ └─────────────────────────────────────────────────────────┘ ↓ HTTP/HTTPS ┌─────────────────────────────────────────────────────────┐ │ 数据传输层 │ │ - 批量上报(减少请求次数) │ │ - 重试机制(网络异常处理) │ │ - 压缩传输(可选,减少传输量) │ └─────────────────────────────────────────────────────────┘ ↓ ┌─────────────────────────────────────────────────────────┐ │ 后端接收层 │ │ ┌──────────────────────────────────────────────────┐ │ │ │ BehaviorTrackingController │ │ │ │ - /api/behavior/report (单条上报) │ │ │ │ - /api/behavior/batch-report (批量上报) │ │ │ │ - /api/behavior/session/{id} (查询会话) │ │ │ │ - /api/behavior/detect/{id} (机器人检测) │ │ │ └──────────────────────────────────────────────────┘ │ └─────────────────────────────────────────────────────────┘ ↓ ┌─────────────────────────────────────────────────────────┐ │ 业务处理层 │ │ ┌────────────────────┐ ┌─────────────────────────┐ │ │ │ BehaviorTracking │ │ RobotDetection │ │ │ │ Service │ │ Service │ │ │ │ - 数据转换 │ │ - 高频操作检测 │ │ │ │ - 会话管理 │ │ - 规律间隔检测 │ │ │ │ - 异步处理 │ │ - 鼠标轨迹异常 │ │ │ └────────────────────┘ │ - 设备指纹异常 │ │ │ │ - 操作序列分析 │ │ │ │ - 深夜活跃检测 │ │ │ └─────────────────────────┘ │ └─────────────────────────────────────────────────────────┘ ↓ ┌─────────────────────────────────────────────────────────┐ │ 数据存储层 │ │ ┌──────────────────┬──────────────────┬─────────────┐ │ │ │ MySQL (主库) │ Oracle (可选) │ ClickHouse │ │ │ │ - user_behavior │ - 业务数据库 │ (大数据) │ │ │ │ _log │ │ - 行为分析 │ │ │ │ - user_session │ │ - 趋势统计 │ │ │ │ - behavior_alert │ │ │ │ │ │ - robot_rule │ │ │ │ │ └──────────────────┴──────────────────┴─────────────┘ │ └─────────────────────────────────────────────────────────┘ ↓ ┌─────────────────────────────────────────────────────────┐ │ AI分析层(MCP) │ │ ┌──────────────────────────────────────────────────┐ │ │ │ MCPAnalysisService │ │ │ │ - 对接大模型API │ │ │ │ - 智能行为分析 │ │ │ │ - 模式识别 │ │ │ │ - 异常检测 │ │ │ └──────────────────────────────────────────────────┘ │ └─────────────────────────────────────────────────────────┘ ↓ ┌─────────────────────────────────────────────────────────┐ │ 分析展示层 (Vue3) │ │ ┌──────────────────────────────────────────────────┐ │ │ │ - 实时监控面板 │ │ │ │ - 机器人检测报告 │ │ │ │ - 行为分析图表 │ │ │ │ - 异常告警管理 │ │ │ └──────────────────────────────────────────────────┘ │ └─────────────────────────────────────────────────────────┘ ``` ## 快速开始 ### 1. 数据库初始化 ```bash # 执行SQL脚本 mysql -u root -p < src/main/resources/db/init.sql ``` ### 2. 配置文件 修改 `application.yml` 中的数据库连接信息: ```yaml spring: datasource: dynamic: datasource: mysql: url: jdbc:mysql://localhost:3306/behavior_tracker username: root password: your_password ``` ### 3. 启动后端服务 ```bash mvn clean package java -jar target/user-behavior-tracker-0.0.1-SNAPSHOT.jar ``` 或直接运行: ```bash mvn spring-boot:run ``` ### 4. 前端集成 在需要追踪的HTML页面中引入SDK: ```html