- MCP 服务
- AI 应用
- 网页爬虫
- AI 技能
【免费下载链接】open-webSearch
Multi-engine MCP server, CLI, and local daemon for agent web search and content retrieval — skill-guided workflows, no API keys.
open-websearch 是一款开源的多引擎网络搜索工具(MCP 服务器 + CLI + 本地守护进程),内置 Bing、Baidu、DuckDuckGo 等十大搜索引擎,全程无需 API Key。本文将用一份场景对照清单,帮你在 1 分钟内选对搜索引擎。
一、十大搜索引擎速览
open-websearch 的引擎实现位于 src/engines/ 目录,每个引擎一个子目录,结构清晰。快速对照表如下:
| 引擎 | 定位 | 最擅长的事 |
|---|---|---|
🌐startpage | 英文综合搜索 | 英文网页发现的第一选择 |
🔍bing | 通用搜索 | 覆盖面广,支持浏览器渲染兜底,默认引擎 |
🇨🇳baidu | 中文综合搜索 | 中文网页发现的主力 |
🐉sogou | 中文辅助搜索 | 百度搜不到时换它试试 |
🕵️duckduckgo | 隐私搜索 | 匿名化网页搜索,无追踪 |
🦁brave | 隐私搜索 | 独立的第二英文索引 |
🤖exa | AI 语义搜索 | 按"意思"而非关键词找内容 |
☕hackernews | 技术社区 | Hacker News 文章与讨论 |
💻csdn | 中文开发者博客 | 教程、技术博客类内容 |
⚡juejin | 中文开发者社区 | 前后端工程实践帖 |
官方还内置了 fetchWebContent(抓取任意网页正文)和 fetchGithubReadme(抓取 GitHub 仓库 README)两个内容获取工具,搜完可以直接深读。
二、场景对照:什么情况选哪个引擎?
这是核心清单,按你的实际搜索场景对号入座:
1. 搜英文资料 → Startpage 优先,Bing 兜底
- 通用英文发现首选
startpage(实现见 src/engines/startpage/startpage.ts) - 结果不理想时,加一个
bing做第二引擎交叉验证 - 官方选型指南明确写道:Prefer startpage for general English-language discovery
2. 搜中文内容 → Baidu 主力,Sogou 补位
- 中文网页大发现用
baidu(见 src/engines/baidu/baidu.ts) - 想要"国内视角"的第二来源,换
sogou(见 src/engines/sogou/sogou.ts)
3. 找中文技术教程 → CSDN 或掘金
- 开发博客、教程型文章 →
csdn(还可用fetchCsdnArticle抓正文,见 src/engines/csdn/fetchCsdnArticle.ts) - 前后端工程实践帖 →
juejin(见 src/engines/juejin/juejin.ts)
4. 找技术讨论 → Hacker News
想查某个项目的社区口碑、争议和深度讨论,直接用hackernews引擎(基于 Algolia 官方 API,见 src/engines/hackernews/hackernews.ts),结果会优先指向原文页面,否则指向 HN 讨论帖。
5. 找"意思相近"的内容 → Exa
关键词搜不到、但内容确实存在时,试试exa——它按语义相关性排序,适合模糊意图的发现(实现见 src/engines/exa/exa.ts)。
6. 不想被追踪 → DuckDuckGo / Brave
注重隐私的场景选duckduckgo或brave。DuckDuckGo 实现自带预加载 URL 与 HTML 双重解析策略,稳健性较好(见 src/engines/duckduckgo/searchDuckDuckGo.ts)。
💡 官方原则:引擎选择是启发式,不是硬规则
官方技能文档 skills/open-websearch/references/engine-selection.md 的核心态度是:首选引擎不可用、受限或质量差时,果断切换到更好的引擎;只在需要交叉验证时才使用多引擎,不要为了"凑热闹"而加引擎。
三、三步切换引擎,零代码配置
第 1 步:CLI 直接用--engine指定
一次性搜索时最简单的方式(命令参考 src/cli/runCli.ts):
open-websearch search "如何配置 Nginx 反向代理" --engine baidu --limit 5多引擎同时搜索用--engines(逗号分隔):
open-websearch search "Playwright best practices" --engines startpage,bing第 2 步:改默认引擎(环境变量)
不想每次手写--engine,就在启动时设置环境变量,配置逻辑见 src/config.ts:
| 环境变量 | 作用 | 示例 |
|---|---|---|
DEFAULT_SEARCH_ENGINE | 设置默认引擎(默认bing) | DEFAULT_SEARCH_ENGINE=duckduckgo |
ALLOWED_SEARCH_ENGINES | 限定可用引擎白名单 | ALLOWED_SEARCH_ENGINES=baidu,csdn |
第 3 步:Bing 被反爬挡住?调SEARCH_MODE
Bing 是唯一支持三种搜索策略的引擎:request(纯 HTTP)、playwright(浏览器渲染)、auto(自动,默认)。遇到验证页或空结果时,保持auto即可让服务端自动兜底。详见 docs/http-api.md 与 README 环境变量表。
四、引擎挂了怎么办?容错机制帮你兜底
open-websearch 的多引擎搜索是部分失败容忍的:任一引擎报错不会中断整体请求,结果里会带上partialFailures字段标明哪个引擎失败,其余引擎照常返回结果(实现见 src/core/search/searchService.ts)。
两个实用建议:
- 网络受限时配置代理:设置
USE_PROXY=true与PROXY_URL即可让所有引擎走代理出网,这对访问受限地区的搜索引擎非常有用:
- 质量差时换引擎:官方指南建议,Bing 返回验证页时改用
SEARCH_MODE=auto或切换引擎,而不是反复重试同一个。
五、30 秒速查清单
| 你的需求 | 直接选 |
|---|---|
| 英文泛搜 | startpage(兜底bing) |
| 中文泛搜 | baidu(补位sogou) |
| 中文技术教程 | csdn/juejin |
| 社区讨论口碑 | hackernews |
| 关键词搜不到 | exa(语义搜索) |
| 隐私敏感场景 | duckduckgo/brave |
| 已知具体 URL | 不搜索,直接fetchWebContent |
| GitHub 仓库说明 | fetchGithubReadme |
一句话总结:按语言选大引擎,按内容类型选垂类引擎,按交叉验证加第二引擎。open-websearch 的价值正在于此——把"选哪个搜索引擎"这个麻烦问题,变成了一张可以直接照抄的清单。
更多架构细节可参考 docs/architecture/overview.md,工具行为说明见 skills/open-websearch/references/tools.md。
- MCP 服务
- AI 应用
- 网页爬虫
- AI 技能
【免费下载链接】open-webSearch
Multi-engine MCP server, CLI, and local daemon for agent web search and content retrieval — skill-guided workflows, no API keys.
相关推荐
搜索引擎集成指南:DuckDuckGo、Bing、Google等多引擎配置
搜索引擎集成指南:DuckDuckGo、Bing、Google等多引擎配置 本文详细介绍了MindSearch框架中多种搜索引擎的集成配置方法,包括DuckDu
AI AgentRAG后端前端MindSearch搜索引擎配置终极指南:一键配置Google、Bing、DuckDuckGo全攻略
MindSearch搜索引擎配置终极指南:一键配置Google、Bing、DuckDuckGo全攻略 想要打造一个功能强大的AI搜索引擎吗?MindSearch
AI AgentRAG后端前端如何用AC-baidu脚本实现搜索引擎终极优化 - 完整指南
在信息过载的时代,我们每天都要面对海量的搜索结果,但真正有价值的信息往往被商业推广、重定向和杂乱的界面所淹没。你是否曾为搜索引擎中铺天盖地的低质量内容而烦恼?是
前端
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考