Aas-ee/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 – 为 AI agent 提供即插即用的网页搜索服务
是什么 – Open‑WebSearch 是一个开源工具,可以运行本地服务器(或 CLI)来查询各种公共搜索引擎(Bing, DuckDuckGo, Baidu, Brave 等),并以整洁、结构化的 JSON 格式返回结果。它还可以获取单个页面的全文(GitHub READMEs, CSDN articles, 通用 Markdown/HTML 页面)。该服务旨在通过 MCP (Model‑Center‑Protocol) 接口供 AI agent(Claude, Cursor 等)使用,但它也可以作为简单的命令行工具或长期运行的 HTTP 守护进程使用。
为什么重要 – 现代基于 LLM 的 agent 经常需要从网络获取最新信息。大多数商业 API 需要付费密钥并有频率限制。Open‑WebSearch 消除了这一障碍:它在无需任何 API 密钥的情况下抓取公共搜索引擎,支持针对受限网络的代理配置,并且在网站阻止简单 HTTP 请求时可以回退到无头浏览器(Playwright)。这使其成为自主 agent、RAG 流水线或任何需要实时网络查询的工作流的实用构建模块。
工作原理
- 搜索 –
search端点会联系所选引擎,聚合标题、URL 和摘要片段,并以 JSON 格式返回。你可以通过环境变量来选择默认引擎或限制允许的列表。 - 获取 – 搜索之后,你可以调用
fetch‑web(通用页面)或专门的获取器(fetchGithubReadme,fetchCsdnArticle等)来检索全文。当 Playwright 可用时,获取器可以渲染 JavaScript 密集型页面并重用持久浏览器配置文件的 cookie。 - 部署选项 –
- MCP server – 直接连接到 Claude Desktop, Cherry Studio, VS Code 扩展等。
- CLI – 单次命令,例如
open-websearch search "latest AI news" --json。 - Local daemon – 一个持续运行的 HTTP 服务(
POST /search,POST /fetch‑*),可减少重复调用的启动开销。 - Docker – 官方容器镜像 (
ghcr.io/aas-ee/open-web-search) 用于快速、隔离的部署。
- 配置 – 所有行为都由环境变量控制(默认引擎、代理设置、CORS, Playwright 模式等)。这使得它很容易适配于企业防火墙或启用/禁用无头浏览器回退机制。
典型使用场景
- 一个 LLM agent 接收到用户查询,例如 “查找最近关于 diffusion models 的论文。”
- Agent 调用 Open‑WebSearch MCP 工具
search(或 CLI)并带上查询内容。 - 服务返回一组 URL 和摘要片段。
- Agent 挑选最有希望的结果并调用
fetchWebContent(或专门的获取器)来检索全文。 5.retrieved content 被反馈回 LLM 进行总结或引用。
核心优势
- 无需 API 密钥 – 开箱即用,支持公共搜索引擎。
- 多引擎支持 – 为特定区域或语言选择最佳引擎。
- 代理感知 – 内置 HTTP 代理处理,适用于受限或企业网络。
- Playwright 回退 – 处理需要 JavaScript 渲染或 cookie 的网站。
- Agent 友好 – 提供标准的 MCP 工具接口和简单的 HTTP API。
局限性
- 依赖于抓取公共搜索页面,因此高频使用可能会触发频率限制或验证码。
- 目前仅实现了部分引擎;尚未支持 Google。
- 浏览器回退机制需要单独安装 Playwright 或现有的远程浏览器。
总结 – Open‑WebSearch 为 LLM agent 与实时网络之间提供了一个轻量级、无需密钥的桥梁,使其成为任何需要最新信息的 RAG 或自主 agent 技术栈的有用组件。
快速开始
# 通过 npx 运行服务(无需安装)
DEFAULT_SEARCH_ENGINE=duckduckgo npx open-websearch@latest
# 或者为重复调用启动守护进程
npm install -g open-websearch
open-websearch serve # 然后 POST /search 到 http://localhost:3000
延伸阅读 – 查看 README 中的 Features, CLI and Local Daemon, Installation Guide, 和 Docker Deployment 部分以获取详细的命令和环境变量选项。
相关
- 项目
- 项目
- 项目
- 项目
- 项目