乐于分享
好东西不私藏

wigolo:让AI编码助手零成本联网

wigolo:让AI编码助手零成本联网

wigolo:让AI编码助手零成本联网

导读

wigolo 是一个本地优先的 AI Agent Web 情报引擎——一行命令装好,你的 Claude Code、Cursor、Codex 等编码助手就能联网搜索、抓取网页、爬站、提取结构化数据,而且**不需要任何 API Key,不需要云端服务,查询费用为零**。

为什么选它

维度 评估结果
Trending 排名 GitHub 日榜连续上榜(7月19日 +203⭐,7月20日 +595⭐),总 Star ~2066
涨星速度 近 2 天增长超 700 颗星,Star 暴涨近三倍,曲线陡峭上升
讨论度 头条/掘金等多平台出现评测文章:《GitHub 涨星热榜 Top3》《日涨 605 星》《给AI编码助手装上"网络引擎"》等
实用性 ✅ 一行 npx wigolo init 即用;支持 8+ 主流 AI 编码工具;普通人也能通过 CLI 直接使用

一句话理解项目

把搜索、抓取、爬虫、结构化提取这整套 Web 能力打包成一个 MCP 工具,跑在你自己电脑上,免费且不依赖第三方服务。

核心功能拆解

wigolo 提供了 10 个核心工具,覆盖了 AI Agent 在网络上能做的几乎所有事情:

🔎 search — 多引擎搜索

不是调一个搜索 API 就完事。wigolo 内置了 18 个搜索引擎适配器(DuckDuckGo、Brave、Searxng 等),并行发出多个子查询后做 rank fusion 融合排序,再用本地的 ML 模型做 reranking。每个结果都带逐项可解释的评分——语义分、关键词分、引擎共识数一目了然。

解决什么问题?AI 编码助手问一次问题可能触发多次搜索,多引擎融合让结果更全面,本地 reranking 让质量更高。

📄 fetch — 智能网页抓取

遇到普通 HTTP 请求搞不定的 SPA 单页应用或反爬页面?fetch 会自动升级到内置的无头浏览器引擎来渲染。返回干净的 Markdown 格式内容,附带元数据和链接列表。

解决什么问题?很多技术文档、产品官网都是 JS 渲染的,传统 fetch 只能拿到空壳。wigolo 的分层路由自动处理了这件事。

🕸️ crawl — 多页爬取

支持 BFS、DFS、sitemap 三种策略,自带 robots.txt 遵守和每域名速率限制,还能自动去重 boilerplate(导航栏、页脚等重复内容)。

解决什么问题?想了解一个竞品的完整功能列表?或者收集某个文档站的所有 API 说明?crawl 一把搞定。

🧩 extract — 结构化数据提取

从网页中抽取表格、JSON-LD 元数据、品牌信息,还支持自定义 JSON Schema。比如你告诉它"我要文章的标题/作者/发布时间/正文",它就按这个格式返回。

解决什么问题?从杂乱网页里拿到干净的结构化数据,直接喂给 AI 做分析。

💾 cache — 本地缓存记忆

每次搜索和抓取的结果都会缓存在 ~/.wigolo/ 目录下。支持关键词检索和语义混合检索,离线也能查历史记录。还能检测页面变化。

🧲 find_similar — 相似页面发现

给定一个 URL 或概念,找到语义相似的其他页面。三路融合:关键词 + 语义向量 + 实时网络搜索。

🧠 research — 自动研究

输入一个问题,wigolo 自己分解成子查询 → 搜索 → 抓取 → 综合,输出带引用的报告。相当于给 AI 装了一个"研究员"角色。

🤖 agent — 自主采集循环

更高级的自主模式:规划 → 搜索 → 抓取 → 提取 → 综合,带时间预算和输出 Schema 约束。适合复杂的信息收集任务。

🔁 diff + ⏱️ watch — 变更监控

对比页面两次抓取的差异,支持定时监控并通过 webhook 推送变更通知。

技术架构

