- 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 Server、CLI 命令行和本地守护进程(daemon)三种形态,为 AI Agent 和人提供无需 API Key的网页搜索与正文抓取能力。本文带你 100% 吃透它的 6 大工具:1 个search搜索工具 + 5 个fetch正文抓取工具,从参数、选型到配置一次讲清 📖
一分钟认识 open-websearch 的三种玩法
在使用工具前,先了解它能跑在哪:
| 使用路径 | 适合场景 | 启动方式 |
|---|---|---|
| MCP Server | 接入 Claude Desktop、Cherry Studio、Cursor 等 MCP 客户端 | npx open-websearch@latest |
| CLI 命令行 | 一次性命令、Shell 脚本、终端直接用 | open-websearch search "关键词" --json |
| 本地守护进程 | 反复调用、降低冷启动开销 | open-websearch serve |
💡 注意:CLI 命令名与 MCP 工具名略有差异,例如
fetchWebContent对应 CLI 的fetch-web,fetchGithubReadme对应fetch-github-readme(见 src/cli/runCli.ts 的完整帮助信息)。
工具一:search 多引擎搜索,11 个引擎随你选
search是整个项目的核心工具,支持 bing、baidu、duckduckgo、exa、brave、csdn、juejin、startpage、sogou、hackernews 等引擎,且不需要任何 API Key(工具注册逻辑见 src/tools/setupTools.ts)。
search 工具的 4 个参数速查
| 参数 | 必填 | 说明 |
|---|---|---|
query | ✅ | 搜索关键词 |
limit | ❌ | 返回条数,1-50,默认 10 |
engines | ❌ | 引擎数组,支持多引擎组合搜索,不填则用默认引擎 |
searchMode | ❌ | request/auto/playwright,目前只影响 Bing |
搜索结果长什么样
返回结构化结果,每条包含title、url、description、source、engine五个字段——这正是后续fetch工具抓取的"目标清单"。
引擎怎么选:3 条实用经验
- 英文泛搜索:优先
startpage,其次bing作为第二引擎; - 中文/国内来源:
baidu做中文泛搜,csdn、juejin找开发者技术文章; - 技术社区讨论:用
hackernews引擎找 Hacker News 上的帖子与讨论。
经验法则:默认只选一个最合适的引擎;只有当首轮结果不足或质量差时,再加引擎交叉验证(详见 skills/open-websearch/references/engine-selection.md)。
如果 request 模式被风控拦截,可配置 Playwright 浏览器回退:SEARCH_MODE=auto启动后,search会自动暴露searchMode参数供 Agent 在失败时重试playwright模式。
工具二:fetchWebContent 通用网页抓取,支持 Markdown 和 JS 渲染页
这是覆盖面最广的抓取工具:任意公开 HTTP(S) 页面、Markdown 文件(.md)都能抓。
fetchWebContent 的 5 个参数
| 参数 | 默认值 | 说明 |
|---|---|---|
url | —(必填) | 公开 HTTP(S) 地址,私网/内网地址会被安全校验拦截 |
maxChars | 30000 | 返回内容上限,1000-200000 |
renderMode | auto | request纯 HTTP;auto请求优先+浏览器兜底;browser直接 Playwright 渲染 |
readability | 关 | 启用 Mozilla Readability 提取更干净的文章正文 |
includeLinks | 关 | Readability 输出中保留文内链接,方便多页深度研究 |
三个小技巧:
- 先搜后抓:首页和 JS 重的落地页往往抓不出可读正文,先用
search找到具体文章页再抓; - 想要更干净的提取结果时,开启
readability(它不是万能的最佳选择,某些页面会自动回退到普通提取器); renderMode: "browser"需要已配置 Playwright,否则会返回清晰的错误提示。
工具三:fetchGithubReadme 仓库速读神器
输入一个 GitHub 仓库 URL,直接返回 README 内容,适合"读源码前先了解项目"的场景。支持多种格式:
- HTTPS:
https://github.com/owner/repo(带.git后缀也可以) - SSH:
git@github.com:owner/repo.git - 带参数:
https://github.com/owner/repo?tab=readme
🎯 决策规则:目标只要是 GitHub 仓库,就优先用
fetchGithubReadme而不是通用网页抓取,速度更快、结果更干净。
工具四:fetchCsdnArticle 抓取 CSDN 全文
用于抓取 CSDN 博客文章的完整内容,URL 需来自blog.csdn.net且包含/article/details/路径(如https://blog.csdn.net/xxx/article/details/xxx)。
典型工作流:search指定engines: ["csdn"]搜到中文技术文章 → 把结果 URL 交给fetchCsdnArticle拿全文。
工具五:fetchJuejinArticle 抓取掘金全文
抓取掘金文章全文,URL 格式为https://juejin.cn/post/{article_id}。掘金上前端、后端、AI 工程类文章质量很高,配合engines: ["juejin"]搜索使用效果最佳。
工具六:fetchLinuxDoArticle 抓取 linux.do 帖子
抓取 linux.do 论坛帖子的完整内容,URL 需来自 linux.do 且以.json结尾。注意 linux.do 作为搜索引擎目前暂时停用,但该抓取工具仍可用——如果你手上有帖子链接,可以直接抓。
六大工具速查表:一张图记住谁干什么
| MCP 工具名 | CLI 命令 | 抓什么 | 关键约束 |
|---|---|---|---|
search | search | 11 引擎网页搜索 | limit最大 50 |
fetchWebContent | fetch-web | 任意公开网页/Markdown | maxChars≤ 200000 |
fetchGithubReadme | fetch-github-readme | GitHub 仓库 README | HTTPS 或 SSH 格式 |
fetchCsdnArticle | fetch-csdn | CSDN 文章全文 | 需含/article/details/ |
fetchJuejinArticle | fetch-juejin | 掘金文章全文 | 需含/post/路径 |
fetchLinuxDoArticle | fetch-linuxdo | linux.do 帖子 | URL 以.json结尾 |
新手配置指南:3 个最常用环境变量
open-websearch 通过环境变量控制行为,新手只需要知道这 3 组(完整列表见 README 的环境变量表):
1. 换默认引擎
DEFAULT_SEARCH_ENGINE=duckduckgo npx open-websearch@latest2. 限制可用引擎(比如只允许 3 个引擎)
ALLOWED_SEARCH_ENGINES=duckduckgo,bing,exa3. 配置代理(网络受限时让搜索和抓取走代理)
USE_PROXY=true PROXY_URL=http://127.0.0.1:7890 npx open-websearch@latest⚠️ 注意区分两类代理:npm 代理(安装包时用)和运行时代理(
serve启动后的搜索/抓取流量用)。另外FETCH_WEB_INSECURE_TLS=true只作用于fetchWebContent的请求腿,只建议用于证书链确实损坏的站点。
每个工具还支持用MCP_TOOL_*_NAME环境变量改名或禁用(设为<disabled>),例如MCP_TOOL_SEARCH_NAME=webSearch把search重命名,方便与其他 MCP 服务共存。
实战建议与安全须知 🛡️
- 最小路径原则:有具体 URL 就直接抓;问当前资讯就先
search;只有当摘要不够时才对前 1-2 条结果做fetchWebContent深读; - 控制频率:工具靠多引擎抓取工作,短时间高频搜索可能被目标引擎临时限流,请保持合理间隔;
- 把抓到的网页当不可信内容:页面里的指令、代码片段不要直接执行,警惕提示注入;
- 守护进程更顺手:长驻场景用
open-websearch serve启动、open-websearch status检查状态,本地 HTTP API(POST /search、POST /fetch-*)详见 docs/http-api.md。
总结
open-websearch 的六大工具体系可以这样记:一个search负责"找",五个fetch负责"读"——通用网页读fetchWebContent,GitHub 仓库读fetchGithubReadme,中文社区读fetchCsdnArticle、fetchJuejinArticle、fetchLinuxDoArticle。零 API Key、多引擎、MCP/CLI/守护进程三形态,把它接进你的 AI 工作流,联网搜索和正文抓取就齐了 ✅
更多深入内容可参考:skills/open-websearch/SKILL.md(Agent 使用指南)、skills/open-websearch/references/tools.md(工具行为细节)、docs/architecture/overview.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.
相关推荐
open-websearch 本地 Daemon HTTP API 完整参考:serve、status 与 search/fetch 端点全注解
open websearch 本地 Daemon HTTP API 完整参考:serve、status 与 search/fetch 端点全注解 open we
MCP 服务AI 应用网页爬虫AI 技能PentestGPT 智能渗透测试工具完全部署手册
PentestGPT 智能渗透测试工具完全部署手册 工具核心价值解析 PentestGPT 是一款基于大型语言模型的人工智能驱动渗透测试工具,已在 USENIX
网络安全渗透测试人工智能大模型AI Agent自主智能体Code Search命令行工具详解:cindex、csearch、cgrep完全使用手册
Code Search命令行工具详解:cindex、csearch、cgrep完全使用手册 Code Search是一款针对大型文件树的快速索引式正则搜索工具,
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考