🎁 福利专区全网大模型免费应用 + 新用户福利 + 注册活动入口,低成本玩转 AI

网页检索套件 QuantumKuba/dsh-webstack

DeepSeek Harness
QuantumKuba48 天前有提交已提供中文文档扫描:高危

为本地模型提供抗反爬的搜索与抓取能力

30.7/100
综合分
1
GitHub 星标
—
npm 周下载
—/5
用户评分

数据截至 2026/9/18 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。

自动兼容检查有告警:未发布到 npm registry,仅可从源码安装。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add QuantumKuba/dsh-webstack
该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:已验证
是什么[目录]—
dsh 原生插件 · market
暂无时间戳·判据 →
装得上吗[实装验证]✓
本站已在 dsh 0.2.1-rc.5 下真实安装成功
非静态推断
L4 · 真实安装等级说明 →
数据截至 2026/11/02·判据 →
安全吗[自动扫描]—
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
数据截至 2026/11/04·判据 →
还在维护吗[仓库]—
更新放缓:最近一次提交在 48 天前
暂无时间戳·判据 →
图例:✓ 通过! 需注意— 未判定 / 无数据· 「未判定」= 本站尚无数据,不代表插件有问题
档位由哪些信号合成

本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。

验证判据与等级说明 →

可信度证据

安装兼容性检查⚠ 装前注意

未发布到 npm registry,仅可从源码安装

展开查看检查明细 ↓

以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。

✗npm 包dsh-webstack(未发布到 npm,仅可源码安装)
✓Node 引擎要求 >=22.18.0 · 基线 Node 22.19 满足
✓dsh CLI 依赖未声明 dsh 版本约束
✓入口文件main/exports/bin 已声明

验证方式:npm registry 存在性 + package.json 静态校验 · 最后检查 2026/10/12 15:07:35

🔴 安全扫描发现高危能力自动 · 静态分析源码
v2.7.0
🔴 扫描:高危尚无人工评估

静态扫描发现安装期即执行代码,或命令参数由运行时变量拼接(参数来源无法静态判定,从严处理)。

