核心问题: 你是否希望停止为按查询计费的搜索与抓取付费,同时把 Web 工具留在 MCP 连接的 Agent 内?
RepoDaily 采用评分
RepoDaily 将该项目的采用分评为 91/100(强):分数来自文章来源、安装路径、生产风险、差异化、许可证清晰度以及 AI/Agent 适配度。
包含 5 个来源、覆盖 3 类来源;如有 RepoDaily 独有模块,会进一步提高证据分。
检测到 5 个工作流步骤、6 个下一步动作,以及 7 个命令/安装信号。
趋势热度为 +192 stars;如内容中有 release、issue 或维护信号,会提高维护可信度。
采纳风险标记为 medium,并包含 6 条安全说明与 4 条跳过条件。
3 个机会视角、4 个替代方案,以及 3 个类型化模块支撑差异化判断。
文章中包含许可证来源或许可证表述。
文章正文和元数据中检测到 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 和单文件二进制等渠道。
为什么现在变热
- 在 2026-07-19 周期以 192 颗周期新增星排在第 13 位,主要驱动来自两天前的 v0.2.0 发布。
- v0.2.0 实现零配置开箱:默认直连引擎后端无需外部进程、无需 Python 边车、不占端口;空闲占用降至约 47 MB。
- 十个无 Key 工具集中在一个 MCP 服务器内,覆盖 search、fetch、crawl、extract、cache、find_similar、research、agent、diff 与 watch。
- 同版本落地 HTTP/REST 接口、TypeScript 与 Python SDK,以及 LangChain、CrewAI、LlamaIndex、Vercel AI SDK 的框架封装。
解决什么问题
- AI 编码 Agent 需要稳定的 Web 访问,但托管式搜索与抓取 API 按查询收费且依赖 API Key。
- 云端 Agent Web 工具会把查询内容与结果暴露给第三方服务,对敏感代码库是阻碍。
- 自行拼装的浏览器爬虫脆弱——反爬挑战、TLS 指纹、插页墙会击碎简单抓取器。
- 给多个编码 Agent 接入 Web 工具意味着在 Claude Code、Cursor、VS Code 等之间反复配置 MCP、指令与技能文件。
工作原理
- `npx wigolo init --agents=claude-code` 下载浏览器引擎与本地排序、嵌入模型,运行健康检查,并写入 MCP 配置与 Agent 指令。init 默认无人值守,可在 CI 中安全使用。
- Agent 现在能看到十个 MCP 工具。当需要联网时,通过 stdio 的 MCP 传输调用 search、fetch、crawl、extract、cache、find_similar、research、agent、diff 或 watch。
- 搜索查询命中默认的直连引擎后端(Bing、DuckDuckGo 以及可选的带 Key 引擎),无需外部进程或端口。fetch 与 crawl 使用强化阶梯:轮换请求身份、模拟浏览器 TLS 指纹、等待 JS 挑战并按域名复用通行 Cookie。
- 结果按证据分值、引擎遥测、失败标签缓存到磁盘上的 `~/.wigolo/`。`doctor` 与 `verify` 命令报告组件状态并执行端到端冒烟测试。
- 面向远程 Agent,`wigolo serve` 为全部十个工具暴露 `POST /v1/{tool}`、`GET /openapi.json` 与 `GET /v1/tools`,可选 Bearer 鉴权,并在非回环绑定时采用失败即关闭策略。
产品演示与界面预览

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