接入 SearXNG 聚合搜索,故障时自动切换备用服务商
30.8/100
综合分
1
GitHub 星标
—
npm 周下载
—/5
用户评分
数据截至 2026/10/1 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
自动兼容检查有告警:未发布到 npm registry,仅可从源码安装。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add w384/clinkai-dsh-web-search-searxng该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)
状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:已验证
是什么
dsh 原生插件 · search
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
更新放缓:最近一次提交在 31 天前
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
社区实装还没有人打卡 · 装过的第一个就是你
安装兼容性检查⚠ 装前注意未发布到 npm registry,仅可从源码安装
展开查看检查明细 ↓
以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。
✗npm 包@clinkai/dsh-web-search-searxng(未发布到 npm,仅可源码安装)
✓Node 引擎要求 >=18.17 · 基线 Node 22.19 满足
✓dsh CLI 依赖未声明 dsh 版本约束
✓入口文件main/exports/bin 已声明
验证方式:npm registry 存在性 + package.json 静态校验 · 最后检查 2026/10/16 14:07:53
安全扫描自动 · 静态分析源码v2.7.0🟢 扫描:未发现敏感能力尚无人工评估展开查看扫描说明与证据 ↓
安全扫描自动 · 静态分析源码
v2.7.0静态扫描未发现敏感能力:最多只发网络请求、读取自身元数据或只读文件,未发现执行命令、文件写入或敏感信息读取。
发起外部网络请求
查看扫描证据(共 1 处,展示前 1 条)
- 发起网络请求lib/index.js:116
response = await fetch(endpoint, {
扫描于 2026/11/1(0 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库
静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。
依赖的 DSH / Cordis 模块
@deepseek-ai/dsh-web@deepseek-ai/schemastery给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
功能亮点
- 故障自动切换备用服务商
README
由 DeepSeek 最新模型翻译生成@clinkai/dsh-web-search-searxng
为 DeepSeek Harness 的 web 能力接缝(ctx.web)提供 web_search 服务商,底层用 SearXNG —— 当 SearXNG 连不上时,自动回退到另一个服务商(默认是内置的 DeepSeek 搜索)。
一个包,在公开接缝上提供两个服务商:
| 服务商 id | 行为 |
| searxng | 纯 SearXNG:GET {baseUrl}/search?q=<query>&format=json |
| search-fallback | 先用 SearXNG;后端宕机、卡住、返回 5xx,或者(可选开启)什么都没返回时,改用 fallbackProvider 重试 |
用 web.searchProvider 把接缝固定到你想要的那个。这里不会改 DSH 源码,也不导入 DSH 内部导出,所以升级 DSH 不会覆盖任何东西。
- 不需要 API key,不产生费用 —— SearXNG 免费聚合多个引擎。
- 搜索不会彻底坏掉 —— Docker/SearXNG 挂了,search-fallback 会透明地改用内置的 DeepSeek 搜索。
展开完整文档(README 剩余 1 节)
@clinkai/dsh-web-search-searxng
为 DeepSeek Harness 的 web 能力接缝(ctx.web)提供 web_search 服务商,底层用 SearXNG —— 当 SearXNG 连不上时,自动回退到另一个服务商(默认是内置的 DeepSeek 搜索)。
一个包,在公开接缝上提供两个服务商:
| 服务商 id | 行为 |
| searxng | 纯 SearXNG:GET {baseUrl}/search?q=<query>&format=json |
| search-fallback | 先用 SearXNG;后端宕机、卡住、返回 5xx,或者(可选开启)什么都没返回时,改用 fallbackProvider 重试 |
用 web.searchProvider 把接缝固定到你想要的那个。这里不会改 DSH 源码,也不导入 DSH 内部导出,所以升级 DSH 不会覆盖任何东西。
- 不需要 API key,不产生费用 —— SearXNG 免费聚合多个引擎。
- 搜索不会彻底坏掉 —— Docker/SearXNG 挂了,search-fallback 会透明地改用内置的 DeepSeek 搜索。
运行 SearXNG
SearXNG 原生不支持 Windows,所以用 Docker 跑(docker compose up -d):
services:
searxng:
image: searxng/searxng:latest
container_name: searxng
ports:
- "127.0.0.1:18081:8080" # 8080 is usually taken by the DSH Web GUI
volumes:
- ./config:/etc/searxng:rw
restart: unless-stopped
确认 config/settings.yml 里开了 format=json:
search:
formats:
- html
- json
引擎说明(实测,不是猜的)
- 国内引擎默认是关的。 sogou 和 360search 不用任何代理就能正常返回,但 SearXNG 出厂把它们设成 disabled;要显式打开,否则默认搜索什么都返回不了,而能连上的引擎又全是被墙的那些。
- google 能用,前提是主机隧道通着(或者你把引擎指向本地代理,见下文);它在共享 VPN 出口上会周期性被 CAPTCHA 封,之后自己恢复。
- brave(HTTP 429)、duckduckgo 和 quark(CAPTCHA) 被反爬拦了 —— 挂代理也解决不了。
- DNS/隧道还没就绪时失败的引擎,会被 SearXNG 标记为 Suspended 一段时间;别急着下结论说「连不上」,先重启容器。
按引擎配代理(国内引擎保持直连,只把被墙的走本地代理客户端):
engines:
- name: sogou
disabled: false
- name: google
disabled: false
proxies:
all://:
- http://host.docker.internal:12000
timeout: 8.0
安装
包里带了 dsh.bundle.patch,所以装上就够了:DSH 会把服务商作为 bundle 层挂载,不需要手动接线。
from npm (once published)
dsh plugin --profile web add @clinkai/dsh-web-search-searxng
straight from GitHub — no registry needed, the built entry is committed
dsh plugin --profile web add github:w384/clinkai-dsh-web-search-searxng
from a local checkout, or from a packed tarball
dsh plugin --profile web add link:/path/to/clinkai-dsh-web-search-searxng
dsh plugin --profile web add ./clinkai-dsh-web-search-searxng-0.2.0.tgz
按 id 覆盖那一行,把当前实例的 SearXNG 源固定下来,再让接缝指向两个服务商中的一个。在 $DSH_HOME/profiles/<profile>/cordis.patch.yml 里: yaml
- id: web-search-searxng
config:
baseUrl: http://127.0.0.1:18081
fallbackOnEmpty: true
- id: web
config:
searchProvider: search-fallback # or: searxng
配置
| 键 | 默认值 | 含义 |
| baseUrl | http://127.0.0.1:8080 | SearXNG 源 |
| timeoutMs | 15000 | 每次请求 SearXNG 调用的超时时间 |
| fallbackEnabled | true | 注册 search-fallback 服务商 |
| fallbackProvider | deepseek-official | 调度器重试时走哪个服务商 id |
| fallbackOnEmpty | false | 把 SearXNG 返回空结果当作失败,并重试回退 |
什么时候回退
- 连接层失败 —— Docker / SearXNG 挂了(ECONNREFUSED / ETIMEDOUT / ENOTFOUND …;会走完整个 cause 链)。
- 超时 —— SearXNG 卡住,且调用方没有取消。
- HTTP 5xx —— SearXNG 还活着,但一直在报错。
- 空结果 —— 仅在 fallbackOnEmpty: true 时。
其他情况(调用方取消、4xx 比如请求有误)原样透传。
searxng 和 deepseek-official 两个服务商都必须保持注册 —— 它们各自的插件 —— 因为调度器在调用时从接缝注册表里读它们。
排查
- 8080 端口冲突 —— DSH Web GUI 自己默认绑定 127.0.0.1:8080,所以把 SearXNG 映射到 8080 会静默失败(容器跑起来了,但连不上)。换一个主机端口(比如 18081),并相应设置 baseUrl。
- Windows 保留端口段 —— Hyper-V/WSL NAT 会保留一些端口段(比如 8804-8903),绑到其中任何一个都会失败,报 bind: An attempt was made to access a socket in a way forbidden by its access permissions,哪怕根本没有东西在监听。用 netsh interface ipv4 show excludedportrange protocol=tcp 查一下。
许可证
MIT预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
w384/clinkai-dsh-web-search-searxng
接入 SearXNG 聚合搜索,故障时自动切换备用服务商
相关插件 · 搜索 / 抓取
LLM 知识平台Tencent/WeKnora
概览 ·快速开始 ·新特性 ·功能 ·客户端 ·文档 ·开发
★ 36,032已汉化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