命令参数由运行时变量拼接读写/删除本地文件发起外部网络请求
查看扫描证据(共 18 处,展示前 18 条)
  • 发起网络请求
    benchmark/engine/bridge-benchmarks.ts:16
    await bridge.fetch({
  • 执行外部命令运行时拼接
    benchmark/engine/bridge-benchmarks.ts:31
    execSync(`kill -0 ${pid} 2>/dev/null`);
  • 发起网络请求
    benchmark/engine/fetch-benchmarks.ts:94
    const res = await provider.bridge.fetch({
  • 发起网络请求
    benchmark/engine/fetch-benchmarks.ts:109
    const res = await provider.bridge.fetch({
  • 发起网络请求
    benchmark/engine/fetch-benchmarks.ts:129
    const fetchRes = await provider.fetch({ url: target.url });
  • 发起网络请求
    benchmark/engine/security-benchmarks.ts:73
    await provider.fetch({ url: spec.target });
  • 写入本地文件
    benchmark/run.ts:103
    writeFileSync(reportPath, markdownReport, "utf-8");
  • 读取本地文件
    src/scrapling/bridge.ts:44
    if (existsSync(DEFAULT_PYTHON_VENV)) {
  • 读取本地文件
    src/scrapling/bridge.ts:54
    if (this.options.sidecarPath && existsSync(this.options.sidecarPath)) {
  • 读取本地文件
    src/scrapling/bridge.ts:57
    if (existsSync(DEFAULT_SIDECAR_PATH)) {
  • 执行外部命令来自配置/变量
    src/scrapling/bridge.ts:130
    const child = spawn(pythonBin, [sidecarPath], {
  • 发起网络请求
    src/scrapling/bridge.ts:222
    async fetch(payload: SidecarFetchPayload, signal?: AbortSignal): Promise<SidecarFetchResponse> {
  • 发起网络请求
    src/scrapling/bridge.ts:232
    const response = await globalThis.fetch(endpoint, {
  • 发起网络请求
    src/scrapling/bridge.ts:275
    await globalThis.fetch(`http://127.0.0.1:${this.port}/shutdown`, {
  • 读取本地文件
    src/scrapling/provider.ts:83
    return existsSync(pythonBin);
  • 发起网络请求
    src/scrapling/provider.ts:93
    async fetch(request: WebFetchRequest, signal?: AbortSignal): Promise<WebFetchResult> {
  • 发起网络请求
    src/scrapling/provider.ts:323
    const res = await this.bridge.fetch(payload, signal);
  • 发起网络请求
    src/searxng/provider.ts:82
    const response = await fetch(targetUrl.toString(), {
扫描于 2026/11/4(0 天前) · 范围 全包扫描(包内未声明入口) · 来源 GitHub 仓库

静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。

社区实装还没有人打卡 · 装过的第一个就是你
依赖的 DSH / Cordis 模块
@deepseek-ai/schemastery@deepseek-ai/cordis@deepseek-ai/dsh-web
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

功能亮点

  • 抗反爬搜索
  • 隐身抓取
  • SearXNG搜索服务

面向 DeepSeek Harness 的高级 SearXNG 搜索与 Scrapling 隐身抓取服务商套件

README

由 DeepSeek 最新模型翻译生成
面向 DeepSeek Harness(ctx.web)的企业级网页搜索与检索插件 概述 dsh-webstack 是面向 DeepSeek Harness 的高性能网页能力套件,集成了用于元搜索发现的 SearXNG 以及用于多层级、抗反爬内容检索的 Scrapling。 dsh-webstack 专为在有限上下文窗口(32k–90k tokens)内运行的本地推理模型(例如 Qwen 2.5/3.8 27B 和 DeepSeek R1/V3)而设计,在不造成工具臃肿、上下文污染或安全漏洞的前提下,提供网页自主能力。 ┌───────────────────────────────────────────────────────────┐ │ DeepSeek Harness Agent │ │ Local LLM (Qwen 3.8 27B / R1) │ └─────────────────────────────┬─────────────────────────────┘ │ Native Schema │ web_search / web_fetch ▼ ┌───────────────────────────────────────────────────────────┐ │ Cordis ctx.web Runtime │
展开完整文档(README 剩余 1 节)
面向 DeepSeek Harness(ctx.web)的企业级网页搜索与检索插件

概述

dsh-webstack 是面向 DeepSeek Harness 的高性能网页能力套件,集成了用于元搜索发现的 SearXNG 以及用于多层级、抗反爬内容检索的 Scrapling。

dsh-webstack 专为在有限上下文窗口(32k–90k tokens)内运行的本地推理模型(例如 Qwen 2.5/3.8 27B 和 DeepSeek R1/V3)而设计,在不造成工具臃肿、上下文污染或安全漏洞的前提下,提供网页自主能力。

┌───────────────────────────────────────────────────────────┐
│ DeepSeek Harness Agent │
│ Local LLM (Qwen 3.8 27B / R1) │
└─────────────────────────────┬─────────────────────────────┘
│
Native Schema │ web_search / web_fetch
▼
┌───────────────────────────────────────────────────────────┐
│ Cordis ctx.web Runtime │
└──────────────┬────────────────────────────┬───────────────┘
│ │
Provider: searxng │ Provider: scrapling │
▼ ▼
┌──────────────────────────┐ ┌───────────────────────────────┐
│ SearxngSearchProvider │ │ ScraplingFetchProvider │
│ • Clean JSON Mapping │ │ • Pre-Flight DNS Validation │
│ • Engine Deduplication │ │ • Same-Origin Redirect Lock │
└────────────┬─────────────┘ └───────────────┬───────────────┘
│ │
▼ ▼
┌──────────────────────────┐ ┌───────────────────────────────┐
│ 本地 SearXNG 实例 │ │ Scrapling 多层级引擎 │ │ 隐私保护的元搜索聚合 │ │ T1: curl_cffi 指纹模拟 │ │ (P95 1.7s) │ │ T2: 无头 Playwright/DOM │ └──────────────────────────┘ │ T3: 隐身 WAF 与 Turnstile │ └───────────────┬───────────────┘ │ ▼ ┌───────────────────────────────┐ │ Markdown 精简器(GFM) │ │ 节省 73.1% token 上下文 │ └───────────────────────────────┘

架构与生产环境保障

1. 面向模型零工具膨胀模型仅与原生 DeepSeek Harness 的 web_search 和 web_fetch schema 交互。高级抓取参数、隐身标志和 DNS 检查完全封装在提供者层内部。

2. 多层级检索流水线(scrapling)内容获取会根据目标复杂度自动在三个性能层级之间伸缩:

| 层级 | 引擎 / 技术 | 延迟(均值) | 主要目标 |
| 第 1 层(默认) | curl_cffi(Chrome TLS 指纹) | 531ms | 文档、GitHub、Wikipedia、博客、REST 端点 |
| 第 2 层(动态) | Playwright 无头 Chrome | 2,088ms | 客户端渲染的 JavaScript SPA(React、Vue、Next.js) |
| 第 3 层(隐身) | StealthyFetcher 反机器人引擎 | 1,669ms | Cloudflare Turnstile、插页、反机器人 WAF 挑战 |

* Turnstile 求解器:针对交互式 Cloudflare 挑战的自动检测与点击坐标拟人化。
* 指纹伪装:Chromium canvas 噪声注入、WebRTC IP 泄漏抑制、真实 WebGL 上下文、Google Search referer 欺骗以及跟踪器拦截(约 3,500 个域名)。

3. 内核级 SSRF 与安全 URL 防护所有获取请求在连接分发之前都会经过预检 DNS 地址验证:
* 私有子网拒绝:立即阻止回环地址(127.0.0.0/8、::1)、RFC 1918 子网、链路本地 / 云元数据端点(169.254.169.254)以及运营商级 NAT(100.64.0.0/10)。
* 分裂地平线保护:解析为混合公网/私有地址的主机名会被立即拒绝。
* 严格同源重定向:跨源或跨协议的重定向会以 WEB_REDIRECT_BLOCKED 终止。
* 零 DNS 延迟惩罚:安全检查在** 📊 有关完整的逐查询分布、延迟方差和测试设置,请参阅 基准测试报告。

快速开始

1. 安装插件在你的 DeepSeek Harness 工作区中:
pnpm add dsh-webstack
或通过 npm
npm install dsh-webstack

2. 配置 SearXNG 与 Scrapling
* SearXNG:通过 Docker Compose 部署,并在 http://127.0.0.1:8080 上启用 JSON(参见 SearXNG 设置指南)。
* Scrapling:安装到带有隐身附加组件的虚拟环境中(参见 Scrapling 设置指南):
pip install "scrapling[stealth]" && playwright install chromium

3. 挂载 Cordis 补丁层将 cordis.patch.yml 应用到你的 DeepSeek Harness 配置文件,以连接 ctx.web:
- id: web
config:
searchProvider: searxng
fetchProvider: scrapling

- insert:
- id: dsh-webstack
name: dsh-webstack
config:
searxng:
baseURL: http://127.0.0.1:8080
scrapling:
pythonBinary: python3
enableDynamicFallback: true
enableStealthFallback: true

文档与指南

全面的指南和技术文档可在 docs/ 目录中找到:

| 指南 | 描述 |
| SearXNG 设置指南 | 官方 Docker Compose 部署、settings.yml 调优、密钥生成以及 Valkey 缓存。 |
| Scrapling 环境设置 | Python 3.11+ 虚拟环境设置、Playwright Chromium 安装以及 sidecar 验证。 |
| 配置参考 | 完整的 Cordis 补丁层、SearXNG 和 Scrapling 的参数目录以及上下文边界调优。 |
| 编程使用指南 | 在不使用 Harness 的情况下,独立以 Node.js 和 TypeScript 使用 SearxngSearchProvider 和 ScraplingFetchProvider。 |
| 故障排除与常见问题 | 针对 403 Forbidden、429 速率限制、缺少 Python 路径、Playwright 二进制文件以及 SSRF 拦截的解决方案。 |
| 基准测试报告 | 实证延迟分布、上下文 token 缩减统计以及 SSRF 安全测试遥测。 |

验证与测试套件

该代码库在搜索规范化、安全过滤器和实时集成方面维护了自动化测试覆盖:

运行完整测试套件(35 个测试,10 个套件)
pnpm test

运行重点测试套件
pnpm test:security # SSRF 验证、私有 IP 拦截、重定向策略
pnpm test:searxng # 查询参数编码、响应规范化
pnpm test:cancellation # 信号取消、子进程终止
pnpm test:integration # 实时 HTTP 获取、重定向强制执行、Cordis 接缝

运行实证基准测试套件
pnpm run benchmark

许可证

MIT © Kuba
预览分享卡片长什么样 ↓QuantumKuba/dsh-webstack
分享 · DeepSeek Harness Hub
QuantumKuba/dsh-webstack

为本地模型提供抗反爬的搜索与抓取能力

这个插件是你维护的吗?
作者本人可认领并核对本条目;认领通过后,详情页会显示「作者已认领」标记。
认领条目 →
回到顶部