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_PROVIDERS | LobeHub 用于查找网页结果的提供方。 |
CRAWLER_IMPLS | LobeHub 读取结果页面时可用的抓取器。 |
SEARCH1API_API_KEY | Search1API 搜索和抓取请求共用的密钥。 |
对于普通 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_KEY | SEARCH1API_API_KEY |
| 抓取 | SEARCH1API_CRAWL_API_KEY | SEARCH1API_API_KEY |
同一 Search1API 账户下的所有密钥共用同一积分余额。使用独立密钥便于识别用量,也可以撤销其中一个集成而不影响另一个。
添加其他回退提供方
SEARCH_PROVIDERS 同样是有序的。LobeHub 从左到右依次尝试提供方,当前一个提供方出错或没有返回可用结果时,转向下一个已配置的提供方。
例如:
SEARCH_PROVIDERS="search1api,searxng"
SEARXNG_URL="https://your-searxng-instance.example"如果希望 Search1API 作为主要搜索提供方,请将 search1api 放在第一位。每个回退提供方都需要配置各自必需的环境变量。
启用并验证 Web Search
部署重启后:
- 在 LobeHub 中打开某个 Agent 的 Profile。
- 选择 + Add Skill 并启用 Web Search。
- 开始一个新对话并输入:
Search the web for the latest LobeHub release notes and cite the sources. - 打开其中一个引用的页面,或让 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。