┌─────────────────────────────────────────────┐
│              你的 AI Agent                    │
│   Claude Code / Cursor / Codex / ...         │
└──────────────┬──────────────────────────────┘
               │ MCP 协议
┌──────────────▼──────────────────────────────┐
│              wigolo (本地进程)                 │
│                                              │
│  ┌──────────┐ ┌──────────┐ ┌──────────────┐  │
│  │ Search   │ │ Fetch    │ │ Crawl        │  │
│  │ (18 引擎) │ │ (分层路由)│ │ (BFS/DFS)    │  │
│  └──────────┘ └──────────┘ └──────────────┘  │
│  ┌──────────┐ ┌──────────┐ ┌──────────────┐  │
│  │ Extract  │ │ Cache    │ │ Reranker     │  │
│  │(Schema)  │ │(本地存储) │ │ (ONNX 本地)  │  │
│  └──────────┘ └──────────┘ └──────────────┘  │
│  ┌──────────────────────────────────────┐    │
│  │      无头浏览器引擎 (内置)             │    │
│  └──────────────────────────────────────┘    │
│          数据全部留在 ~/.wigolo/             │
└──────────────────────────────────────────────┘
语言:TypeScript
运行时:Node.js ≥ 20
协议:MCP (Model Context Protocol)
ML:ONNX 格式的本地 reranker 模型,嵌入模型也在本地运行
存储:所有数据存在用户目录下,不上传任何第三方

上手教程

前置条件

Node.js 20 或更高版本
约 1.5 GB 可用磁盘空间(下载浏览器引擎和 ML 模型)
支持 macOS / Linux / Windows

方式一:一键接入 AI 编码助手(推荐)

"color:#6a9955"># 接入 Claude Code
npx wigolo init --agents=claude-code

"color:#6a9955"># 接入 Cursor
npx wigolo init --agents=cursor

"color:#6a9955"># 同时接入多个
npx wigolo init --agents=claude-code,cursor,codex

这条命令会:
1. 下载浏览器引擎和本地 ML 模型
2. 自动写入 MCP 配置文件
3. 运行健康检查
4. 输出各组件状态摘要

安装完成后,在你的 AI 编码助手里直接问需要联网的问题即可——它会自动调用 wigolo 的搜索能力。

方式二:独立 CLI 使用

不用接任何 Agent,直接在终端用:

"color:#6a9955"># 搜索
npx wigolo search "Rust 异步运行时对比" --json

"color:#6a9955"># 抓取网页
npx wigolo fetch https://example.com/article

"color:#6a9955"># 交互式 Shell(支持管道)
npx wigolo shell

方式三:Docker 部署

适合服务器端使用:

docker build -t wigolo .
docker run -p 3333:3333 wigolo

暴露 REST API 在 127.0.0.1:3333,可以用 curl 直接调用:

curl -sX POST http://127.0.0.1:3333/v1/search \
  -H 'Content-Type: application/json' \
  -d '{"query":"local-first software","max_results":5}'

可选:配置 LLM 提升 research 质量

搜索和抓取完全免费无需 Key。但如果想让 research 和 agent 功能生成更好的综合报告,可以配一个免费的 Gemini Key:

export WIGOLO_LLM_PROVIDER=gemini
export GEMINI_API_KEY=你的key

Gemini 免费额度足够个人使用。也支持 OpenAI、Anthropic、Groq,甚至本地 Ollama。

使用思考

wigolo 不是又一个搜索 API 封装——它在回答一个更根本的问题:**当 AI Agent 需要频繁获取网络信息时,应该怎么设计基础设施?**

亮点在哪

第一,真正做到了"零门槛"。 不需要注册账号、申请 API Key、绑定信用卡。npx wigolo init --agents=cursor 一行命令,30 秒内你的 Cursor 就能联网了。这对刚上手 AI 编码工具的人来说极其友好——他们往往还没搞清楚 MCP 是什么,就已经在享受联网带来的便利。

