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 代理人的实时网络搜索(无需 API 密钥)

是什么

  • 一个小型 Node‑JS 服务,可本地运行(作为 MCP 兼容服务器、CLI 工具或长期运行的 HTTP 守护进程),使基于 LLM 的代理能够执行实时网络搜索并获取文章内容。
  • 聚合来自多个公开搜索引擎(Bing、DuckDuckGo、Baidu、Brave、Exa、Startpage、Sogou、HackerNews、CSDN、Juejin 等)的结果,并可获取 GitHub README、CSDN 帖子或通用 Markdown/HTML 页面的完整文本。
  • 无需外部 API 密钥或认证;唯一可选的要求是,若需访问受限网站,可使用 HTTP 代理。

核心功能

  • 多引擎搜索 – 可选择默认引擎或由用户选择;可通过 ALLOWED_SEARCH_ENGINES 限制允许的引擎。
  • 结构化输出 – 每个结果包含标题、URL 和描述,可直接供 LLM 使用。
  • 内容获取 – 提供 CSDN、GitHub README、Juejin、通用网页的专用获取命令,未来还将支持其他博客。
  • 三种运行方式
    1. MCP 服务器 – 可接入 Claude Desktop、Cherry Studio、Cursor 等工具。
    2. CLI – 一次性命令如 open-websearch search "prompt"。
    3. 本地守护进程 – 持久化 HTTP 服务,暴露 GET /health、POST /search、POST /fetch‑* 接口。
  • 代理支持 – 安装时(npm --proxy …)和运行时(USE_PROXY=true PROXY_URL=…)分别设置代理。
  • 可选 Playwright 集成 – 安装后,工具可在站点阻止简单 HTTP 请求时(如 Bing 的反机器人页面或 JavaScript 重度页面)回退至无头 Chromium 浏览器。可通过 SEARCH_MODE=request 或 playwright 强制模式,或自动检测。
  • 通过环境变量高度可配置 – 从 CORS 处理到 MCP 的自定义工具名称,再到持久浏览器配置文件路径,全部可配置。

典型使用场景

场景 推荐入口
从脚本或终端快速单次搜索 npx open-websearch@latest search "my query" --json
需要稳定端点的代理(如 Claude Desktop) 运行 open-websearch serve(或 npm run serve),并将代理的 MCP 配置指向 http://localhost:3000/mcp
从其他程序重复调用 启动一次守护进程(open-websearch serve),使用 POST /search 或 MCP 工具名(search、fetchWebContent 等)
防火墙后的环境 启动守护进程前设置 USE_PROXY=true 和 PROXY_URL=http://127.0.0.1:7890

安装与快速开始

# 快速启动 – 无需构建
npx open-websearch@latest               # 运行默认模式(STDIO)

# 若需守护进程或 MCP 服务器
npm install -g open-websearch          # 全局安装
npm run build                           # 编译 TypeScript 源码
open-websearch serve                    # 启动 HTTP 守护进程(默认端口 3000)
open-websearch status --json            # 检查是否正常运行

添加 Playwright 以提升页面渲染效果(推荐用于需要真实浏览器的站点):

npm install playwright               # 安装 Playwright 及捆绑的 Chromium
npx playwright install chromium
SEARCH_MODE=auto npx open-websearch@latest   # 守护进程将在需要时使用浏览器

您也可以通过 PLAYWRIGHT_CDP_ENDPOINT 指向现有 Chrome/Chromium 实例,或通过 PLAYWRIGHT_WS_ENDPOINT 连接到远程 Playwright 服务器。

配置亮点

  • DEFAULT_SEARCH_ENGINE – 选择默认引擎(如 duckduckgo)。
  • ENABLE_CORS – 若守护进程将被浏览器调用,设为 true。
  • MCP_TOOL_SEARCH_NAME – 重命名或禁用 MCP 暴露的 search 工具。
  • PLAYWRIGHT_HEADLESS – 若需调试时查看浏览器,设为 false。
  • OPEN_WEBSEARCH_PROFILE_DIR – 持久浏览器配置文件存储位置;删除此文件夹可清除 Cookie/缓存。

对 AI 代理的意义

  • LLM(Claude、GPT 等)通常受限于静态知识;Open‑WebSearch 为其提供了通往开放互联网的实时、无密钥桥梁。
  • MCP 接口意味着该工具可直接接入现有代理生态系统,无需自定义代码。
  • 因其可完全本地运行,数据保留在本地,避免第三方 API 成本或速率限制。

路线图(README 中列出)

  • 添加 Google 及更多主流搜索引擎。
  • 扩展支持的博客、论坛和社交平台。
  • 提升文章提取质量,并增加更多站点专用获取器。

以上所有信息均直接取自仓库 README;未推断任何额外功能。

相关

  • 项目
  • 项目
  • 项目
  • 项目
  • 项目