Search API
POST /api/search,返回排序后的网页结果。
最近更新: 2026-10-10
Search
POST /api/search
请求体
| 字段 | 默认 | 说明 |
|---|---|---|
query | 必填 | 查询字符串 |
search_depth | basic | basic(1 积分)或 advanced(2 积分,会拉正文) |
max_results | 5 | 1–20 |
topic | general | general 或 news |
include_answer | false | 若配置了 OpenAI/Anthropic,可返回简短回答 |
include_raw_content | false | true / markdown / text |
include_body | false | true 时返回面向查询的 body 正文上下文(见下) |
body_top_k | 25 | body 保留的句子数,1–50(默认取 admin 配置) |
include_favicon | false | 每条结果的 favicon |
include_domains | 只保留这些域名 | |
exclude_domains | 排除这些域名 |
V1 不实现 fast、ultra-fast、图片字段和 finance 主题。
响应
{
"query": "retrieval 最新论文",
"results": [
{
"title": "...",
"url": "https://...",
"content": "...",
"score": 0.95,
"raw_content": null
}
],
"response_time": 0.42,
"request_id": "...",
"usage": { "credits": 1 }
}
错误体为 { "detail": { "error": "..." } },HTTP 状态码 401、400、429、432 或 500。
正文上下文(include_body)
传入 include_body: true 后,每个结果页会经由已配置的正文提取后端(推荐 Crawlee)抓取正文并切分成句子,由 Jev(StartLux-Decision)按 query 打分;在所有页面的句子中全局取 Top-K,按来源 URL 分组、组内保持原文顺序,拼成一段可直接放入 LLM 提示词的上下文。每条结果同时附带正文提取得到的 keywords / keyword_urls。
{
"results": [
{
"title": "...",
"url": "https://en.wikipedia.org/wiki/Web_scraping",
"raw_content": null,
"keywords": ["data scraping"],
"keyword_urls": ["https://en.wikipedia.org/wiki/Data_scraping"]
}
],
"body": {
"context": "[1] https://en.wikipedia.org/wiki/Web_scraping\n- Web scraping ... is data scraping used for extracting data from websites.\n- ...",
"sentences": [{ "text": "...", "url": "https://...", "score": 0.65 }],
"info": {
"status": "applied",
"topK": 25,
"candidates": 661,
"latencyMs": 17984
}
}
}
Jev 不可用或超时时,body.info.status 为 fallback,按阅读顺序在各页面间轮流截取句子(score 为 0),且该响应不写入缓存。5 个结果通常需要数十秒,主要耗时在正文抓取和句子打分。
关于 score
score 是单次请求内的相对位次分,不是通用的相关性指标。Exa 和 SearXNG 返回各自的原始分数;Brave、Serper 和 bb-browser 的结果使用按位次合成的分数(1 - index * 0.05)。请只用它对同一次响应内的结果排序,不要跨查询或跨提供商比较。
故障转移与缓存
当所选提供商出错时,请求会自动故障转移到下一个已配置的提供商(实际提供服务的提供商记录在请求日志中)。相同参数的搜索会在服务端缓存一小段时间(默认 10 分钟,可在 admin → Search 配置);命中缓存的响应仍按标准积分扣费。
浏览器搜索(BB Search)
推荐协作者使用内置的 bb-search:在仓库根目录运行 pnpm bb-search:up,再在 Admin → Search 选择 BB Search (built-in),填写 http://127.0.0.1:8896 与 deploy/bb-search/.env 中的 BB_SEARCH_API_KEY。支持引擎 google / bing / baidu / duckduckgo。仓库已提交 patched bb-browser bundle,无需再 clone 相邻的 bb-browser 源码。详见仓库内 deploy/bb-search/README.md。
高级模式仍可选择 bb-browser,直接连接本机 daemon(bb_browser_base_url,默认 http://127.0.0.1:19824)。两种协议的地址和密钥不能互换。
这些适配器支持 topic: "general"。请求 news 时会尝试下一个已配置的提供商;如果没有提供商能够处理,请求会返回错误。常见搜索引擎跳转链接会先解码或解包,再做域名过滤。解析失败时,无域名过滤的响应可能保留跳转链接;指定域名过滤时会丢弃未解析的跳转链接。结果数量取决于适配器和域名过滤条件。高级搜索和 /api/extract 继续使用已有的正文提取流程。