DSH HUB
HomePlugin StorePlugin PacksCommunityRankingsResourcesPublish Guide
Plugin source
Back to catalog

qikairo7 /

qikairo7/dsh-web-search-fetch

Verified

DSH 多来源搜索与网页正文整理插件:免密钥首次使用、搜索融合、正文去重互补、来源与差异记录,沿用原生 web_search / web_fetch。

★ 1 Stars0 Forks0 IssuesN/A Community rating0 Confirmed installs
View on GitHub
READMESource: main@b132710b

dsh-web-search-fetch

MIT 许可 Node.js

面向资料研究的 DSH 插件:融合多来源搜索,整理网页正文,保留来源与差异。

面向 DeepSeek Harness(DSH)的网络搜索与网页提取插件。新安装默认启用 AnySearch、Firecrawl、Tavily,使用官方匿名额度开始,搜索与提取本身无需填写 API Key;自动预设另需配置决策模型凭证。配置更多服务后,通过原生 web_search 融合搜索结果,通过原生 web_fetch 整理多份正文。适合技术检索与资料研究。

快速开始 · 正文整理演示 · 真实对比 · 配置参考 · 参与贡献

dsh plugin --profile web add https://github.com/qikairo7/dsh-web-search-fetch/releases/download/v0.2.10/dsh-web-search-fetch-0.2.10.tgz

安装后在设置页选择决策模型并配置对应凭证,再请求搜索或读取公开网页。未配置决策模型时,可使用固定预设体验匿名搜索。匿名模式受服务方额度与限流约束,不能保证无限使用。未安装 DSH 的环境需先完成宿主安装。

项目特点

特点 当前实现 使用价值
多来源搜索融合 最多 16 个搜索服务并发调用,按 URL 去重,使用 RRF(Reciprocal Rank Fusion)融合排名 将多路可用结果整理为统一来源列表
无需密钥首次体验 AnySearch、Firecrawl、Tavily 官方搜索与提取支持匿名额度,无需填写密钥 固定预设可直接体验;自动预设需先配置决策模型凭证
多来源正文整理 动态提取按章节和共同内容块去重、互补,保留提取来源及文本差异 将说明、表格、代码和独有段落整理到一份正文
原生双工具 仅注册搜索和提取 provider,不新增模型工具,也不需要额外 MCP 服务、浏览器自动化或外部 CLI 沿用 DSH 的 web_search、web_fetch 调用方式
可选免费重排 调用硅基流动免费模型 BAAI/bge-reranker-v2-m3;不可用时保留融合顺序 对融合候选进行相关性排序,仍需配置 API Key
服务统一管理 DSH 凭证管理、服务开关、智谱通道选择,以及超时、取消、限流冷却和额度熔断 一处配置搜索、提取与重排;单路失败时继续使用其他可用结果
调用范围与预算 自动预设由快速决策模型判断 fast/balanced/deep;也支持免费接口/均衡/深度/自定义 不手动切换模式,由请求内容决定速度与覆盖范围

插件注册两个 ID 为 aggregated 的 provider。设置页覆盖 18 项搜索/提取/重排服务和 18 个凭证位,另提供五款决策模型选择。每项服务均提供独立启停开关。静态资源使用 DSH 内置 HTTP 提取器,AIHOT 专用 API 直接读取;其余 URL 按配置进入多服务提取。

动态网页提取默认将同一 URL 的多路结果整理成一份正文:按章节和共同段落去重,补充独有内容,保留提取来源和文本差异。代码、表格、链接和原文数字保留;不同标题、明确版本标记、语言或返回目标的内容放入补充片段,识别出的登录与挑战页面不混入正文。引用式链接与脚注按来源保留完整 Markdown 原文,避免同名定义串用。可切换旧版单份正文模式。规则边界见网页正文整理。

默认使用自动预设:决策模型先判断 fast(3 路)、balanced(5 路)或 deep(已选服务范围),再派发搜索和提取;外部决策模型是自动预设的必要依赖;超时或凭证缺失时返回明确错误,本次不派发服务。设置页也可固定为免费接口、均衡、深度或自定义,并独立选择搜索/提取服务、限制服务数量、HTTP 请求数、操作总限时和正文输出长度。保存后下一次调用生效;免费额度与付费服务不会自动纳入免费接口预设。

搜索融合和正文整理不构成事实交叉验证。多路并发会消耗对应服务额度。参数与使用边界见配置参考,离线验证方法见正文整理。

与 ModSearch 5.10.6 的 48 次真实调用均成功。多服务搜索中,ModSearch 的耗时与请求次数更低;本插件融合来源并整理多份提取,适合需要来源与差异记录的资料研究。样本与限制见真实对比。

完整接入清单

