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、通用网页的专用获取命令,未来还将支持其他博客。
- 三种运行方式
- MCP 服务器 – 可接入 Claude Desktop、Cherry Studio、Cursor 等工具。
- CLI – 一次性命令如
open-websearch search "prompt"。 - 本地守护进程 – 持久化 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;未推断任何额外功能。
相关
- 项目
- 项目
- 项目
- 项目
- 项目