## 什么是 Mond Spider Agent?
这是一个**自我进化的 AI 爬虫平台**,它通过 **23 个智能子系统**、全套 **JS 逆向工程套件**以及 **4 个原生框架**(Go、Python、Java、Rust)进行编排——能够破解代码混淆、追踪加密签名、拦截运行时加密操作,并对 WASM 模块进行反编译,且所有过程均可自动触发。
```
┌─────────────────────────────────────────┐
│ Mond Spider Agent │
│ SuperAgent — 23 AI Subsystems │
└──────────────────────┬──────────────────┘
│
┌───────────┬───────────┬────────┼────────┬────────────┬────────────┐
▼ ▼ ▼ ▼ ▼ ▼ ▼
GoSpider PySpider JavaSpider RustSpider Apify BrowserAgent JS Reverse
(Go) (Python) (Java) (Rust) (Actors) (Playwright) (MCP)
```
## 为什么选择 Mond Spider Agent?
### 对比传统爬虫(Scrapy、Puppeteer、Selenium)
| 能力 | 传统爬虫 | Mond Spider Agent |
|------------|------------|-------------------|
| 多框架 | 单一 runtime | 4 个原生框架 + Apify actors |
| Anti-bot 处理 | 手动配置 | 自动检测 + 自动规避 |
| JS 逆向工程 | 无 | 8 阶段 AST 处理 + hook 引擎 + WASM |
| 签名追踪 | 手动逆向 | 自动污点分析 + 切片分析 |
| 自我改进 | 无 | 23 个 AI 子系统,包含进化循环 |
| 跨领域学习 | 无 | 自动策略迁移 |
| 代码生成 | 无 | LLM 生成新爬虫模块 |
| 知识积累 | 仅限当前会话 | 所有爬取过程共享持久化图谱 |
### 对比 AI 爬虫(Crawl4AI、Firecrawl、Jina)
| 能力 | AI 爬虫 | Mond Spider Agent |
|------------|------------|-------------------|
| 框架多样性 | 通常为单一 runtime | Go + Python + Java + Rust |
| 逆向工程 | 仅限 LLM | AST + Hook + 污点分析 + WASM pipeline |
| 混淆处理 | 基于 prompt | 8 阶段确定性 Babel 处理 |
| 运行时拦截 | 无 | 7 类 hook 引擎 |
| WASM 支持 | 无 | 二进制解析器 + 反编译器 |
| 进化 | 微调 | 遗传算法 + 元认知 |
| 自主目标 | 无 | 自主探索 |
## 它能爬取什么?—— 全目标覆盖
### 社交媒体与内容平台
| 平台 | 获取内容 | 解决的核心挑战 |
|----------|-------------|---------------------|
| **抖音 / TikTok** | 视频列表、评论、用户资料、直播数据 | X-Bogus / X-Khronos 签名逆向,自动回放 |
| **小红书** | 笔记、评论、用户画像、商品数据 | 加密签名参数追踪 + WASM 模块解析 |
| **快手** | 短视频、直播、电商数据 | X-Sign 自动追踪 + Hook 引擎拦截 |
| **微博** | 帖子、评论、热搜、用户关系 | 反爬绕过 + 翻页自动处理 |
| **Instagram** | 帖子、Story、Reels、评论、粉丝 | GraphQL API 签名绕过 |
| **Twitter / X** | 推文、用户时间线、搜索结果 | API token 自动获取 + 速率管理 |
| **YouTube** | 视频元数据、评论、字幕、推荐 | InnerTube API 签名绕过 |
| **Bilibili** | 视频、弹幕、评论、UP 主数据 | Wbi 签名自动生成 |
| **知乎** | 问答、文章、用户、热榜 | 加密 Cookie + 反爬绕过 |
| **LinkedIn** | 职位、公司、个人资料 | 登录态管理 + 反检测浏览器 |
### 电子商务与价格情报
| 平台 | 获取内容 | 解决的核心挑战 |
|----------|-------------|---------------------|
| **淘宝 / 天猫** | 商品详情、价格、评论、店铺数据 | 签名参数 + Token 自动刷新 |
| **京东** | 商品、价格监控、评论分析 | API 签名逆向 + 反爬绕过 |
| **拼多多** | 商品列表、价格、销量 | 加密请求参数追踪 |
| **Amazon** | 商品信息、价格、BSR、评论 | 反机器人检测 + 验证码绕过 |
| **Shopee / Lazada** | 东南亚电商数据 | 多地区 API 签名适配 |
| **Shopify 商店** | 任意 Shopify 店铺数据 | 结构化 API 自动发现 |
| **1688 / Alibaba** | 供应商、批发价格、MOQ | 登录态 + 分页处理 |
### 搜索引擎与数据聚合
| 目标 | 获取内容 | 解决的核心挑战 |
|--------|-------------|---------------------|
| **Google Search** | 搜索结果、SERP 特征、关键词排名 | 反检测 + 代理轮换 + 验证码处理 |
| **Baidu** | 搜索结果、百科、知道 | JS 渲染 + Cookie 管理 |
| **Bing** | 搜索结果、图片、新闻 | SPA 渲染处理 |
| **Google Maps** | 商家信息、评论、坐标 | 大量分页 + 速率控制 |
| **Google Scholar** | 论文、引用、作者 | 反爬 + 验证码 |
| **App Store / Google Play** | App 排名、评论、下载量 | 结构化数据提取 |
### 受保护/反机器人网站
| 防护系统 | 破解方式 |
|-------------------|-------------------|
| **Cloudflare** (Challenge / Turnstile) | CloakBrowser 隐身模式 + 指纹匹配 + 行为模拟 |
| **Akamai Bot Manager** | Hook 引擎拦截传感器数据 + 签名回放 |
| **DataDome** | 自适应浏览器策略 + AI 指纹选择 |
| **PerimeterX / HUMAN** | 行为模拟 + 反检测浏览器 + Cookie 生成 |
| **GeeTest 验证码** | Hook 拦截验证参数 + WASM 分析 |
| **reCAPTCHA v2/v3** | 行为模拟 + 分数优化 + 第三方服务对接 |
| **hCaptcha** | 浏览器指纹 + 行为模式匹配 |
| **自定义 WAF** | ReverseOrchestrator 自动分析 → 选择最优逆向 pipeline |
### 企业级与结构化数据
| 目标类型 | 示例 | 处理方式 |
|------------|----------|----------|
| **REST API** | 任意 RESTful 服务 | 自动发现 endpoint + 签名回放 + 速率管理 |
| **GraphQL API** | GitHub, Shopify, Medium | Introspection 查询 + 自动字段发现 |
| **WebSocket** | 实时数据流、聊天、股票行情 | WS 协议拦截 + Hook 捕获消息 |
| **gRPC / Protobuf** | 微服务 API | Protobuf 消息自动推断 + 序列化/反序列化 |
| **登录保护站点** | SaaS 后台、会员系统 | Cookie/Token 管理 + 会话保持 |
| **分页 / 无限滚动** | 任意列表页面 | 自动翻页检测 + 滚动模拟 |
| **文件下载** | PDF、Excel、图片、视频 | 多格式解析 + 流式下载 |
| **暗网 / .onion** | Tor 隐藏服务 | SOCKS5 代理 + Tor 网络集成 |
### 你可以提取的特定数据类型
```
文本数据 结构化数据 多媒体 元数据
───────── ────────── ────── ──────
文章/新闻 表格/列表 图片URL SEO 指标
评论/帖子 价格/库存 视频/音频流 页面性能
用户资料 排名/评分 文件/文档 API 端点
搜索结果 时间序列 直播流 站点地图
翻译内容 关系图谱 截图/快照 技术栈指纹
```
### 真实用例
| 用例 | Mond Spider Agent 如何提供帮助 |
|----------|---------------------------|
| **竞品价格监控** | 定时爬取电商平台价格变动,自动绕过反爬,价格异常告警 |
| **舆情分析** | 多平台社交媒体数据采集,评论情感分析,热点追踪 |
| **SEO 排名追踪** | 批量 Google/Bing 搜索结果采集,关键词排名变化监控 |
| **数据标注/AI 训练** | 大规模结构化数据提取,自动清洗,格式标准化输出 |
| **市场研究** | 跨平台商品/服务数据采集,趋势分析,竞品功能对比 |
| **学术研究** | 论文/引用数据采集,学术社交网络分析 |
| **安全审计** | API 签名强度评估,反爬策略有效性测试 |
| **内容聚合** | 多源内容采集、去重、结构化输出到数据库或 API |
## 快速开始
```
# 1. Clone the repository
git clone https://github.com/Lyx3314844-03/mond-spider-agent.git
cd mond-spider-agent/spider
# 2. 安装依赖
pip install -r requirements.txt
cd js_reverse_mcp && npm install && cd ..
# 3. 配置 API key
export OPENAI_API_KEY="sk-xxx" # or use local model via config/
# 4. 运行
python -m mond_agent.super_agent --url "https://target-site.com"
# 5. 使用完整 reverse engineering pipeline 运行
python -m mond_agent.super_agent --url "https://target-site.com" --reverse auto
```
特定框架的使用方法
```
# GoSpider — 高吞吐量爬取
cd gospider && go run main.go --url "https://target-site.com"
# JavaSpider — 使用 Redis scheduler 进行分布式爬取
cd javaspider && mvn exec:java -Dexec.mainClass="com.mond.Spider"
# RustSpider — 内存安全的高性能爬取
cd rustspider && cargo run -- --url "https://target-site.com"
# Apify Cloud Actors
python -m mond_agent.super_agent --url "https://target-site.com" --engine apify
```
## 架构概览
### 4 个原生爬虫框架
| 框架 | 语言 | 优势 | 核心特性 |
|-----------|----------|-----------|--------------|
| **GoSpider** | Go | 原始吞吐量、并发 | 基于 goroutine 的并行、低内存、快速启动 |
| **PySpider** | Python | 灵活性、生态系统 | Playwright/Scrapling/CloakBrowser、Node.js 逆向桥接 |
| **JavaSpider** | Java | 企业级规模 | 基于 Redis 的调度器、分布式 worker pool、容错能力 |
| **RustSpider** | Rust | 安全性 + 速度 | 零成本抽象、内存安全、监控中心 + API server |
每个框架作为独立的子进程运行,由统一的 **Adapter Layer** 管理,负责处理健康检查、进程生命周期和浏览器策略回退。
### 浏览器策略回退
当原生爬虫遇到 JS 渲染页面时,适配器层会透明地回退到无头浏览器(headless browsers):
| 策略 | 引擎 | 适用场景 |
|----------|--------|----------|
| `playwright` | Chromium (Playwright) | 常规 JS 渲染、SPA 爬取 |
| `scrapling` | Scrapling + StealthFetcher | 反检测浏览器自动化 |
| `cloakbrowser` | CloakBrowser | 重度反机器人规避(Cloudflare、DataDome) |
| `auto` | 由 AI 选择 | 根据网站指纹选择最佳策略 |
## 23 个 AI 子系统
### 核心 —— 爬取执行与智能
| 引擎 | 功能说明 |
|--------|-------------|
| **AgenticLoop** | 6 阶段循环:规划 → 评估 → 执行 → 自愈 → 进化 → 反思 |
| **KnowledgeGraph** | 实体关系图谱,跨爬取知识积累 |
| **SmartCache** | 内容指纹识别 + 变更检测 + 预测性重爬 |
| **SelectorSynthesis** | 自动生成 CSS/XPath 选择器,并由 LLM 辅助修复 |
| **AntiDetection** | 指纹轮换、人类行为模拟、风险评分 |
### 协调 —— 多智能体集群
| 引擎 | 功能说明 |
|--------|-------------|
| **MultiAgentCoordinator** | 在爬虫智能体集群中进行基于角色的任务分发 |
| **Planner** | 多步骤目标分解和任务规划 |
| **Critic** | 输出质量验证和自我评估 |
| **RepairAgent** | 自动故障诊断和自我修复 |
### 进化 —— 自我改进
| 引擎 | 功能说明 |
|--------|-------------|
| **StrategyEvolution** | 基于 A/B 测试的遗传算法驱动优化 |
| **ExperienceStore** | 来自过往爬取的持久化经验数据库 |
| **WorldModel** | 对网站架构、反爬虫机制、API 规范的因果推理 |
| **CuriosityEngine** | 对未知网站的主动探索以发现新模式 |
| **TransferLearning** | 通过指纹相似性进行跨领域策略迁移 |
| **DeepMetacognition** | 能力差距分析、学习高原检测 |
| **AutonomousGoalSetter** | 为递归改进生成自我导向的目标 |
| **FreeCodeSynthesis** | LLM 驱动的 Python 模块生成,包含 AST 验证 + 沙箱 |
### 逆向工程 —— 击败 JS 反爬
| 引擎 | 功能说明 |
|--------|-------------|
| **ASTDeobfuscator** | 8 阶段 Babel AST 处理以解混淆 JS |
| **HookEngine** | 7 类 runtime 拦截(加密/网络/存储/随机/时间/DOM/WASM) |
| **SignatureTracer** | 污点分析 + 程序切片 → 自动 Python 重放 |
| **WasmReverse** | 纯 Python WASM 二进制解析器 + 反编译器 + JS wrapper 生成 |
| **ReverseOrchestrator** | 选择最优逆向 pipeline 的统一调度器 |
### 集成
| 引擎 | 功能说明 |
|--------|-------------|
| **MondAgent API** | 用于外部集成和编排的高级 API |
## Super Run:智能爬取流水线
`SuperAgent.super_run(url)` 执行完整的 8 阶段流水线:
```
Step 1: SmartCache Lookup → Cache hit? Return cached result
Step 2: StrategyEvolution → Best strategy from genetic algorithm
Step 3: WorldModel Prediction → Predict anti-bot, rendering mode, rate limits
Step 4: TransferLearning → Reuse strategies from similar domains
Step 5: AntiDetection → Rotate fingerprint, inject human behavior
Step 6: AgenticLoop Execution → Plan → Critic → Execute → Self-Heal → Evolve → Reflect
├── 6a: Failure? → RepairAgent auto-diagnosis
├── 6b: Still failing? → MultiAgentCoordinator swarm fallback
└── 6c: 403/Blocked? → ReverseOrchestrator auto-trigger
Step 7: KnowledgeGraph Update → Extract entities, update cross-crawl knowledge
Step 8: Strategy Fitness + Evolution → Score performance, trigger genetic evolution
```
## 自我进化循环
Mond Spider Agent 不仅仅是一个爬虫——它是一个**自我改进系统**:
```
┌──────────────────────────────────────────────────────────┐
│ AutonomousGoalSetter │
│ Discovers capability gaps → generates exploration goals │
└──────────────┬────────────────────────────┬──────────────┘
│ proactive goals │ passive tasks
▼ ▼
┌────────────────────────┐ ┌──────────────────────────┐
│ CuriosityEngine │ │ AgenticLoop │
│ Explores unknown sites│ │ Plan→Critic→Execute→ │
│ │ │ SelfHeal→Evolve→Reflect │
└────────────┬───────────┘ └────────────┬─────────────┘
│ exploration results │ task results
▼ ▼
┌──────────────────────────────────────────────────────────┐
│ WorldModel │
│ Causal model: site architecture, anti-bot, API │
│ conventions, rate-limit behavior │
└──────────────┬────────────────────────────┬──────────────┘
│ causal predictions │ domain model
▼ ▼
┌──────────────────────────┐ ┌────────────────────────────┐
│ TransferLearning │ │ DeepMetacognition │
│ Cross-domain migration │ │ "Why can't I learn X?" │
└──────────────────────────┘ └────────────────────────────┘
│ │
▼ ▼
┌──────────────────────────┐ ┌────────────────────────────┐
│ FreeCodeSynthesis │ │ Feedback → GoalSetter │
│ LLM generates new │ │ (recursive improvement) │
│ crawler modules │ │ │
└──────────────────────────┘ └────────────────────────────┘
```
## 逆向工程 —— 深入解析
### ASTDeobfuscator:8 阶段 Babel 处理
| 处理阶段 | 技术 | 解决问题 |
|------|-----------|----------------|
| **String Concat** | `"a" + "b"` → `"ab"` | 字符串拆分混淆 |
| **Boolean If** | `if(true){...}` → `{...}` | 无效条件分支 |
| **Constant Fold** `0xa + 0xb` → `21`, `!![]` → `true` | 常量表达式混淆 |
| **String Array** | `_0xabc[0x12]` → literal string | obfuscator.io 字符串阵列编码 |
| **Dead Code** | 移除无法到达的分支 | `if(false){...}` 及其死路径 |
| **Identifier Rename** | `_0x1a2b3c` → 语义化名称 | 十六进制编码的标识符重命名 |
| **Control Flow** | 扁平化 `switch` 状态机 | 控制流平坦化 |
| **Anti-Debug** | 剔除 `debugger` 语句 | 反调试陷阱 |
**可识别的混淆器指纹**:obfuscator.io、javascript-obfuscator、sojson、jsjiami、packer 等 7 种以上。
### HookEngine:运行时拦截
| 类别 | 拦截的 API | 获取的情报 |
|----------|-----------------|--------------|
| **Crypto** | `crypto.subtle.*`, `CryptoJS.*`, `forge.*` | 算法、密钥材料、IV/nonce |
| **Network** | `fetch`, `XMLHttpRequest`, `axios` | 签名参数位置、Header 注入 |
| **Storage** | `localStorage`, `sessionStorage`, `cookie` | Token/状态来源识别 |
| **Random** | `Math.random`, `crypto.getRandomValues` | 随机种子追踪 |
| **Time** | `Date.now`, `performance.now` | 时间戳依赖关系映射 |
| **DOM** | `document.querySelector*`, `getElementById` | 依赖 DOM 的逻辑识别 |
| **WASM** | `WebAssembly.instantiate*` | 自动捕获 WASM 模块 |
### SignatureTracer:5 阶段流水线
```
1. Hook Point Identification → Find fetch()/XHR/axios call sites
2. Parameter Slicing → Backward slice from target param
3. Taint Analysis → Trace data flow to sink
4. Generation Function Extract → Isolate signing function
5. Python Translation → LLM-assisted JS→Python with verification
```
**支持项目**:X-Sign, X-Bogus, X-Khronos, X-Gorgon, X-Helios, X-Ladon, X-Argus, sign, signature, token 以及任意自定义参数。
### WasmReverse:WebAssembly 分析
| 能力 | 描述 |
|------------|-------------|
| **二进制解析** | LEB128 解码、全节解析 |
| **导出分析** | 带有类型签名的导出函数 |
| **字符串提取** | 从数据节恢复字符串字面量 |
| **签名检测** | 加密/签名函数启发式检测 |
| **JS Wrapper 生成** | 用于 Node.js WASM 调用的 JavaScript 胶水代码 |
### ReverseOrchestrator:统一流水线
```
Page Analysis → Obfuscator Detection → Anti-Bot Classification
│ │
▼ ▼
┌───────────────┐ ┌───────────────┐
│ obfuscator.io │ │ Cloudflare │
│ js-obfuscator │ │ Akamai │
│ sojson │ │ DataDome │
└───────┬───────┘ └───────┬───────┘
│ │
▼ ▼
ASTDeobfuscator HookEngine + Runtime
(8 Babel passes) Interception
│ │
└──────────┬───────────────┘
▼
SignatureTracer
(taint + slice → Python replay)
│
▼
FreeCodeSynthesis
(register replay module for reuse)
```
## 基准测试 —— 23/23 全部通过
| 测试套件 | 测试项 | 状态 |
|------------|-------|--------|
| **ASTDeobfuscator** | 字符串拼接、布尔条件判断、常量折叠、字符串阵列、死代码、标识符重命名、控制流、反调试 | **8/8** |
| **HookEngine** | profile 构建、crypto、network、events、trace 导出、脚本生成、类别过滤、stack trace、上下文元数据、多类别 | **10/10** |
| **SignatureTracer** | MD5 header、SHA256 query、HMAC body | **3/3** |
| **WasmReverse** | 导出分析(3 个模块)、字符串提取、JS wrapper 生成 | **5/5** |
| 组件 | 检查命令 | 结果 |
|-----------|-------|--------|
| Go (gospider) | `go vet ./...` | Clean |
| Java (javaspider) | `mvn compile` | Clean |
| Rust (rustspider) | `cargo check` | Clean |
| Python (所有模块) | 32/32 导入 | Clean |
## 技术栈
| 层级 | 技术 |
|-------|-------------|
| **爬虫框架** | Go、Python、Java、Rust |
| **AI / LLM** | OpenAI API、本地模型支持、LLM 驱动的代码生成 |
| **浏览器自动化** | Playwright、Scrapling、CloakBrowser |
| **JS 逆向工程** | Babel AST、Node.js 桥接 |
| **WASM 分析** | 采用 LEB128 解码的纯 Python 二进制解析器 |
| **反检测** | 指纹轮换、人类行为模拟、代理 |
| **知识系统** | 实体关系图、经验存储、跨领域迁移 |
| **进化** | 遗传算法、适应度评分、A/B 测试、自主目标 |
| **部署** | Docker、Kubernetes、独立部署、Apify 云端 actors |
## 项目结构
```
spider/
├── mond_agent/ # ← AI SuperAgent — the brain
│ ├── super_agent.py # Entry point: super_run() orchestrates everything
│ ├── agentic_loop.py # Core execution cycle
│ ├── knowledge_graph.py # Cross-crawl knowledge
│ ├── smart_cache.py # Intelligent caching
│ ├── multi_agent.py # Swarm coordination
│ ├── anti_detection.py # Fingerprint + behavior
│ ├── selector_synthesis.py # Auto CSS/XPath
│ ├── strategy_evolution.py # Genetic algorithm
│ ├── world_model.py # Causal site modeling
│ ├── curiosity_engine.py # Proactive exploration
│ ├── transfer_learning.py # Cross-domain migration
│ ├── free_code_synthesis.py # LLM code generation
│ ├── deep_metacognition.py # Self-analysis
│ ├── autonomous_goals.py # Self-directed goals
│ └── adapters/ # ← calls the 4 frameworks below
│ ├── go_adapter.py # ──→ gospider/
│ ├── py_adapter.py # ──→ pyspider/
│ ├── java_adapter.py # ──→ javaspider/
│ ├── rust_adapter.py # ──→ rustspider/
│ └── apify_adapter.py # ──→ Apify cloud
│
├── js_reverse_mcp/ # ← JS Reverse Engineering — triggered by adapters
│ ├── ast_deobfuscator.py # 8 Babel AST passes
│ ├── hook_engine.py # Runtime JS hook injection
│ ├── signature_tracer.py # Taint + slice tracing
│ ├── wasm_reverse.py # WASM binary analysis
│ ├── orchestrator.py # ← called by mond_agent when 403/blocked
│ └── benchmark/ # 23 benchmark tests
│
├── gospider/ # Go crawler (called by go_adapter)
├── pyspider/ # Python crawler (called by py_adapter)
│ └── node_reverse/ # Node.js reverse bridge
├── javaspider/ # Java crawler (called by java_adapter)
├── rustspider/ # Rust crawler (called by rust_adapter)
│
├── config/ # API keys, engine selection, browser strategy
├── deploy/ # Docker, K8s, Apify deployment configs
├── examples/ # Usage examples and presets
└── docs/ # Documentation and assets
```
**调用流程**:`super_agent.py` → `adapters/` → 框架子进程 → 遇到 403/被封锁时 → `js_reverse_mcp/orchestrator.py` → 逆向 pipeline → `free_code_synthesis.py`(生成重放模块)
## 联系方式 / 联系方式
## 许可协议
MIT License。有关详细信息,请参阅 [LICENSE](LICENSE)。
使用 Go、Python、Java、Rust、Node.js、Babel、Playwright 以及大量的 AI 技术构建。