服务 搜索 网页提取 用途
AnySearch AI 支持 支持 搜索与正文提取
智谱 支持 — Anthropic 兼容通道与工具 API
知乎 支持 — 内容搜索与额度查询
Firecrawl 支持 支持 v2 Search 与 Scrape
Tavily 支持 支持 搜索与 Extract
Exa 支持 支持 搜索与 Contents
Keenable 支持 支持 实时搜索与正文提取
Crawl4AI Cloud 支持 支持 Cloud 搜索与 Scrape
GitHub 支持 限定 URL 公开仓库搜索,README / blob 文件提取
百度千帆 AI 搜索 支持 — 网页搜索
豆包 Custom 支持 支持 搜索与 Fetch 分别配置凭证
TinyFish 支持 支持 独立 Search / Fetch API,共用密钥
Serply 支持 支持 Google 搜索与 Markdown 提取
Kimi 支持 支持 REST Basic / Pro 搜索与 Markdown 提取
Bing RSS 支持 — 匿名公开 RSS 搜索
AIHOT AI 资讯关键词 专用 API 默认关闭,支持热点、事件、报告与精选读取
硅基流动 重排 — 融合结果相关性排序
阿里决策模型 自动预设路由 — decision-model-preview 判断覆盖范围
TypeSafe 自动预设路由 — jev-latest 判断覆盖范围
直接 HTTP 抓取 — 静态资源 复用 DSH HTTP 组件,无需服务凭证

新安装默认开启 AnySearch、Firecrawl、Tavily 三家推荐服务,其余远程服务与硅基流动重排作为可选增强,默认关闭。直接 HTTP 抓取保留为静态资源的基础提取能力。已保存的显式开关设置优先于安装默认;旧版未设置开关的服务采用新版默认。按需开启增强后,搜索最多 16 路;普通动态提取最多 10 路,适用的 GitHub URL 最多 11 路。Kimi Basic / Pro 二选一,只计一路。AIHOT 专用 API 直接读取,重排和 HTTP 抓取均不计入动态提取路数。实际参与调用的服务取决于配置、凭证、URL 适用范围及熔断状态。

智谱仅支持搜索,不包含阅读器。GitHub 提取限定仓库根 URL 和 /blob/<ref>/<path>。Bing RSS 使用公开搜索 feed,无需密钥;其可用性和格式可能变化。

AIHOT 搜索覆盖近 7 天 AI 资讯;启用后,原生 web_fetch 可读取热点、事件、日报、周报、月报、重置记录和精选快照/增量 API,不参与通用网页提取。使用方法见 AIHOT 接入。启用前请阅读 AIHOT 使用规则;服务数据授权与本项目 MIT 代码许可分别适用。

服务费用

各服务可按免费服务、免费额度和付费使用区分。免费额度可能是每日/每月额度,也可能是限时试用或赠送额度。

费用方式 服务 说明
免费服务 TinyFish Search/Fetch、Bing RSS、GitHub 公开 API、直接 HTTP 抓取、硅基流动 BAAI/bge-reranker-v2-m3 与三款 SystemOne 决策模型、阿里 decision-model-preview 受请求频率、访问权限或资源限制约束;硅基流动与阿里仍需配置 API Key
免费服务(有用途限制) AIHOT 个人非商业、公益非商业及组织内部使用;其他用途按服务规则授权
提供免费额度 AnySearch、知乎、Firecrawl、Tavily、Exa、Keenable、Crawl4AI Cloud、Serply 免费额度的有效期、重置周期和超额计费以服务方及账号为准
按次计费或付费订阅 智谱当前搜索通道、Kimi REST 搜索与提取 Coding Plan 为付费订阅;tools-api 使用按次计费的 search_pro,套餐额度不属于免费额度;Kimi REST 接口按次计费,账号赠送额度需另行确认
按区域限制 TypeSafe jev-latest 付费模型;直连返回 HTTP 451,配置 DSH 代理后可用

推荐服务支持匿名访问,匿名额度仍受 IP、请求频率及服务方额度限制:

推荐服务 未配置密钥时 配置密钥后
AnySearch 官方 /v1/search、/v1/extract 使用公共额度,按 IP 限流 使用对应账户的权限与额度
Firecrawl 官方 /v2/search、/v2/scrape 使用匿名额度 使用对应账户的权限与额度
Tavily 官方 /search、/extract 使用 keyless 模式,携带 x-tavily-access-mode: keyless,受共享限流约束 使用账户鉴权,不再发送 keyless 头

自定义端点仍需配置密钥;已有密钥失效时不自动降级为匿名请求。匿名模式不表示无限免费,也不保证结果质量或可用性。AnySearch 匿名额度耗尽的响应可能包含自动生成的账号信息,插件不记录、不保存,也不自动使用。接口依据:AnySearch Search、AnySearch Extract、Firecrawl 官方 Keyless 说明、Tavily 官方 SDK。

