Search1API文档

LobeHub

在自托管部署中,将 Search1API 配置为 LobeHub 内置 Web Search 的搜索与抓取提供方。

Search1API 已内置于 LobeHub,可同时作为搜索提供方和页面抓取器。在自托管的 LobeHub 部署中,你可以用它查找最新来源,并读取这些结果背后的页面,无需安装市场插件。

本指南适用于自托管部署中 LobeHub 原生的 Web Search 技能。LobeHub Cloud 已自行管理搜索基础设施。如果你希望把 Search1API 作为一组独立的 Agent 工具使用,请参见 MCP 服务器。

开始之前

你需要:

  • 一个自托管的 LobeHub 部署;
  • 能够修改其服务端环境变量;以及
  • 一个 Search1API API 密钥。

登录 app.s1.dev,打开 API Keys 并创建密钥。请将密钥保存在服务端,不要暴露在浏览器代码中,也不要提交到代码仓库。

配置搜索与页面读取

在 LobeHub 服务端的环境中添加以下变量:

SEARCH_PROVIDERS="search1api"
CRAWLER_IMPLS="search1api,naive"
SEARCH1API_API_KEY="YOUR_SEARCH1API_KEY"

然后重启或重新部署 LobeHub,使服务端进程读取新的值。

这份配置让 Search1API 承担两个角色:

变量控制内容
SEARCH_PROVIDERSLobeHub 用于查找网页结果的提供方。
CRAWLER_IMPLSLobeHub 读取结果页面时可用的抓取器。
SEARCH1API_API_KEYSearch1API 搜索和抓取请求共用的密钥。

对于普通 URL,CRAWLER_IMPLS="search1api,naive" 会让 LobeHub 先尝试 Search1API,在 Search1API 返回错误或内容不足时回退到其内置抓取器。对于特定类型的 URL,LobeHub 可能会应用自己的抓取规则。

使用独立的密钥

如果希望分别统计流量并能单独撤销,可以创建两个 Search1API 密钥,按用途分别配置:

SEARCH_PROVIDERS="search1api"
CRAWLER_IMPLS="search1api,naive"
SEARCH1API_SEARCH_API_KEY="YOUR_SEARCH_KEY"
SEARCH1API_CRAWL_API_KEY="YOUR_CRAWL_KEY"

LobeHub 按以下规则选择密钥:

操作首选回退
搜索SEARCH1API_SEARCH_API_KEYSEARCH1API_API_KEY
抓取SEARCH1API_CRAWL_API_KEYSEARCH1API_API_KEY

同一 Search1API 账户下的所有密钥共用同一积分余额。使用独立密钥便于识别用量,也可以撤销其中一个集成而不影响另一个。

添加其他回退提供方

SEARCH_PROVIDERS 同样是有序的。LobeHub 从左到右依次尝试提供方,当前一个提供方出错或没有返回可用结果时,转向下一个已配置的提供方。

例如:

SEARCH_PROVIDERS="search1api,searxng"
SEARXNG_URL="https://your-searxng-instance.example"

如果希望 Search1API 作为主要搜索提供方,请将 search1api 放在第一位。每个回退提供方都需要配置各自必需的环境变量。

部署重启后:

  1. 在 LobeHub 中打开某个 Agent 的 Profile。
  2. 选择 + Add Skill 并启用 Web Search。
  3. 开始一个新对话并输入:Search the web for the latest LobeHub release notes and cite the sources.
  4. 打开其中一个引用的页面,或让 Agent 读取并总结该来源。

第一个请求验证搜索。读取引用的 URL 则单独验证抓取器。LobeHub 应显示其搜索溯源界面,包含查询词和引用来源。

故障排查

Web Search 没有运行

  • 确认 SEARCH_PROVIDERS 包含精确的小写值 search1api。
  • 确认该 Agent 已启用 Web Search。
  • 确认变量配置在 LobeHub 服务端进程上,而不只是你本地的 shell。
  • 修改环境变量后重启或重新部署 LobeHub。

搜索正常,但页面没有被读取

  • 确认 CRAWLER_IMPLS 包含 search1api。
  • 分别测试搜索和 URL 读取;二者使用不同的 LobeHub 实现,也可能使用不同的密钥。
  • 如果希望以 LobeHub 内置抓取器作为回退,请将 naive 保留在 search1api 之后。

401 Unauthorized

API 密钥无效或已被撤销。创建一个替换密钥,更新 LobeHub 环境变量,重启部署,确认新密钥的请求正常后,再删除旧密钥。参见认证。

402 Payment Required

要么密钥没有传到 LobeHub 进程,要么 Search1API 账户积分不足。先重新检查环境变量,再查看账户余额。参见积分与限制。

搜索没有返回结果

尝试不带站点或时间限制的更宽泛查询。LobeHub 不会指定搜索引擎,因此 Search1API 使用默认引擎(Google);而且 LobeHub 并不会把所有搜索过滤条件都传给 Search1API。

内置提供方还是 MCP?

如果你想要 LobeHub 原生的 Web Search 体验,包括其搜索溯源界面和引用,请使用内置提供方,并按本页的环境变量进行配置。

如果你希望在 LobeHub 或其他 MCP 客户端中使用显式的 search、news、ask、crawl、sitemap 和 trending 工具,请使用 Search1API MCP 服务器。MCP 是独立的集成,LobeHub 内置的 Web Search 并不依赖它。

两者可以同时启用,但无论通过哪种方式发起的调用都会消耗 Search1API 积分。建议先用内置提供方获得 LobeHub 原生的 Web Search,只有在需要额外工具或直接控制工具调用时再添加 MCP。

本页内容