← 返回信息流
GitHub 热榜GitHub Trending · 日·3 小时前

wigolo——你的AI编码代理的本地优先网络搜索与抓取工具

原标题:KnockOutEZ/wigolo
TypeScript972 stars+192 今日

速览

wigolo通过MCP协议实现本地优先的搜索、获取、爬取和研究,让AI编码代理能够自主获取网络信息。完全免费,无需任何API密钥,所有操作在本地完成,保护隐私。适合需要离线或低成本网络数据采集的AI代理场景。

AI 深度解读

这是什么

wigolo 是一个为 AI 代理设计的本地优先 Web 智能层,完全在用户本地运行 —— 不需要 API 密钥、不需要云服务、没有按用量计费的账单。它作为 MCP(Model Context Protocol)服务器,与 Claude Code、Cursor、Codex、Gemini CLI、VS Code、Windsurf、Zed、Antigravity 等代理工具集成,同时支持 LangChain、CrewAI、LlamaIndex、Vercel AI SDK、n8n、自托管代理、任何 MCP 客户端以及纯 REST 调用。wigolo 提供了搜索、获取、爬取、提取、缓存、相似查找、研究以及自动收集循环(autonomous gather loops)等 Web 相关能力,所有数据都存储在 ~/.wigolo/ 目录下,不会离开本地。需要 Node ≥ 20 和约 1.5 GB 空闲磁盘空间,支持 macOS、Linux 和 Windows。

解决的问题

  1. AI 代理的 Web 访问痛点:现有代理在处理 Web 任务时通常依赖第三方 API(如 Tavily、Exa 等),这些服务有密钥、有配额、有计费,且数据会经过外部服务器,存在隐私和成本问题。wigolo 彻底消除了这些依赖,让代理在本地就能完成完整的 Web 交互。
  2. 结果透明度不足:许多 Web 工具只返回摘要或“成功但无数据”的模糊结果,不告知缓存状态、失败原因或内容截断。wigolo 在每条结果中附带字节级精确的源位置、证据分数、引擎共识、新鲜度信号,以及被阻止的页面会明确标注 blocked_by_challenge,避免代理被误导。
  3. 多引擎并行与成本瓶颈:传统的串行工具循环无法高效地同时查询多个搜索引擎。wigolo 一次 MCP 调用即可并行扩展多个引擎,且默认使用公共引擎的直接适配器,本地运行重排序和嵌入模型,每次查询成本为零,缓存后再次查询即时响应。
  4. 隐私与数据主权:AI 代理的 Web 数据(缓存、嵌入、模型、配置)全部留在本地,除非用户主动配置 LLM 进行合成回答,否则没有第三方数据出口。

核心功能

  • 搜索(Search):支持多查询并行扩展、按域名范围限定、按时间范围/新鲜度筛选、精确短语匹配、深度层级选择、图像结果。每条结果附带逐字摘录和字节级精确的源位置(source_span),以及由本地评分器给出的证据分数(语义分、词汇分、引擎共识数)。
  • 获取(Fetch):可获取 JS 渲染的 SPA、PDF、文档特定章节(如 h1 部分),支持通过浏览器配置文件或远程浏览器访问认证页面,并支持使用 actions(点击、输入、滚动、截图)交互式驱动页面。
  • 爬取(Crawl):支持站点地图、BFS、DFS 或仅地图模式;遵守 robots.txt,按域名限速,去重重复样板内容。
  • 提取(Extract):提取表格、JSON-LD、元数据、品牌资产、命名 schema(Article、Recipe、Product 等),或用户自定义的 JSON Schema。
  • 缓存与记忆(Cache):每个页面自动缓存,可按关键词或语义重查,支持离线即时查询,并检测自上次访问以来的变化。
  • 研究与自主收集(Research & Autonomous Gather):将问题分解为带引用的简要报告,或通过 agent 工具,自主规划 → 获取 → 提取 → 合成,并遵循 JSON Schema 和时间预算。
  • 监控与变更检测(Watch & Diff):监控 URL,检测变更并生成报告,通过 webhook 交付。
  • 多种驱动方式:一键 CLI、NDJSON 流水线 shell、REST、SDK,以及作为技能由代理安装。
  • 可扩展性:约 100 行代码即可添加插件(新搜索引擎或站点提取器)。
  • 调优与健康检查wigolo tune 显示每个域名的学习信息(获取层级、挑战清除、退避策略);doctorverify 检查所有组件健康状态。

亮点 / 与同类相比

  • 零成本、零密钥、零云:默认搜索、获取、爬取、提取、缓存、相似查找均无需任何 API 密钥。与需要付费的 Tavily、Exa 等服务相比,wigolo 提供完全免费且功能对等的 Web 层,且数据不出本地。
  • 结果透明且可审计:每条结果都包含字节级精确的源位置、可引用的 citation ID、可解释的评分(证据分数、引擎共识、新鲜度信号)。弱结果被标记为“垃圾”,失败的引擎、过期的缓存都会明确报告,代理始终知道自己站在什么数据上。
  • 为代理而设计,非人类:单次 MCP 调用可并行查询多个引擎,并通过预算感知输出控制结果量,而串行工具循环无法做到这一点。
  • 隐私优先:所有数据(缓存、嵌入、模型、配置)存储在 ~/.wigolo/,除非用户主动配置 LLM(如 Gemini 免费密钥)进行合成,否则没有任何第三方能访问数据。
  • 与同类对标,能打能扛:在搜索结果质量上与付费服务(如 Tavily、Exa)达到同等水平,且在真实对比测试中,只有 wigolo 返回了带字节偏移的可验证逐字摘录,其他服务仅返回摘要。wigolo 在“证据完整性”这一维度上明显领先。

适合谁用 / 上手

  • AI 代理开发者与高级用户:使用 Claude Code、Cursor、Codex、Gemini CLI、VS Code、Windsurf、Zed、Antigravity 等工具进行代码生成或自动化任务的用户,可以一键 npx wigolo init --agents=<your-agent> 将本地 Web 引擎接入代理,无需任何手动配置。
  • 自托管代理与自动化平台用户:通过 MCP 或 REST 端点,将 wigolo 集成到 n8n、LangChain、CrewAI、LlamaIndex、Vercel AI SDK、或任何 MCP 客户端中。支持 Docker、Homebrew 和单文件二进制分发。
  • 需要隐私优先 Web 访问的团队:不希望将内部数据或搜索行为发送到第三方云服务的组织,wigolo 的本地架构是理想选择。
  • 上手步骤
    1. 确保 Node ≥ 20 和约 1.5 GB 空闲磁盘。
    2. 运行 npx wigolo init --agents=<your-agent>(支持多个代理,逗号分隔),自动下载浏览器引擎和本地模型,并执行健康检查。也可通过 --interactive--wizard 交互式安装。
    3. 如需合成回答(Research、Agent、search format=answer),配置 WIGOLO_LLM_PROVIDER=geminiGEMINI_API_KEY(免费密钥即可,来自 aistudio.google.com/apikey),或使用其他提供商(Anthropic、OpenAI、Groq)或本地 Ollama。
    4. 验证:npx wigolo doctor 检查所有组件健康。
    5. 卸载:npx wigolo config --uninstall --yes 干净移除。
查看原文 →github.com