免费接口预设仍排除 AnySearch、Firecrawl、Tavily 等额度型服务;推荐默认组合使用自定义预设。

百度千帆和豆包 Custom 的免费额度、赠送额度及开通条件需按对应账号确认。选择服务时,同时检查搜索与提取接口是否都在免费范围内。插件按配置并发调用,不自动按价格排序,也不保证只使用免费额度。

硅基流动重排使用免费模型 BAAI/bge-reranker-v2-m3,需要注册账号并配置 SILICONFLOW_API_KEY。注册入口:硅基流动(邀请链接)。模型费用以硅基流动官方定价为准。

费用依据:AnySearch、知乎、Firecrawl、Tavily、Exa、Keenable、Crawl4AI、TinyFish、Serply、智谱 Coding Plan、Kimi REST 接口定价。

快速开始

环境要求

组件 要求
Node.js ^22.19.0 || >=24.0.0,不包含 Node.js 23
DSH 已安装,并具有 web 和 credentials 服务
开发工具 pnpm 12.10.1
外部服务 网络连通性;推荐的 AnySearch、Firecrawl、Tavily 官方匿名模式无需凭证,增强服务按需启用

已在 Windows、Node.js 24.20.0、DSH 0.2.1-alpha.2 / 0.2.1-alpha.3 的正式环境及隔离 profile 中验证安装、原生搜索和网页提取。alpha.3 的 @deepseek-ai/dsh-tool-web 与 @deepseek-ai/dsh-web 运行时代码和类型声明相对 alpha.2 未变化,新增 locale 资源与依赖版本。CI 覆盖 Windows/Ubuntu、Node.js 22.19/24 的构建、类型检查与测试;CI 通过不表示这些组合均完成 DSH 实机验收。

DSH 版本 兼容声明 验证范围
0.2.1-alpha.2 compatible 上述 Windows 环境的安装、搜索与提取
0.2.1-alpha.3 compatible 上述 Windows 环境的安装、搜索与提取
0.2.1-alpha.1 unknown 尚未执行该版本运行验收
0.2.0-rc.2 unknown 尚未执行该版本运行验收

默认分支的 package.json 提供 dsh.compatibility.dshReleases 精确版本声明;未验证版本保持 unknown。发布包包含这项兼容元数据。这里不声明所有版本的卸载或回滚已通过验收。

使用发布包安装

在已配置 DSH 的环境中执行:

dsh plugin --profile web add https://github.com/qikairo7/dsh-web-search-fetch/releases/download/v0.2.10/dsh-web-search-fetch-0.2.10.tgz

将 web 替换为实际使用的 profile,安装后重启宿主。本项目通过 GitHub Release 分发固定版本包;此命令不需要 npm 包发布账号或 GitHub 登录。

从源码安装

在已配置 DSH 的环境中执行:

git clone https://github.com/qikairo7/dsh-web-search-fetch.git
cd dsh-web-search-fetch
pnpm install --frozen-lockfile
pnpm run build
dsh plugin --profile <profile> add link:<absolute-repository-path>

将 <profile> 替换为目标 profile,将 <absolute-repository-path> 替换为仓库绝对路径。路径包含空格时,对整个 link: 参数加引号。

bundle patch 自动选择 provider。使用以下命令检查装载后的配置:

dsh --profile <profile> --dump-config

应出现 web-search-fetch 条目,以及 web 条目下的 searchProvider: aggregated 和 fetchProvider: aggregated。配置输出仅证明装载状态;还需实际调用工具检查响应。分享输出前应检查其他插件的私密数据。

配置凭证

在 DSH Web 的「设置 → 内置插件 → 网络搜索与提取」中填写所需凭证并保存。空白填写位保持已有凭证;状态区只显示配置状态。

也可通过 DSH 凭证服务管理以下引用:

默认引用名 服务
ZHIPU_API_KEY 智谱搜索
ANYSEARCH_API_KEY AnySearch 搜索与提取
ZHIHU_ACCESS_SECRET 知乎搜索与额度查询
FIRECRAWL_API_KEY Firecrawl 搜索与提取
TAVILY_API_KEY Tavily
EXA_API_KEY Exa
KEENABLE_API_KEY Keenable
CRAWL4AI_API_KEY Crawl4AI Cloud
GITHUB_TOKEN GitHub
QIANFAN_API_KEY 百度千帆 AI 搜索
DOUBAO_SEARCH_API_KEY 豆包搜索
DOUBAO_FETCH_API_KEY 豆包提取
TINYFISH_API_KEY TinyFish
SERPLY_API_KEY Serply
MOONSHOT_API_KEY Kimi 搜索与提取
SILICONFLOW_API_KEY 硅基流动重排
DASHSCOPE_API_KEY 阿里决策模型
TYPESAFE_API_KEY TypeSafe 决策模型

