开头

给 AI 接联网搜索,很多人第一反应还是买 Bing / Google API。我们最近用开源项目 Open-WebSearch 在内网跑通了一套:Docker 部署、MCP 接入、默认走搜狗,对话里已经能稳定搜国内技术内容。结论很直接——国内 Agent 场景,自托管免 Key 搜索 MCP,往往比再申请一把 Key 更划算。

项目地址:https://github.com/Aas-ee/open-webSearch

核心分析

一、Open-WebSearch 解决的是什么问题

Open-WebSearch 是一个基于 MCP 协议的开源联网搜索服务,核心卖点很硬:

  • 无需 API Key:不依赖商业搜索额度
  • 多引擎:支持百度、搜狗、CSDN、掘金、Bing、DuckDuckGo 等
  • 可自托管:Docker / NPX 都能跑,适合内网与私有化
  • 面向 Agent:以 MCP 形式暴露 search、文章抓取等工具,直接给 Cherry Studio、Cursor 一类客户端用

对开发者来说,它把“AI 能不能上网”从采购问题,变成了基础设施问题:你自己控引擎、控网络、控数据出口。对企业来说,这意味着少一层供应商绑定,也少一轮 Key 流转和额度告警。

二、网上的 compose 大多是错的,能跑的配置反而更短

公开文章里常出现 SEARCH_ENGINESBING_API_KEYBING_COOKIE。对照官方文档后,这些变量基本无效。真正生效的是 DEFAULT_SEARCH_ENGINEALLOWED_SEARCH_ENGINES

我们落地时还踩过两个坑:

  1. 百度频繁 302:机房 IP + 反爬下很常见,搜狗更稳,所以默认引擎改成 sogou
  2. 浏览器打开 /mcpInvalid or missing session ID:这是 MCP Streamable HTTP 正常行为,要先握手拿 Session,不能当网页访问

可直接部署的 docker-compose.yml 如下(镜像按你们环境替换):

# Open-WebSearch — 国内免 Key 部署(百度 / 搜狗 / CSDN / 掘金)
# 启动:docker compose up -d
# 健康检查:curl http://127.0.0.1:3000

services:
  open-websearch:
    image: crpi-33mr80vehc50lqh8.cn-chengdu.personal.cr.aliyuncs.com/yunxinai/open-web-search 
    container_name: open-websearch
    restart: unless-stopped
    ports:
      - "3000:3000"
    environment:
      NODE_DEBUG: http
      NODE_ENV: production
      PORT: "3000"
      MODE: both

      # MCP / HTTP 客户端跨域(Cherry Studio、浏览器等需要)
      ENABLE_CORS: "true"
      CORS_ORIGIN: "*"

      # 默认用搜狗;限制为国内免 Key 引擎
      DEFAULT_SEARCH_ENGINE: sogou
      ALLOWED_SEARCH_ENGINES: sogou,csdn,juejin,baidu
    command: ["node", "build/index.js"]

启动与验证:

docker compose up -d
docker logs -f open-websearch

# MCP 正确验活(不要浏览器直接打开 /mcp)
curl -i -X POST http://127.0.0.1:3000/mcp \
  -H "Content-Type: application/json" \
  -H "Accept: application/json, text/event-stream" \
  -d '{
    "jsonrpc": "2.0",
    "id": 1,
    "method": "initialize",
    "params": {
      "protocolVersion": "2025-03-26",
      "capabilities": {},
      "clientInfo": { "name": "curl-test", "version": "1.0.0" }
    }
  }'

客户端配置 URL:http://你的服务器IP:3000/mcp,传输类型选 http / streamableHttp

说明:NODE_DEBUG: http 适合临时排障,日志会比较吵;稳定后建议去掉。官方镜像也可参考 ghcr.io/aas-ee/open-web-search:latest,国内可换阿里云镜像源。

三、行业层面:搜索能力正在从“买 API”变成“装 MCP”

过去做联网 RAG,默认路径是申请搜索 API、管 Key、盯额度。Open-WebSearch 这类项目把路径改成:拉容器、配引擎、挂 MCP。对中小团队,这是信息差;对已经在推 Agent 平台的企业,这是可控的能力组件。

它不会消灭商业搜索 API——高稳定、高并发、强合规场景仍可能需要付费接口。但日常研发助手、技术问答、内网 Agent 试点,自托管往往足够,而且迭代更快。

苍狮技术团队观点

  • 是否被高估或低估:项目能力被低估;被高估的是“抄一份 compose 就能国内丝滑”。免 Key 能用,但引擎可用性、反爬、MCP 会话模型都要工程化处理。
  • 短期价值:几天内就能给对话工具补上国内联网搜索,适合技术问答、文档辅助、Agent 试点。
  • 长期价值:把搜索收拢为自托管 MCP,比绑定单一搜索供应商更可控,后续可按引擎成功率做路由。
  • 是否值得投入:值得。前提是把默认引擎、失败降级、客户端接入方式写进团队规范,而不是当一次性 Demo。

总结

AI 联网搜索的下一站,不是再多买一把 API Key,而是把搜索能力变成你能掌控的 MCP 基础设施——Open-WebSearch 已经把门槛降到了 Docker 一行启动。

Logo

欢迎加入 MCP 技术社区!与志同道合者携手前行,一同解锁 MCP 技术的无限可能!

更多推荐