RepoDaily · 2026-07-19 · Infrastructure / Runtime

wigolo:面向 AI 编码 Agent 的本地优先 Web 智能层,无需 API Key

#13 Infrastructure / Runtime TypeScript +192 KnockOutEZ/wigolo 打开仓库

一个 MCP 服务器,为 Claude Code、Cursor、Codex 等 Agent 提供搜索、抓取、爬取与研究能力——全部本地运行,无云服务账单。

项目类型Infrastructure / Runtime
最适合希望在编码 Agent 或自托管 Agent 栈后方接入一套无 Key 的 Web 智能层的开发者。
风险等级中等——公开 Beta,版本号为 0.2.x;生产使用前需评估许可证与规模。
评估时间30–60 分钟:`npx wigolo init`、接入一个 Agent、跑一次 search 和 fetch。

核心问题: 你是否希望停止为按查询计费的搜索与抓取付费,同时把 Web 工具留在 MCP 连接的 Agent 内?

91/100

RepoDaily 采用评分

RepoDaily 将该项目的采用分评为 91/100(强):分数来自文章来源、安装路径、生产风险、差异化、许可证清晰度以及 AI/Agent 适配度。

基于 RepoDaily 来源和采用说明的方向性评分,不是基准测试。风险: 中
100证据质量

包含 5 个来源、覆盖 3 类来源;如有 RepoDaily 独有模块,会进一步提高证据分。

100可安装/可试用性

检测到 5 个工作流步骤、6 个下一步动作,以及 7 个命令/安装信号。

60维护可信度

趋势热度为 +192 stars;如内容中有 release、issue 或维护信号,会提高维护可信度。

96生产准备度

采纳风险标记为 medium,并包含 6 条安全说明与 4 条跳过条件。

100差异化

3 个机会视角、4 个替代方案,以及 3 个类型化模块支撑差异化判断。

68许可证清晰度

文章中包含许可证来源或许可证表述。

90Agent / AI 适配度

文章正文和元数据中检测到 9 个 AI/Agent 相关信号。

项目概览

wigolo 是一个用 TypeScript 编写的 MCP 服务器,把十个 Web 智能工具——search、fetch、crawl、extract、cache、find_similar、research、agent、diff 和 watch——打包进一个本地运行时。它以 stdio 方式的 MCP 服务器紧贴 Claude Code、Cursor、Codex、Gemini CLI、VS Code、Windsurf、Zed 和 Antigravity 等编码 Agent 运行;也可以作为 REST/MCP 守护进程服务 n8n 或 VPS 上的自托管 Agent;还能通过 SDK 嵌入到自有应用中。

核心定位很直接:search、fetch、crawl、extract、cache 和 find_similar 无需 API Key、无云端计量。服务器所触达的一切数据都留在磁盘上的 `~/.wigolo/` 目录内。可选的 `research` 与 `agent` 工具可调用 LLM 合成带引用的答案,但如果未配置 LLM,则返回原始简报与证据。

项目于 2026-07-17 发布 v0.2.0,带来零配置开箱、HTTP/REST 接口、TypeScript 与 Python SDK、11 件套技能安装器,以及 LangChain、CrewAI、LlamaIndex、Vercel AI SDK 的框架封装,并强化了反反爬取的抓取阶梯。项目标注为公开 Beta,采用 AGPL-3.0 许可证,主要通过 npm 分发,同时文档化了 Docker、Homebrew 和单文件二进制等渠道。

解决什么问题

  • AI 编码 Agent 需要稳定的 Web 访问,但托管式搜索与抓取 API 按查询收费且依赖 API Key。
  • 云端 Agent Web 工具会把查询内容与结果暴露给第三方服务,对敏感代码库是阻碍。
  • 自行拼装的浏览器爬虫脆弱——反爬挑战、TLS 指纹、插页墙会击碎简单抓取器。
  • 给多个编码 Agent 接入 Web 工具意味着在 Claude Code、Cursor、VS Code 等之间反复配置 MCP、指令与技能文件。

工作原理

  1. `npx wigolo init --agents=claude-code` 下载浏览器引擎与本地排序、嵌入模型,运行健康检查,并写入 MCP 配置与 Agent 指令。init 默认无人值守,可在 CI 中安全使用。
  2. Agent 现在能看到十个 MCP 工具。当需要联网时,通过 stdio 的 MCP 传输调用 search、fetch、crawl、extract、cache、find_similar、research、agent、diff 或 watch。
  3. 搜索查询命中默认的直连引擎后端(Bing、DuckDuckGo 以及可选的带 Key 引擎),无需外部进程或端口。fetch 与 crawl 使用强化阶梯:轮换请求身份、模拟浏览器 TLS 指纹、等待 JS 挑战并按域名复用通行 Cookie。
  4. 结果按证据分值、引擎遥测、失败标签缓存到磁盘上的 `~/.wigolo/`。`doctor` 与 `verify` 命令报告组件状态并执行端到端冒烟测试。
  5. 面向远程 Agent,`wigolo serve` 为全部十个工具暴露 `POST /v1/{tool}`、`GET /openapi.json` 与 `GET /v1/tools`,可选 Bearer 鉴权,并在非回环绑定时采用失败即关闭策略。

