把谷歌“去谷歌化”:一个开源聚合器如何用插件生态重构搜索体验
原创把谷歌“去谷歌化”:一个开源聚合器如何用插件生态重构搜索体验
项目概览:一个聚合器如何成为搜索领域的“瑞士军刀”
我在 GitHub 上翻到一个叫 degoog 的仓库,名字读起来像在跟谷歌较劲。它确实是个搜索聚合器,会查询多个搜索引擎,然后把结果统一展示在一个页面上 来源:DEG。这个定义听起来简单,但项目自己说得很清楚,你要加自定义搜索引擎、bang 命令插件、slot 插件、transports,全都行 来源:DEG。
真正让我停下来细看的,是它把扩展机制做成了三种彼此独立的东西。bang 命令插件管搜索行为,slot 插件管结果页的布局,transports 管网络请求层。这三层各自独立,又能组合在一起,把一个单纯的搜索框变成了可以定制的工具 来源:DEG。
项目页面上写着,梦想是最终有一个用户自己创建的插件和引擎市场 来源:DEG。这个梦想目前还只是愿望,但仓库里已经有 1,085 次提交 来源:DEG,开发节奏并不慢。一个有一千多次提交的项目,还在持续维护,这本身就说明它值得看。
部署方面,项目提供 Docker 镜像和 Nix 支持,docker-compose-examples 目录里放着现成的配置 来源:DEG。默认情况下它绑定所有接口,端口 4444,以用户 1000:1000 运行 来源:DEG。想跑起来,照着文档走一遍就行,门槛不算高。
插件系统:从 bang 命令到 slot 插件的分层设计
bang 命令这个说法来自 DuckDuckGo 的 !bang 语法。用户在查询前敲一个短命令,就能切换搜索引擎或者扩展搜索行为。degoog 把这种机制从单一快捷键提升为可插拔的系统级能力,你想怎么定义 bang,插件里就怎么写 来源:DEG。
slot 插件是另一种思路,它可以在查询结果的上方、下方或侧边栏插入一个可交互的面板。这个面板由查询触发,会跟结果一起出现,像搜索伴侣一样在旁边提供额外信息 来源:DEG。跟传统的搜索结果页相比,这种形式把辅助信息从单独的页面搬到了结果旁边,不用跳转就能看到。
transports 管的是网络抓取策略,这一层最底层也最容易被忽略。默认实现之外,你可以换成 curl,或者接上 FlareSolverr,甚至写自己的 transport 来源:DEG。把抓取行为也交给用户,这让 degoog 不再只是一个聚合界面。
项目提供了公开实例列表 PUBLIC_INSTANCES.md,不想自己部署的人可以先体验 来源:DEG。想自己跑,Docker Compose、Nix、源码构建三条路都铺好了 来源:DEG。仓库里还有 docker-compose.docs.yml 专门给文档用的配置 来源:DEG。
多源交叉验证:与主流搜索工具的功能对比与定位分析
跟 DuckDuckGo 的 !bang 相比,degoog 的 bang 命令不再只是搜索快捷键。它被做成一类插件,往里面塞任何逻辑都可以,这种可编程性让 bang 从快捷方式变成了扩展点 来源:DEG。DuckDuckGo 的 bang 是内置的功能列表,而 degoog 的 bang 是用户自己写的东西。
跟 SearXNG 这类元搜索引擎相比,degoog 的差异在 transports 层。SearXNG 基本固定使用内置的 HTTP 客户端,而 degoog 允许你替换掉整个抓取策略 来源:DEG。这一层抽象把网络行为从引擎里剥离开来,是它跟传统元搜索引擎拉开距离的地方。
浏览器里常见的多搜索引擎快捷键插件,只在地址栏层面切换搜索源。degoog 的 slot 插件把交互面直接搬进了结果页,查询触发的面板就在结果旁边出现,上下文信息不用再跳走就能看到 来源:DEG。
仓库里躺着 AGENTS.md 和 CLAUDE.md 两个文件,这不是巧合。它们说明项目对 AI 辅助开发友好,也侧面反映出开源社区里 AI 编码工具已经变得常见 来源:DEG。写代码的时候有人工智能在旁边帮忙,这已经是新的常态了。
反直觉发现:一个“去谷歌化”工具却依赖最复杂的反爬生态
项目叫 degoog,名字暗示摆脱谷歌。但它的核心功能之一,是集成 FlareSolverr 这类工具。FlareSolverr 是干什么的,去查一下就知道,它专门对付网站的反爬机制 来源:DEG。这个矛盾有点微妙,一个标榜去谷歌化的项目,却依赖反爬生态里最复杂的那一环。想理解 degoog,得先接受它并不是在简单地把多个搜索引擎拼起来。
transports 的设计把网络抓取抽象化了,听起来很优雅。但 FlareSolverr 出现在默认示例里,正好说明现实没那么干净。你想拿到干净的搜索结果,就得先想办法绕过那些拦截你的东西 来源:DEG。一个号称去谷歌化的工具,结果要跟谷歌的反爬机制周旋,这算不算一种讽刺,我不确定,但确实值得琢磨。
项目 README 里有一句提醒,提 issue 之前请先看文档,因为你的问题可能已经有人回答过 来源:DEG。这句话背后是一个现实,配置和部署的复杂度已经高到需要用户先做功课。我不确定这个复杂度是项目本身带来的,还是反爬生态带来的,但两者都绕不开。一个能换 transports、能插 slot、能写 bang 的系统,文档做不好是灾难。
原文:
Search engine aggregator with a comprehensive plugin/extension system · 来源:Hacker News
作者:itfan123 值班编辑 · 发布于 2026年10月29日
版权声明
所有资源都来源于爬虫采集,如有侵权请联系我们,我们将立即删除
itfan123



