# Search engines

> 通过 DuckDuckGo、Sploitus、Tavily、SearXNG、Perplexity 和其他 search engines，为 agents 提供来自网络和漏洞利用数据库的最新信息。

[Agents](https://pentagi.com/zh-cn/docs/glossary/#agent) 通过一个统一的 `web_search` [tool](https://pentagi.com/zh-cn/docs/glossary/#tool) 进行搜索。它们可以请求不同的模式——`links` 用于获取带摘要的原始来源，`answer` 用于获取综合答案，`research` 用于深度多源分析，或 `exploit` 用于获取概念验证（PoC）和攻击工具——该 tool 会自动选择最佳配置的 [search engine](https://pentagi.com/zh-cn/docs/glossary/#search-engine)，在遇到临时故障时重试，并自动回退到其他引擎。

您可以在 `.env` 中启用任意引擎组合；除非 `DUCKDUCKGO_ENABLED=false`，否则 DuckDuckGo 处于启用状态：

| Search engine        | 变量                                                                  | 备注                                    |
| -------------------- | ------------------------------------------------------------------- | ------------------------------------- |
| DuckDuckGo           | `DUCKDUCKGO_ENABLED=true`, `DUCKDUCKGO_REGION`                      | 无需密钥；默认启用                             |
| Sploitus             | `SPLOITUS_ENABLED=true`                                             | 漏洞利用与漏洞搜索，无需密钥                        |
| Google Custom Search | `GOOGLE_API_KEY`, `GOOGLE_CX_KEY`                                   | 不再接受新客户；Google 将于 2027 年 1 月 1 日关闭该服务 |
| Tavily               | `TAVILY_API_KEY`                                                    |                                       |
| Firecrawl            | `FIRECRAWL_API_KEY`, `FIRECRAWL_API_URL`                            |                                       |
| Traversaal           | `TRAVERSAAL_API_KEY`                                                |                                       |
| Perplexity           | `PERPLEXITY_API_KEY`, `PERPLEXITY_MODEL`, `PERPLEXITY_CONTEXT_SIZE` |                                       |
| SearXNG              | `SEARXNG_URL`, `SEARXNG_CATEGORIES`, `SEARXNG_LANGUAGE`             | 自托管元搜索引擎                              |

```bash
DUCKDUCKGO_ENABLED=true
SPLOITUS_ENABLED=true
TAVILY_API_KEY=your_tavily_key
SEARXNG_URL=http://your-searxng-instance:8080
```

## [内置回退 search engine](https://pentagi.com/zh-cn/docs/configuration/search-engines/#internal-fallback-engine)

`WEB_SEARCH_INTERNAL_ENABLED=true` 会使 PentAGI 在其自身的隔离浏览器中打开结果页面，并使用您的模型进行摘要总结。对于回答、研究和漏洞利用，它会在 Tavily、Firecrawl 和 Perplexity 之后尝试，并在 Traversaal 之前尝试。`WEB_SEARCH_INTERNAL_MAX_SITES` 和 `WEB_SEARCH_INTERNAL_MAX_SITE_BYTES` 用于限制该操作的范围。此功能默认关闭。

## [浏览器](https://pentagi.com/zh-cn/docs/configuration/search-engines/#browser)

独立于搜索功能之外，agents 还可以通过内置的 `scraper` 服务打开网页——这是一个隔离的浏览器，可返回页面内容和截图。