产品演示与界面预览

wigolo demo — Claude Code answering a live web question through wigolo, no API keys
wigolo demo — Claude Code answering a live web question through wigolo, no API keys — Official README visual asset that helps readers understand the project interface, architecture, workflow, or output. README.md image

命令面——你真正要敲的内容

  • `npx wigolo init --agents=claude-code,cursor`——完整无人值守安装,接入多个 Agent,下载浏览器引擎与本地模型。
  • `npx wigolo init --no-warmup`——所有下载推迟到首次使用;组件下载失败不会中止安装。
  • `npx wigolo doctor`——报告数据目录、浏览器引擎、本地模型、已配置的 LLM 提供方与各引擎状态,包括哪些引擎需要 Key 以及对应的 env 变量。
  • `npx wigolo doctor --fix`——重新下载缺失模型、安装浏览器引擎、清理边车残留、重置卡住的引擎熔断,即便守护进程在跑也能修。
  • `npx wigolo verify`——基于真实网络的端到端冒烟测试;退出码 0 表示通过,1 表示失败。
  • `npx wigolo search "css container queries" --limit=2`——一次性命令行搜索,带格式化输出。
  • `npx wigolo fetch https://example.com --max-content-chars=400`——抓取页面并输出干净 Markdown。
  • `npx wigolo config --uninstall --yes`——移除 MCP 配置、指令、技能与斜杠命令;不移除 `~/.wigolo/`。
  • `wigolo serve`——HTTP 守护进程,提供 REST(`POST /v1/{tool}`)、`http://127.0.0.1:3333/mcp` 的 MCP-over-HTTP,以及 `GET /openapi.json` 的 OpenAPI 3.1。

集成面——接到哪里

wigolo 的主要传输方式是 stdio 上的 MCP,因此能直接嵌入编码 Agent。自动接入矩阵覆盖 Claude Code(`claude-code`)、Cursor(`cursor`)、VS Code(`vscode`)、Gemini CLI(`gemini-cli`)、Zed(`zed`)、Windsurf(`windsurf`)、Codex(`codex`)与 Antigravity(`antigravity`)。init 会写入 MCP 服务器入口,并在宿主支持时写入指令与技能包。

对于任何其他 MCP 客户端,仓库根目录的 `mcp.json` 给出配置块:`{"mcpServers":{"wigolo":{"command":"npx","args":["-y","wigolo"]}}}`。对于走 HTTP 的宿主,`wigolo serve` 暴露 `http://127.0.0.1:3333/mcp`。框架封装位于 `packages/` 下,支持 LangChain、CrewAI、LlamaIndex 与 Vercel AI SDK;轻量 TypeScript 与 Python SDK 位于 `sdks/typescript` 与 `sdks/python`。Cline 不是 `--agents` 目标,但可手动接入,并通过 `wigolo skills add` 获取技能包。

部署须知——Docker 与自托管

已发布的 Docker 镜像为 `ghcr.io/knockoutez/wigolo`,采用 slim 变体。浏览器引擎二进制与本地模型在首次使用时下载到 `/data` 卷。单本地客户端的 stdio MCP:`docker run -i --rm -v wigolo-data:/data ghcr.io/knockoutez/wigolo`。多客户端 HTTP 守护进程使用 `packaging/compose.serve.yml` 的 compose 文件,在容器内绑定 `0.0.0.0`——这是非回环绑定,必须设置 `WIGOLO_API_TOKEN` 或显式开放访问,否则失败即关闭。

仓库的 `Dockerfile` 提供 `full` 构建目标,在构建时预装浏览器引擎,适用于 `--rm`/无卷场景下避免重复下载。命名卷在重启间持久化本地缓存、本地模型、浏览器引擎二进制与加密密钥。

谁适合关注

适合关注

  • 你在用 Claude Code、Cursor、Codex 或 Gemini CLI,想要不按查询付费的 Web 工具。
  • 你在 VPS 或 n8n 上跑自托管 Agent,需要本地 MCP/REST 端点。
  • 你基于 LangChain、CrewAI、LlamaIndex 或 Vercel AI SDK 构建 Agent 框架,想要轻量强类型客户端。
  • 你想要反爬抓取阶梯、本地模型与磁盘缓存,又不想自己搭一套爬虫栈。

