Open Viking 动态渲染与网页内容萃取核

@open-viking/scraper · v1.2.6

面向高对抗性现代 Web 的高并发无头抓取与文本净化核心。内置智能反爬绕过策略、SPA 动态 DOM 渲染追踪以及高信噪比 Markdown 提取算法,为智能体提供纯净知识源。

网页抓取无头浏览器内容提取Markdown净化
GitHub Stars
39 K+
+12.4% this month
月度调用量
163 K+
Monthly registry pulls
Reach 影响力
98.7/ 100
Top Tier Ecosystem
运行环境
Cordis v3+
Node 18+ / Bun / Deno

安装与配置

支持 CLI 一键执行、包管理器以及 Cordis 总线编排

bash
manager:
$ pnpm add @open-viking/scraper

架构解析

「Open Viking」是智能体探索互联网信息的基础设施。随着前端 SPA 框架的普及与 Cloudflare 等防护措施的升级,传统的静态 HTML 请求往往只能拿到空骨架或直接触发 403 拦截。 本插件深度结合 Chromium CDP 协议与轻量级无头浏览器集群,具备自动化等待 DOM 挂载、模拟人类交互与规避指纹检测的能力。抓取到的网页经过独创的 Readability 算法清洗,剔除广告、弹窗与导航噪点,输出高信息密度的 Markdown,最大化利用模型的上下文窗口。

架构设计原则与约束

01
强类型契约隔离

基于 TypeScript 编译期深度推断,跨插件总线调用享受严格类型校验与零偏差提示。

02
毫秒级热插拔调度

支持微内核动态注册与安全平滑卸载,无需重启主宿主进程即可完成逻辑热替换。

03
确定性有限状态机

内置严谨的多阶段任务生命周期控制,防止复杂长时迭代推理场景中会话状态丢失。

04
零动态构建底层依赖

采用纯原生跨平台运行时环境设计,在 Node.js、Bun 及 Deno 容器中极速冷启动。

核心特性

01
智能反爬对抗引擎:自动绕过常见防爬验证机制与动态环境检测
02
高保真 SPA 完整渲染:精准捕获 React/Vue/Angular 等前端框架动态加载数据
03
极致信噪比净化:平均剔除 75% 网页无关标签,极大节约 LLM 上下文 Token
04
结构化表格与公式保留:完整保留复杂 HTML 交互表格与数学公式为标准 Markdown

核心机制

01

目标侦察与指纹伪装

配置随机 TLS 指纹与动态 HTTP 请求头,向目标 URL 发起请求。

02

无头浏览器渲染

驱动无头浏览器执行 JavaScript,等待核心内容容器渲染完毕。

03

结构净化去噪

剥离导航栏、页脚广告、Cookie 弹窗等冗余 HTML 元素。

04

紧凑 Markdown 交付

将有效正文格式化为规范 Markdown,保留关键表格与代码块交付模型。

配置参数参考 (YAML / JSON)

参数名类型默认值说明
renderTimeoutnumber15000页面渲染等待超时时限 (毫秒)
extractImagesbooleanfalse是否在正文中保留图片直链与描述
blockResourcesstringfont,media禁止加载的资源类型,加快抓取吞吐

应用场景

企业级生产智能体运行时

依托微内核生命周期与容错状态机,保障企业复杂 Agent 全天候稳定执行不崩溃。

基准测试标准化评测运行

深度原生集成 SWE-bench 标准流程,自动化抓取代码变更并产出规范复现指标。

全自主代码工程重构演进

精准拆解模型思考流与具体操作,跨多文件自主排查并高质量完成大型模块重构。

跨系统多工具流协同自动化

在多进程沙箱间安全并发调度事件,打通研发上下游系统实现端到端自动化流转。

最佳实践

01
权限沙箱隔离机制

严格限定子进程系统调用与外部网络范围,在生产环境中建议结合 Docker 独立容器执行。

02
配置指数退避重试

针对上游模型接口限流与偶发网络抖动,建议开启自适应退避重试并设定最大执行上限。

03
长时任务状态快照

利用内核事件总线快照功能实时固化会话节点,发生不可抗意外时支持秒级断点恢复。

04
全量结构化链路追踪

开启全量 Trace 日志输出,将大模型思考过程与具体工具入参返回值集中汇聚至监控。

常见问题

Q1:长时间执行任务超时如何正确配置?

可在配置文件中调大 timeout 阈值,并通过生命周期钩子定期向总线派发心跳信号。针对长耗时推理与工具调用,建议配合持久化会话快照机制,在任务暂停或重启后无缝恢复执行上下文,避免会话被内核提前回收。

Q2:如何捕获并流式解析模型思考过程?

框架原生提供流式回调机制,会话状态机自动拦截并剥离大模型的 <think> 思考标签。开发者只需监听 onThink 事件即可实时获取推理增量,结合前端流式渲染呈现动效,并支持将完整推导链沉淀至审计日志。

Q3:多个插件依赖冲突时如何按需加载?

Cordis 微内核基于有向无环图进行拓扑排序并解析依赖树。当插件间存在同名服务或版本冲突时,可通过命名空间隔离机制按需挂载;结合上下文注入与惰性初始化技术,仅在工具唤起时动态加载资源,保障系统稳定。

Q4:生产环境中如何实施权限与沙箱隔离?

推荐结合容器沙箱与细粒度权限管控,严密禁止插件越权访问敏感文件与未授权外部网络。可通过微内核提供的权限白名单机制严格限制系统调用,并将工具执行环境置于隔离容器内,彻底阻断潜在的代码注入与提权安全风险。

相关生态插件推荐

为你推荐同分类及高度协同的 Cordis 扩展