开发与工程 mcp-serverweb-searchweb-crawlingweb-scrapingstructured-extractionlocal-cachetypescript-sdkrest-api

wigolo

为本地 AI 编码环境提供免密钥网页检索与采集。

FollowAgents 评估 · FARS-2.1
不推荐
54/ 100 五分制 2.7 / 5
1 2 3 4 5 6
按维度查看评分与理由
1信任安全12 / 29 · 2.1/5

证据显示:README 声称本地优先、数据留在 ~/.wigolo/,REST 服务默认仅绑定回环地址并要求令牌,但未提供代码级验证。扣分:缺少对权限最小化的具体实现说明,用户确认机制未明确,敏感数据处理(如 API 密钥存储)仅有提及,依赖安全未提供审计或漏洞扫描证据,外部影响(如网络请求)未详细说明,回滚机制未提及,来源归属有部分体现(如引用 ID 和字节偏移)。

2可靠稳定8 / 14 · 2.9/5

证据显示:README 和 package.json 描述一致,工具列表和功能描述自洽,失败消息有示例(如 blocked_by_challenge)。扣分:依赖可用性未验证,失败消息的全面性未充分展示。

3适用触发12 / 18 · 3.3/5

证据显示:README 明确目标用户(AI 编码代理)和多种使用场景(MCP、REST、SDK),能力边界有描述(如工具列表),触发精度有说明(如查询数组、深度搜索),环境适配有说明(Node ≥20、多平台)。扣分:部分能力边界(如限制)未详细说明。

4规范维护10 / 18 · 2.8/5

证据显示:README 结构清晰,安装说明详细,命名稳定(工具名一致),有示例和 FAQ,已知限制有提及(如 beta 状态),许可证为 AGPL-3.0,版本号存在,维护责任有说明(作者和反馈渠道)。扣分:版本变更日志未提供,命名稳定性未完全验证。

5有效结果9 / 13 · 3.5/5

证据显示:输出格式有示例(JSON 结构),边际价值有说明(对比表),成本效益有说明($0/查询)。扣分:输出可用性未实际测试,边际价值声明未独立验证。

6证据核验3 / 8 · 1.9/5

证据显示:README 中的声明(如基准测试)有描述,但未提供可复现的详细数据,跨来源验证不足,事实与推断未明确区分。扣分:声明可追溯性弱,缺乏独立验证。

证据充分度: 评估于 2026年8月9日 审查版本 b3ccf92be3ac
上游仓库在本次评估后已有新提交;当前评分仍对应所示审查版本,可能尚未覆盖最新改动。
使用前请注意
  • 该仓库处于公开测试阶段,功能可能不稳定,请在生产环境谨慎使用。
  • 依赖项较多,且包含原生模块,安装和运行可能遇到平台兼容性问题。
  • 虽然声称本地优先,但可选 LLM 集成会发送数据到第三方,请明确配置。
查看完整评分方法 →

这个 Agent 能做什么,适合哪些场景?

wigolo 是面向 AI 编码工具和其他 MCP 客户端的本地优先网页智能层。它以单个 Node 进程提供 MCP stdio、REST、CLI、TypeScript SDK 和 Python SDK 接口,并将缓存、嵌入、模型与配置放在 ~/.wigolo/。其工具覆盖搜索、抓取、爬取、结构化提取、本地缓存查询、相似页面发现、研究报告、自治采集、页面差异与监控。搜索使用 18 个直接适配器、排名融合和本地 ML 重排;抓取会从普通 HTTP 按信号升级到无头浏览器。核心检索与采集无需 API 密钥,但 research、agent 和 answer 格式的搜索要生成综合答案时,需要配置外部或本地兼容的 LLM 提供方。

通过 search 并行查询多个搜索引擎,返回标题、URL、原文摘录、citation_idsource_span、证据分数和新鲜度信号。fetch 读取单个 URL,按需从 HTTP 升级到浏览器,并输出清理后的 Markdown、元数据和链接;crawl 可按 BFS、DFS、sitemap 或 map-only 遍历页面,并遵守 robots.txt 和站点速率限制。extract 从页面提取表格、元数据、JSON-LD、品牌信息、预定义 schema 或自定义 JSON Schema;cache 可用关键词或混合语义检索已见内容,find_similar 融合关键词、语义与实时网页结果。research 将问题拆成子查询、抓取来源并输出带引用的报告或证据简报;agent 执行 plan → search → fetch → extract → synthesize 的采集循环。diffwatch 比较页面变化,并可通过 webhook 投递更新。

  1. 使用 Claude Code、Codex 或 Cursor 的开发者,可把 wigolo 配置为 MCP 服务,让编码助手检索 API 文档、获取网页内容并给出可定位的来源摘录。
  2. 维护自托管开发助手的团队,可运行 wigolo serve,通过本机 REST API 将搜索、抓取和提取能力接入现有工作流。
  3. 需要从公开产品页或文档页收集字段的工程师,可用 extract 获取 JSON-LD、表格、元数据或自定义 JSON Schema 结果。
  4. 构建 RAG 或知识工具的 TypeScript、Python、LangChain、CrewAI、LlamaIndex 或 Vercel AI SDK 用户,可使用对应 SDK 或框架包装器接入本地检索结果。
  5. 需要持续关注公开网页变更的研究或运维人员,可先抓取页面,再使用 diffwatch 检查并投递后续变化。