可以先跳过

  • 无法运行 Node.js 20+ 或为浏览器引擎与模型预留约 1.5 GB 磁盘。
  • 需要托管式 IP 轮换代理,且目标站点使用 IP 信誉挑战网络——wigolo 会标注为 `blocked_by_challenge`,默认不解。
  • 你的政策禁止在交付产品中使用 AGPL-3.0 依赖。
  • 你需要生产级 SLA——这是 v0.2.0 的公开 Beta。

风险与注意事项

公开 Beta,版本 0.2.0,AGPL-3.0 许可,反爬存在诚实上限,SDK 包名待发布。

  • 项目版本为 0.2.0,标注公开 Beta——API 与工具面可能调整。
  • AGPL-3.0 许可证对衍生或网络化使用设定义务,团队需审查。
  • 反爬抓取存在已记录上限:带 IP 信誉打分的托管挑战网络不会向数据中心或新住宅地址发放通行证,会返回 `blocked_by_challenge`。
  • 根据 v0.2.0 变更日志,TypeScript 与 Python SDK 的包名待定,尚未发布。
  • Homebrew formula、单文件二进制与 `.mcpb` 产物已文档化,但注明随即将到来的发布一起提供。
  • 服务器存储的一切都留在本地磁盘上的 `~/.wigolo/`;核心工具不会把数据发送到 wigolo 控制的云。
  • `wigolo serve` 在非回环绑定时失败即关闭,直到设置 `WIGOLO_API_TOKEN` 或显式开放访问。
  • 重定向跟随在每一层抓取都做了 SSRF 再防护;MCP-over-HTTP 传输拒绝跨域(DNS 重绑定)请求。
  • REST 面具备传输层 body 上限、按路由截止时间与并发限流。
  • `uninstall` 故意不移除 `~/.wigolo/`;完整清理需要单独一步。
  • 安全报告走隐私与安全页面的负责披露渠道,不开公开 issue。

替代方案比较

方案适用场景代价
Tavily
你想要一个面向 LLM Agent 优化的托管搜索 API,且愿意按查询付费。计量 API,带免费档
Brave Search API
你只需要搜索结果,偏好基于 Key 的商业端点。计量 API,带免费档
Firecrawl
你的核心需求是大规模爬取与 Markdown 转换,并希望可自托管。开源,可自托管,另提供托管付费档
Jina Reader
你想要一个简单的 reader API,把 URL 变成干净 Markdown。托管 API,带免费档

这个趋势说明了什么

为重度 Agent 用户替换计量 Web 工具支出

全天在 Claude Code 或 Cursor 上跑编码 Agent 的团队,可以把无 Key 的搜索与抓取指向 wigolo,削减按查询计费的经常性成本。

运行 `npx wigolo init --agents=claude-code`,用一周的 Agent Web 调用量对比此前的 API 账单。

为自托管自动化加上本地研究层

VPS 与 n8n 自动化可通过 `wigolo serve` 的 `POST /v1/{tool}` 获取搜索、爬取与研究,无需第三方 Key。

启动 `packaging/compose.serve.yml`,设置 `WIGOLO_API_TOKEN`,对 `GET /v1/tools` 跑一次 curl 冒烟。

在轻量 SDK 上交付框架原生 Agent 能力

`packages/` 下的 LangChain、CrewAI、LlamaIndex、Vercel AI SDK 封装让框架优先的团队无需引入新运行时即可加入 Web 工具。

导入封装、接入一个工具,确认返回与 CLI 一致的带证据分值 payload。

下一步建议

把 wigolo 接入一个编码 Agent 并跑一次真实搜索

选你已经在用的 Agent,用自动接入跑 init,用 doctor 检查健康,然后通过 Agent 发一次搜索,完整跑通无 Key 路径。

  1. 确认 Node.js 20+ 与约 1.5 GB 可用磁盘。
  2. 运行 `npx wigolo init --agents=claude-code`(或矩阵中你的 Agent id)。
  3. 运行 `npx wigolo doctor`,查看逐组件报告。
  4. 运行 `npx wigolo verify` 做端到端网络冒烟。
  5. 向你的 Agent 问一个需要联网的问题,确认它调用了 wigolo 工具。
  6. 若不合适,运行 `npx wigolo config --uninstall --yes` 干净移除。

RepoDaily 判断

wigolo 是一个有诚意的公开 Beta,试图把按计量的 Web 工具栈压缩成一个无 Key 的 MCP 服务器。v0.2.0 覆盖了关键面——十个工具、八款编码 Agent 的自动接入、REST/SDK 分发,以及一个诚实的反爬上限。中等风险确实存在:它是 0.2.x、AGPL-3.0、SDK 待发布的 Beta。对个人开发者与小规模自托管场景,今天值得花 30 分钟试一次。

信息来源