docs: 联网搜索服务架构方案全套(plan-final/design-arch/选型决策/整合导览/MCP文档/部署预设/联调手册) bench: 5 方案 + 代理 + 站点矩阵本机实测工程(无密钥) 部署目标:primary mgr1 先行测试(待批准后执行)
82 lines
7.3 KiB
Markdown
82 lines
7.3 KiB
Markdown
---
|
||
type: design
|
||
status: active
|
||
created: 2026-09-01
|
||
---
|
||
|
||
# 联网搜索消费方案选型决策记录(任务 5 评定结论)
|
||
|
||
> 本文回答「当前选择的消费方案有哪些以及原因」。候选池来自用户提供的两张浏览器开源方案附表(存档:`.dsh/artifacts/run-20260901-browser-arch/input-candidate-tables.md`);筛选过程见 `select.md`;实测数据见 `bench/S3b-summary.md` / `S3c-summary.md`(2026-09-01 本机 Docker 实测,darwin arm64);评分卡权重:内存三档 30% / 数据质量 25% / 稳定性成功率 20% / 延迟 15% / 运维 10%。
|
||
|
||
## 1. 入选方案(5 套,实测评分)
|
||
|
||
### 国内直连组(不挂代理)
|
||
|
||
| 方案 | 综合分 | 角色 | 入选原因(实测依据) |
|
||
|---|---:|---|---|
|
||
| **SearXNG-CN**(`searxng/searxng:2026.8.29-d226b78bc`,配百度/搜狗/360/必应中国) | 71.5 | 国内搜索发现 | 单发质量满分:T1「跨境电商 出口退税 政策 2026」5/5 断言通过、p50 0.63s、政策域名命中准;idle 仅 99MB、burst 170MB。短板:60 并发突发时百度(4/60)/搜狗(0/60)被 CAPTCHA、必应中国 60/60 扛住——由网关排队钳 4–8 并发消化,不构成排除理由 |
|
||
| **Trafilatura-HTTP**(自构建 `python:3.12-slim` + `trafilatura==2.2.0`) | **96.8** | 国内/通用正文精读 | 全场最优:T2 政策公告页 5/5、1122 字纯净 Markdown 无导航残渣;60/60 全过、p50 0.058s;idle 33MB / burst 41MB。P0 默认开机。能力边界:gov.cn 联播壳页 favor_precision 弃取(宁可不抽也不给脏数据) |
|
||
|
||
### 国外代理组(经 vless 代理池,52 节点实测可用)
|
||
|
||
| 方案 | 综合分 | 角色 | 入选原因(实测依据) |
|
||
|---|---:|---|---|
|
||
| **Lightpanda**(`lightpanda/browser:0.3.7`,Zig 自研轻量 DOM) | **91.0** | 默认 JS 渲染核 | idle **3.6MB**(全场最轻);JS 对照页 3/3;T5 60 任务 4 槽 28.2s 全过(2.13 jobs/s)。短板:重 Shopify 页冲到 251MB(cgroup 定 320m);过不了 Cloudflare/Amazon WAF(本代理池下) |
|
||
| **chrome-headless-shell**(`chromedp/headless-shell:151.0.7922.109`) | 85.5 | 保真渲染单槽 | JS 对照 3/3;Shopify 列表价提取比 Lightpanda 更完整;CONCURRENT=1 下 60 任务 FIFO 零拒绝、74s 排完。短板:重页 394MB(cgroup 400m),因此 L2 档按需启动、L3 档常驻 |
|
||
| **SearXNG-Global**(同 SearXNG 镜像第二实例,聚合 Google/Bing/DDG/Brave 等) | 62.0 | 国外搜索位(带质量警示) | 实例本身稳:idle 122MB、burst 181MB、60 并发不倒。但实测 T3 断言 0/5:数据中心 vless IP 下 Google/DDG/Brave/Startpage/Qwant 全 CAPTCHA/429,**只有 Bing 出结果**——擦线入选部署,产品层不承诺多源(用户已定 D2:接受 Bing-only 起步) |
|
||
|
||
## 2. 预留档(不在 1GB 预算内,等触发条件)
|
||
|
||
| 方案 | 档位 | 启用条件 |
|
||
|---|---|---|
|
||
| **Camoufox**(Firefox C++ 改版指纹伪装) | L4 强对抗档(3–4GB + 住宅代理) | 有 Amazon/Medium 级强反爬刚需 + 住宅代理预算;实测确认当前数据中心代理打不过这两家 WAF |
|
||
| **有头浏览器全档** | 插拔预留 | Dock Protocol 预留 `render=full+headful` 能力位,默认不装镜像不占预算 |
|
||
| **Bouncy**(Rust 极简引擎) | B 类备选 | Lightpanda 出现不可解兼容性问题时再评估(无官方镜像、个人仓库维护风险未验证) |
|
||
|
||
## 3. 排除清单与理由(筛选轮结论)
|
||
|
||
| 方案 | 排除理由 |
|
||
|---|---|
|
||
| playwright-distributed | Redis 硬依赖(违反零 Redis 约束) |
|
||
| browser-swarm | 仅限 macOS Apple Silicon,不适配 Swarm 生产 |
|
||
| Browserless | 官方建议 4GB 档/2g shm,对 1GB 预算过重;其排队模型已被我们吸收进 scheduler 设计 |
|
||
| Jina reader:oss | 自托管镜像捆绑 Chrome+LibreOffice 过重;云端 API 存在 query 出境合规问题 |
|
||
| FerrumMCP / firefox-docker-mcp | 生态弱、Firefox 内存高于 Chromium,无独特价值 |
|
||
| Browser-Use / Stagehand / mcp-browser-use 类 | 依赖 LLM 驱动交互,Token 成本高、耗时长,属「browse 多步交互」特权意图——协议已预留、默认关闭 |
|
||
| open-browser-mcp / mcp-browser-bridge / AI-Browser-MCP | 仅限有头 + 依赖用户本机浏览器/Windows,不符合服务端集群形态 |
|
||
| Firecrawl / Crawl4AI 自托管 | 功能与「chrome-headless-shell + 共享模版层 fit markdown」重叠且更重(120–250MB/任务 + Playwright 全家桶);其输出 Schema 设计已被统一信封吸收 |
|
||
| steel-cluster / Rusty Browser / K8s 系 | 面向 K8s/大规模集群,组织是 Docker Swarm 且预算 1GB,量级不匹配 |
|
||
|
||
## 4. 与既有服务的定位关系
|
||
|
||
- 既有 Vlepontas WSG(`.61:8620` / `.51:8562`,Tavily provider)为境外托管 SaaS 通道;本服务为**自构建替代/升级**——境内闭环、query 不出境、成本仅为代理套餐费。
|
||
- 既有 `central-proxy`(.53:7890)为组织级代理设施;本服务 ProxyManager 面向「搜索出口」场景自带订阅解析/合规路由,两者可并存(ProxyManager 订阅源亦可指向 central-proxy 订阅)。
|
||
|
||
## 5. 可追溯性
|
||
|
||
入选/排除逐项理由:`.dsh/artifacts/run-20260901-browser-arch/select.md`;实测原始数据:`bench/*/results.json`;评分卡定义:`select.md` §4;验收:三份 review 报告均确认数据无编造。
|
||
|
||
## 6. 能力边界实测(2026-09-01 站点矩阵探针)
|
||
|
||
> 背景:D2 已定「国外搜索 Bing-only」。用户追问「智能体直接给 URL 能否取到数据」→ 实测 20 站 × 2 通道(纯 HTTP 提取 trafilatura / 轻渲染 Lightpanda;国外经 vless 代理,国内直连)。原始数据:`.dsh/artifacts/run-20260901-browser-arch/site-matrix.md` + `bench/site-matrix/results.json`。
|
||
|
||
**总体**:trafilatura 7/20 可提取,Lightpanda 11/20;两通道合并并正确路由后 **约 13/20 可用**。
|
||
|
||
| 分类 | 站数 | 代表站点 |
|
||
|---|---:|---|
|
||
| 纯 HTTP 即够 | 7 | Wikipedia / GitHub / MDN / BBC / TechCrunch / LinkedIn 公开公司页 / Shopify 集合页 |
|
||
| 必须 JS 渲染 | 4 | HN(HTTP 抽空)/ gov.cn 国令页(precision 弃取)/ 新华英文 / 36氪(HTTP 安全检测) |
|
||
| 当前出口打不过 | 9 | Amazon 详情页(WAF)/ Medium(CF)/ Reddit 匿名(403)/ X(登录墙)/ 知乎(403)/ 微博(302 访客墙)/ 百度百科(滑块)/ StackOverflow(CF)/ YouTube(无正文结构) |
|
||
|
||
**路由纪律**:`cloudflare/waf/captcha` 类拦截不拿 Lightpanda 空转,直接 `blocked`;HTTP 200 但提取为空才升级 JS 通道。
|
||
|
||
### 以 Vlepontas 为例的场景可行性
|
||
|
||
| 场景 | 可行性 | 说明 |
|
||
|---|---|---|
|
||
| 行业资讯/政策跟踪 | ✅ | 国内外资讯站、政策页(gov.cn 走 JS 通道) |
|
||
| 技术/竞品公开资料 | ✅ | GitHub、文档站、LinkedIn 公开页、公司官网博客 |
|
||
| 独立站(Shopify 系)调研 | ⚠️ 部分 | 商品 URL 常被 302 到集合页:可看系列与价格,不保证落到指定 SKU |
|
||
| 亚马逊详情页/Review | ❌ 当前出口 | WAF。**2026-09-01 用户确认:亚马逊本站数据非刚需——Vlepontas 已有其它消费方案(DaaS 等既有通道),本服务不规划 Amazon 方向**(L4 Camoufox 档仅保留为理论预留) |
|
||
| 社交舆情(Reddit/X/知乎/微博) | ❌ 当前出口 | 4/4 全灭,不能当实时舆情源 |
|
||
| 国外搜索发现 | ⚠️ Bing-only | 数据中心 IP 的客观限制(D2 已接受) |
|