喵喵搜索开源了——一个可自托管的多引擎联网搜索与 MCP 服务

大家好,我是汉堡🍔。

今天把一个做了一段时间的项目开源了:喵喵搜索(miaomiao-search)。

GitHub 地址:https://github.com/dnwwdwd/miaomiao-search

如果觉得有用,欢迎点个 ⭐ Star,这是我持续更新最大的动力。


它是什么

一句话:可自托管的多引擎联网搜索 + Remote MCP 服务

你可以把它部署在自己的机器或懒猫微服上,然后让 AI 客户端(比如 Codex、小龙猫)通过 MCP 协议调用它来搜索互联网、读取网页正文——完全在你自己的控制下,不依赖第三方中转。


核心功能

聚合 11 个搜索源,一次搜索覆盖:

  • Bing、Baidu、DuckDuckGo、Sogou
  • CSDN、掘金
  • GitHub(支持可选 Token)
  • B站(公开接口,返回官方 CDN 封面)
  • Exa、Firecrawl、Tavily(需要用户自己的 API Key,按用户加密存储)

读取网页正文,支持 JavaScript 渲染回退(生产镜像内置 Chromium)。

Remote MCP 服务,通过 Streamable HTTP 暴露 MCP Tools,外部客户端用 Access Token 接入,懒猫应用间可以委托鉴权,不需要额外 Token。

管理门户,可以管理搜索引擎开关、缓存、限流、历史记录和审计日志。

账号体系,支持懒猫 OIDC 和本地账号密码两种登录方式。


技术栈

  • 前端:Next.js 16、React 19、TypeScript、Tailwind CSS v4
  • 后端:Fastify 5、SQLite、Drizzle ORM
  • MCP:MCP TypeScript SDK v2
  • 搜索底层open-websearch@2.1.11 daemon 适配器

单实例运行,数据用 SQLite 持久化,按懒猫 UID 隔离用户数据,包内不含数据库或密钥。


本地跑起来

要求:Node.js 20+、pnpm,以及一个可通过 HTTP(S) 访问的 Open-WebSearch daemon。

bash
复制代码
pnpm install

启动 Open-WebSearch daemon(Windows PowerShell 示例):

powershell
复制代码
$env:SEARCH_MODE="request" $env:USE_PROXY="true" $env:PROXY_URL="http://127.0.0.1:7890/" pnpm --filter @miaomiao-search/server exec open-websearch serve --port 3210

再分别启动服务端和门户:

bash
复制代码
pnpm server:dev pnpm dev

默认地址:

  • 门户:http://127.0.0.1:3000/
  • 服务端:http://127.0.0.1:3001/
  • MCP Endpoint:http://127.0.0.1:3000/mcp

安全设计

几个关键点说一下:

  • 实例密钥派生会话、MCP Token Hash 和设置加密密钥,生产环境由懒猫清单注入,不能写进仓库。
  • Exa、Firecrawl、Tavily、GitHub 的凭据在门户"引擎管理"中按用户保存,服务端只在当前用户数据库中存加密值。
  • 外部 MCP 客户端用 Authorization: Bearer <Token> 接入;懒猫应用间调用由 ingress 注入 X-HC-SOURCEX-HC-USER-ID,委托鉴权,不需要额外 Token。
  • 门户不把 X-HC-* 头当登录凭据,所有受保护 API 将当前 UID 与应用会话绑定校验。

许可

Apache-2.0,详见仓库 LICENSE


项目还在持续迭代中,欢迎提 Issue 和 PR。

如果觉得有用,点个 Star 是对我最大的支持 ⭐

👉 https://github.com/dnwwdwd/miaomiao-search

0个评论
点击登录,快来和大家讨论吧~
表情
图片
暂无评论
吃遍全国汉堡
下载 APP