推荐的 AnySearch、Firecrawl、Tavily 官方搜索与提取无需凭证,状态显示“匿名额度”;配置密钥后使用账户模式。Bing RSS、AIHOT 和直接 HTTP 抓取无需凭证。豆包搜索与提取分别填写;服务总开关同时控制其搜索与提取。服务列表支持名称搜索、能力筛选和配置状态筛选;隐藏或折叠的草稿仍会保留。配置状态表示凭证存在,不证明服务健康。

配置文件只填写引用名。凭证值由 DSH 管理,每次操作重新解析。详细说明见配置参考。

使用

在启用本插件的 DSH 会话中使用原生工具,例如:

搜索 DeepSeek Harness 的插件开发文档,并列出来源链接。
读取 https://example.com/guide.md,概括主要内容。

动态提取默认单个服务限时 45 秒。需为会话实际使用的 tool-web 设置足够的提取预算;Web agent preset 中的嵌套工具配置也需检查。见工具超时配置。

设置界面

设置页使用 DSH 原生分段选择、输入框、复选框和开关。首屏显示当前调用方式与服务配置;展开“调用设置”可切换预设和正文处理方式,请求数、超时和正文长度在“高级调用限制”中调整。服务列表支持关键词搜索、能力筛选和逐项配置。推荐的三家服务置顶,其余标注“可选增强”;每行统一显示配置状态、启用开关和展开箭头。总开关保留凭证与参与范围;关闭直接 HTTP 抓取后,静态 URL 会报错,不会自动调用其他服务。

数值输入允许暂时清空,超出范围时显示提示并阻止保存;搜索框按 Enter 不会提交设置。保存前可以放弃修改,离开设置页会撤销未保存草稿。配置状态仅表示凭证是否存在。

DSH 原生设置窗口中的网络搜索与提取服务列表

官方匿名额度、账户额度及自定义端点要求在服务说明中区分。已保存的密钥不会回显到填写位。

工作原理

flowchart LR
    Search[web_search] --> Fanout[多来源并发搜索]
    Fanout --> Fusion[URL 去重与 RRF 融合]
    Fusion --> Rerank[可选相关性重排]
    Rerank --> Sources[统一来源列表]
    Fetch[web_fetch] --> API{已启用的 AIHOT 专用 API?}
    API -->|是| AIHOT[读取 Markdown 或完整 JSON]
    API -->|否| Route{URL 分流规则}
    Route -->|静态资源| HTTP[DSH HTTP 提取器]
    Route -->|其他 URL| Extract[多来源并发提取]
    Extract --> Mode{正文处理模式}
    Mode -->|默认整理| Organize[内容块去重与互补]
    Organize --> Body[正文、来源与文本差异]
    Mode -->|旧版兼容| Select[评分后返回单份正文]

已启用的 AIHOT 专用 API 先直接读取,其他 URL 再进入分流。分流根据 URL 扩展名和配置的静态域名判断,不检测页面渲染能力。HTML、PDF、未知扩展名及无扩展名 URL 默认进入动态提取。静态提取失败时不会自动转入付费服务;动态提取失败时也不会自动回退到 HTTP。

文档

文档 内容
配置参考 参数、端点、凭证回落关系和工具预算
网页正文整理 整理规则、来源标记、差异处理和限制
与 ModSearch 的真实对比 方法、逐次指标、请求成本与证据边界
AIHOT 接入 原生工具读取 Markdown、结构化报告及精选 API
架构说明 模块职责、数据流、错误处理和扩展方式
术语表 项目术语与接口含义
常见问题 装载、凭证、超时和熔断排查
贡献指南 本地开发、测试和提交要求
安全说明 外部请求、凭证保护和漏洞报告

贡献与反馈

问题反馈和功能建议请通过 GitHub Issues 提交。提交代码前请阅读贡献指南。

许可与致谢

本项目采用 MIT 许可。AnySearch 服务包含来自 anysearch-team/anysearch-dsh 的 MIT 代码;智谱通道参考了 PartinGQAQ/dsh-web-search-zhipu 的方法与协议常量。来源、改造范围和第三方许可全文见 NOTICE。

—/ 5

No ratings yet

Verified DSH bundle

Commit b132710b09cc

Community comments

No comments yet. Be the first to write one.

DSH HUB

A community index for DSH plugins. Not an official GitHub or DeepSeek AI product.

CommunityResourcesAPIAbout