这个 Agent 有哪些优点和局限?

优点
  • 同一套工具同时提供 MCP、REST、CLI、TypeScript SDK、Python SDK 和多个框架包装器,适合不同集成边界。
  • 搜索结果包含原文摘录、字节位置 source_span、引用 ID、证据分数和引擎状态,便于宿主工具判断来源质量。
  • 搜索整合 18 个直接适配器、排名融合与本地 ML 重排;已访问内容保存在本地缓存中,可进行关键词和混合语义检索。
  • 抓取路由会依据 SPA 标记、挑战页面或内容不足等信号升级到浏览器,并明确标注失败或受挑战阻断的情况。
局限
  • 初始化需要 Node.js 20 以上、浏览器引擎和本地模型,文档标示约需 1.5 GB 磁盘空间。
  • research、agent 及生成答案格式依赖 LLM 综合;若未配置提供方,只返回原始简报与证据。
  • 公开搜索引擎和受挑战保护的网站可能退化或无法读取;文档说明数据中心 IP 可能难以通过某些网站的信誉检查。
  • 项目处于 public beta;README 称许可证为 AGPL-3.0-only,但提供的仓库元数据标为 NOASSERTION,采用前应核实实际许可证文件。

如何安装或部署这个 Agent?

需要 Node.js 20 或更高版本及约 1.5 GB 可用磁盘空间。在 macOS、Linux 或 Windows 终端运行:npx wigolo init。如需同时配置已列出的编码工具,可运行:npx wigolo init --agents=claude-code,cursor。随后用 npx wigolo doctor 检查本地引擎状态。搜索、fetch、crawl、extract、cache 和 find-similar 不需要凭据;如需让 researchagentsearch format=answer 生成综合答案,可设置 WIGOLO_LLM_PROVIDER=geminiGEMINI_API_KEY=<free-key>,也可选择 anthropic、openai、groq 或 ollama。

如何使用这个 Agent?

完成初始化后,可在终端执行:wigolo search "local-first web search" --json。要作为本地 HTTP 服务运行,执行 wigolo serve,然后调用:curl -sX POST http://127.0.0.1:3333/v1/search -H 'Content-Type: application/json' -d '{"query":"local-first software","max_results":5}'。服务默认监听 127.0.0.1:3333;绑定到非回环地址时需要 bearer token。任意 MCP 客户端可在其 MCP 配置中注册 npx -y wigolo

这个 Agent 与同类方案有什么区别?

README 将 wigolo 与 Firecrawl、Exa 和 Tavily 对比:四者都列有多引擎搜索及抓取/结构化提取;wigolo 还列出全站 crawl/map、本地持久缓存、字节偏移证据摘录、可解释的单结果评分,以及无需账号或 API key 的核心路径。该比较同时注明付费服务在部分深度提取边缘场景仍可能更强。

常见问题

核心功能是否需要 API key?
不需要。README 将 search、fetch、crawl、extract、cache 和 find-similar 标为免密钥;综合写作型功能可选用 Gemini、Anthropic、OpenAI、Groq 或 Ollama。
网页数据会被上传到云端吗?
README 表示核心缓存、嵌入、模型和配置位于 ~/.wigolo/,并称只有明确选择 LLM 综合时才会向第三方发送内容。
遇到反爬或动态网页时会怎样?
fetch 会从普通 HTTP 按信号升级到无头浏览器,并复用域名级 clearance;若仍无法通过挑战,会返回标记为 blocked_by_challenge 的失败信息。
能否用于远程或多客户端部署?
可以。wigolo serve 提供 REST、/mcp/sse;默认限于回环地址,非回环绑定必须配置 bearer token。

对比同类 Agent

用同一套 FARS 评审,横向比较这个 Agent 所属的短名单。

相关 Agents