多源回退搜索并安全提取网页正文
29.8/100
综合分
0
GitHub 星标
—
npm 周下载
—/5
用户评分
数据截至 2026/9/26 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add GooDAnDReaDY/dsh-web-gateway该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)
状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:已验证
是什么
dsh 原生插件 · search
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
更新放缓:最近一次提交在 38 天前
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码v2.7.0🔵 扫描:含敏感能力尚无人工评估展开查看扫描说明与证据 ↓
安全扫描自动 · 静态分析源码
v2.7.0静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。
可执行外部命令读写/删除本地文件发起外部网络请求
查看扫描证据(共 39 处,展示前 39 条)
- 发起网络请求lib/client.js:330
const res = await fetch('/api/dsh-web-gateway/update', { method: 'GET', credentials: 'same-origin' }) - 发起网络请求lib/client.js:350
const res = await fetch('/api/dsh-web-gateway/update', { - 发起网络请求lib/client.js:389
const res = await fetch('/api/dsh-web-gateway/health', { method: 'GET', credentials: 'same-origin' }) - 发起网络请求lib/client.js:399
const res = await fetch('/api/dsh-web-gateway/health', { method: 'POST', credentials: 'same-origin' }) - 写入本地文件lib/disk-cache.js:34
mkdirSync(dir, { recursive: true }) - 读取本地文件lib/disk-cache.js:43
entries = readdirSync(dir).filter((f) => f.endsWith('.json')) - 读取本地文件lib/disk-cache.js:51
return { p, mtime: statSync(p).mtimeMs } - 删除本地文件lib/disk-cache.js:58
try { unlinkSync(item.p) } catch { } - 读取本地文件lib/disk-cache.js:66
if (!existsSync(p)) return undefined - 读取本地文件lib/disk-cache.js:68
const raw = JSON.parse(readFileSync(p, 'utf8')) - 删除本地文件lib/disk-cache.js:70
unlinkSync(p) - 删除本地文件lib/disk-cache.js:74
unlinkSync(p) - 删除本地文件lib/disk-cache.js:79
try { unlinkSync(p) } catch { } - 写入本地文件lib/disk-cache.js:88
writeFileSync(tmp, payload) - 写入本地文件lib/disk-cache.js:89
renameSync(tmp, p) - 删除本地文件lib/disk-cache.js:92
try { unlinkSync(tmp) } catch { } - 读取本地文件lib/disk-cache.js:97
for (const f of readdirSync(dir)) { - 删除本地文件lib/disk-cache.js:98
if (f.endsWith('.json')) unlinkSync(resolve(dir, f)) - 读取本地文件lib/disk-cache.js:104
return readdirSync(dir).filter((f) => f.endsWith('.json')).length - 写入本地文件lib/caps.js:23
mkdirSync(resolve(path, '..'), { recursive: true }) - 读取本地文件lib/caps.js:29
if (!existsSync(path)) return { day: utcDay(), counts: {} } - 读取本地文件lib/caps.js:30
const raw = JSON.parse(readFileSync(path, 'utf8')) - 写入本地文件lib/caps.js:53
writeFileSync(tmp, JSON.stringify(state, null, 2)) - 写入本地文件lib/caps.js:54
renameSync(tmp, path) - 写入本地文件lib/caps.js:56
try { writeFileSync(path, JSON.stringify(state)) } catch { } - 写入本地文件lib/providers.js:111
mkdirSync(dir, { recursive: true }) - 写入本地文件lib/providers.js:117
writeFileSync(filePath, buf) - 读取本地文件lib/providers.js:121
const files = readdirSync(dir) - 读取本地文件lib/providers.js:125
return { p, mtime: statSync(p).mtimeMs } - 删除本地文件lib/providers.js:129
try { unlinkSync(old.p) } catch (_e) { } - 发起网络请求lib/url-policy.js:334
if (!proxyAgents.has(key)) proxyAgents.set(key, new ProxyAgent(key)) - 发起网络请求lib/url-policy.js:338
if (opts.resolve) return new Agent({ connect: { lookup: makeLookupHook(opts.resolve) } }) - 发起网络请求lib/url-policy.js:339
if (!defaultSafeAgent) defaultSafeAgent = new Agent({ connect: { lookup: makeLookupHook(lookup) } }) - 读取本地文件lib/updater.js:69
if (!existsSync(entry)) return undefined; - 读取本地文件lib/updater.js:72
if (existsSync(manifestPath)) { - 读取本地文件lib/updater.js:74
const manifest = JSON.parse(readFileSync(manifestPath, 'utf8')); - 发起网络请求lib/updater.js:146
const response = await fetch(`${registry.replace(/ $/, '')}/${encodeURIComponent(packageName)}/latest`, { - 读取本地文件lib/updater.js:160
const value = JSON.parse(await readFile(manifestUrl, 'utf8')); - 执行外部命令来自配置/变量lib/updater.js:182
const child = spawn(process.execPath, [
扫描于 2026/11/2(0 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库
静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。
依赖的 DSH / Cordis 模块
@deepseek-ai/cordis@deepseek-ai/dsh-tools@deepseek-ai/dsh-credentials@deepseek-ai/schemastery@deepseek-ai/dsh-host-webserver@deepseek-ai/dsh-settings给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
功能亮点
- 多源回退搜索
- 安全提取网页正文
- 防SSRF提取
为 DeepSeek Harness 提供抗故障的网页搜索与页面提取工具,支持服务商回退和防 SSRF 的提取
README
由 DeepSeek 最新模型翻译生成📦 @goodandready/dsh-web-gateway
面向 DeepSeek Harness 的高可用网页搜索与 SSRF 安全页面提取回退链套件
🇬🇧 English •
🇨🇳 中文说明 • 🇷🇺 Русский
⭐ 如果您喜欢这个插件,请在 GitHub 上为它点亮 Star — 这能让我知道插件对您有用,并鼓励我继续开发和维护它。
🐛 如果您发现 Bug 或希望增加功能,请使用任意语言在 GitHub 上提交 Issue — 我会评估您的建议,并在后续版本中实现有价值的改进。
面向 DeepSeek Harness 的弹性 网页搜索 与 页面提取 工具。
当内置 web_search / web_fetch 遇到限流、验证码或空结果时,本插件提供另一套独立工具名的回退链(不会与核心工具注册冲突)。
工具
| 工具 | 作用 |
| web_gateway_search | 网页搜索。链路:Tavily → Brave → Firecrawl → Exa → 本地 SearXNG → DuckDuckGo |
| web_gateway_extract | 将 URL 提取为 Markdown。
展开完整文档(README 剩余 1 节)
📦 @goodandready/dsh-web-gateway 面向 DeepSeek Harness 的高可用网页搜索与 SSRF 安全页面提取回退链套件 🇬🇧 English • 🇨🇳 中文说明 • 🇷🇺 Русский ⭐ 如果您喜欢这个插件,请在 GitHub 上为它点亮 Star — 这能让我知道插件对您有用,并鼓励我继续开发和维护它。 🐛 如果您发现 Bug 或希望增加功能,请使用任意语言在 GitHub 上提交 Issue — 我会评估您的建议,并在后续版本中实现有价值的改进。 面向 DeepSeek Harness 的弹性 网页搜索 与 页面提取 工具。 当内置 web_search / web_fetch 遇到限流、验证码或空结果时,本插件提供另一套独立工具名的回退链(不会与核心工具注册冲突)。 工具 | 工具 | 作用 | | web_gateway_search | 网页搜索。链路:Tavily → Brave → Firecrawl → Exa → 本地 SearXNG → DuckDuckGo | | web_gateway_extract | 将 URL 提取为 Markdown。链路:Firecrawl → Tavily → Crawl4AI → Jina → readability | | web_gateway_research | 搜索并提取多来源网页为精简 Markdown 摘要 | 缺少密钥、空结果、HTTP 429/5xx 或网络错误时会跳过该提供商。内置熔断器 (Circuit Breaker) 会在多次连续失败后自动暂时隔离该提供商。结果可按 TTL 缓存在内存中。 提取 URL 会校验:仅 http/https,禁止 URL 内嵌凭据,主机名必须解析为 公网 IP(回环 / RFC1918 / 链路本地 / 元数据地址默认拦截)。仅在确实需要时才打开 allowInternalUrls。 安装 dsh plugin --profile web add @goodandready/dsh-web-gateway 安装后请重启 web 配置文件。 凭证 在 设置 → 凭证(或 $DSH_HOME/.credentials.yaml)中保存密钥。设置卡片只保存 凭证名称,不保存密钥本身。 与核心网页工具的关系 Harness 已通过 @deepseek-ai/dsh-tool-web 提供 web_search / web_fetch。本插件 不替换 它们,只额外提供 web_gateway_* 作为回退。 许可证 MIT © GooDAnDReaDY
预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
GooDAnDReaDY/dsh-web-gateway
多源回退搜索并安全提取网页正文
相关插件 · 搜索 / 抓取
LLM 知识平台Tencent/WeKnora
概览 ·快速开始 ·新特性 ·功能 ·客户端 ·文档 ·开发
★ 36,161已汉化DSH
72.1
智能体记忆系统MemTensor/MemOS
MemOS 2.0 Stardust星尘
★ 12,195已汉化DSH
71.2
跨代理记忆库zilliztech/memsearch
跨平台语义记忆,专为 AI 编程智能体打造。
★ 2,799已汉化DSH
70.9
技能语料库EverMind-AI/SkillCorpus
SkillCorpus 能给你什么
★ 694已汉化DSH
69.7
代码图谱记忆syncable-dev/memtrace-public
你的智能体值得拥有结构化记忆。
★ 509已汉化MCP
67.9
AnySearch 搜索插件anysearch-team/anysearch-dsh
AnySearch 网页搜索服务商,为 DeepSeek Harness(DSH)提供高级搜索工具
★ 457已汉化DSH
66.6