第二,"为 Agent 设计而非为人设计"这个定位很精准。 传统搜索工具给人用的:返回十条链接让你自己点。wigolo 给 Agent 用的:一次 MCP 调用并行查十几个引擎,返回带引用 ID 和可解释评分的结构化数据,Agent 可以直接基于这些证据生成回答。这是两种完全不同的交互模式。

第三,诚实的设计哲学让我印象深刻。 结果质量不高?标为 junk。页面被反爬挡住了?返回 blocked_by_challenge 而不是伪装成正常内容。缓存过期了?明确标注 freshness signal。这种"说真话"的接口设计对下游 Agent 至关重要——Agent 只有知道信息可信度如何,才能做出合理决策。

适合什么人

AI 编码工具的重度用户:Claude Code / Cursor / Codex 的日常使用者,经常遇到"这个工具不知道最新 API 怎么用"的问题
隐私敏感的开发者:不想让每次搜索都经过第三方服务器
自建 AI 应用的开发者:需要一个本地 Web 层给自己的 Agent 应用
想做竞品调研 / 信息收集的人:crawl + extract + research 组合起来就是轻量级情报工具

局限性

初次安装需要下载约 1.5 GB 的浏览器引擎和 ML 模型,对磁盘空间有要求
本地 reranking 的质量取决于设备性能,低端机器上可能会慢一些
作为 Beta 版本,部分边缘场景可能还有 bug(目前已有 8 个 open issues)
AGPL-3.0 开源协议意味着商业集成需注意许可证合规

未来演进方向

我猜 wigolo 可能会在三个方向继续深化:

1插件生态:目前已支持自定义搜索引擎插件(~100 行代码),如果社区贡献更多垂直领域的提取器(比如专门的 GitHub API 提取、Hacker News 提取),价值会更大
2多模态扩展:当前主要处理文本,未来如果能理解网页截图中的图表/UI 信息,会更强大
3团队协作层:个人使用已经很成熟了,如果加上共享缓存、团队知识库之类的特性,可以从小工具变成团队基础设施

实战演示

场景一:让 Claude Code 查最新框架文档

你:React 19 的 use() hook 和 Suspense 怎么配合用?

Claude Code(通过 wigolo):
→ 并行搜索 React 官方博客、Stack Overflow、GitHub discussions
→ 抓取 React 19 Release Notes 的相关章节
→ 返回带引用的综合回答:

根据 React 官方博客 [src-1],use() hook 在 React 19 中...
Suspense 的边界处理方式如下 [src-2]...
实际示例来自 Stack Overflow 高赞回答 [src-3]...

场景二:CLI 快速调研

"color:#6a9955"># 研究 "2024 年 Rust Web 框架生态"
npx wigolo research "2024 Rust web framework ecosystem comparison" --format=brief

"color:#6a9955"># 监控某开源项目的 changelog
npx wigolo watch https://github.com/some-project/blob/main/CHANGELOG.md --webhook http://your-server/webhook

使用建议

1先跑 npx wigolo doctor:任何时候都可以用它检查各组件健康状态
2常用工具保留 3 个就够了:search、fetch、research 已经覆盖 90% 场景,太多反而增加选择成本
3善用缓存:同一个问题问两遍是免费的——第一次联网,第二次直接走本地缓存
4配个免费 Gemini Key:虽然不是必须的,但会让 research 的输出质量提升一个档次
5注意磁盘空间~/.wigolo/ 会随使用增长,定期清理不需要的缓存:wigolo cache clear --older-than 30d

风险与注意事项

Beta 阶段:当前为 Public Beta,API 可能变动,生产环境慎用
反爬风险:高频爬取可能触发达目标网站的 IP 封禁或法律风险,请遵守 robots.txt
AGPL 许可证:如果你要把 wigolo 集成到自己产品里分发,需要注意源码公开要求
无 SLA 保证:作为开源项目,不提供商业级别的可用性承诺
LLM 成本:如果配了外部 LLM provider(如 OpenAI),research 功能会产生对应费用;纯本地使用则完全免费

END

如果你也在用 AI 编码工具,试试给它们装上 wigolo——你会发现,能联网的 AI 和不能联网的 AI,完全是两个物种。