❝wigolo 是一个本地优先的 MCP 服务器,为 AI 编程代理提供“上网的能力”,如搜索、抓取、爬取、提取和研究等全套网页工具,无需任何 API 密钥、零成本、数据完全留在本地。
它直接对标 Firecrawl、Exa、Tavily 等付费服务,通过 18 个搜索引擎融合、本地 ML 重排序和按需浏览器降级,在质量持平的同时省去了所有计量账单。

通过 MCP 协议暴露 10 个工具
工具分别是:
🔎 搜索(search)
18 个引擎并行融合搜索,支持本地交叉编码器重排序(RRF)。
📄 获取(fetch)
通过分层路由加载任意 URL:HTTP → TLS 模拟 → 无头浏览器分层路由,自动应对反爬虫策略和单页应用(SPA),输出 Markdown 与元数据。
🕸️ 爬取(crawl)
多页面爬取,支持 BFS、DFS、Sitemap 或仅映射模式。内置按域名限速、robots.txt 遵守和模板去重。
🧩 提取(extract)
从页面中提取结构化数据:表格、元数据、JSON-LD、品牌标识、命名模式(文章/食谱/产品等),或任意自定义 JSON Schema。
💾 缓存(cache)
查询所有已访问过的内容——支持关键词(BM25)或混合检索(BM25 + 本地向量)。同时提供统计、清除和变更检测功能。
🧲 相似查找(find_similar)
通过关键词 + 语义 + 实时网络的三路融合,找到与某个 URL 或概念相似的页面。
🧠 研究(research)
将一个问题分解为子查询 → 并行获取来源 → 合成一份带引用的报告(或由宿主 LLM 撰写的结构化简报)。
🤖 智能体(agent)
自主收集循环:规划 → 搜索 → 获取 → 提取 → 合成,带有步骤日志、时间预算和可选的输出模式。
🔁 差异对比 & 监控(diff + watch)
精确查看页面自上次访问后的变化;按计划重新检查并将变更推送到 Webhook。
这些工具的设计哲学是:确定性代码优于模型调用——排名融合、去重、模式匹配、哈希等操作从不触及 LLM,模型仅用于可选的判断和合成环节。所有数据(缓存、嵌入向量、模型、配置)都存储在 ~/.wigolo/ 下,除非你主动开启 LLM 合成功能,否则不会有任何数据离开你的机器。
怎么跑起来
wigolo 是一个通过标准输入输出做 JSON-RPC 通信的 Node.js 进程。本地集成了无头浏览器池、SQLite 和本地机器学习模型——BGE-small 用来生成嵌入向量,MiniLM 用来做结果重排。
支持 macOS、Linux 和 Windows,需要 Node 20 以上,约 1.5GB 磁盘空间存放本地模型和浏览器,也能用 Docker 跑。
大部分核心工作在本地完成,不依赖任何大模型。用户可以选择性接入 Ollama 本地模型或者 Gemini、Claude、OpenAI 这些云端服务来做最终报告的文本总结。兼容主流的 AI 编辑器和客户端。
项目由开发者 KnockOutEZ 用 Node.js 构建,AGPL-3.0 协议开源。
❝地址:https://github.com/KnockOutEZ/wigolo
夜雨聆风