mcpField
A
answers

answers

github.com/brave生产力1921.2k 次安装11 周前更新
代码仓库

关于 answers

answers 是 Brave Search API 技能,用于生成基于网页信息的回答,支持快速单次搜索和带综合引用的迭代研究。

主要功能

  1. 01单次搜索生成 AI 回答
  2. 02支持流式响应与引用
  3. 03迭代式多次搜索研究
  4. 04兼容 OpenAI SDK 的端点

适用场景

  1. 01为聊天界面提供网页依据回答
  2. 02通过多次搜索研究复杂主题
  3. 03为生成的回答附加行内引用

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/brave/brave-search-skills --skill answers

安装后在 Claude Code 中输入/answers确认已加载。

详细介绍

答案 — AI 溯源

需要 API 密钥:前往 https://api.search.brave.com 获取

套餐:包含在 Answers 套餐中。请参阅 https://api-dashboard.search.brave.com/app/subscriptions/subscribe

适用场景

使用场景技能原因
快速获取事实答案(原始上下文)llm-context单次搜索,为你的大模型返回原始上下文
快速获取带引用的 AI 答案answers(单次搜索)流式传输、包含引用
多次搜索的深入研究answers(研究模式)迭代式深入研究,生成综合性的带引用答案

此端点(/res/v1/chat/completions)支持两种模式:

  • 单次搜索(默认):通过单次搜索快速获取 AI 溯源答案。支持 enable_citations。
  • 研究(enable_research=true):多轮迭代深入研究,包含进度事件并生成综合性的带引用答案。

快速开始(cURL)

阻塞式(单次搜索)
curl -X POST "https://api.search.brave.com/res/v1/chat/completions" \
  -H "Content-Type: application/json" \
  -H "X-Subscription-Token: ${BRAVE_SEARCH_API_KEY}" \
  -d '{
    "messages": [{"role": "user", "content": "How does the James Webb Space Telescope work?"}],
    "stream": false
  }'
带引用的流式传输(单次搜索)
curl -X POST "https://api.search.brave.com/res/v1/chat/completions" \
  -H "Content-Type: application/json" \
  -H "X-Subscription-Token: ${BRAVE_SEARCH_API_KEY}" \
  -d '{
    "messages": [{"role": "user", "content": "What are recent breakthroughs in fusion energy?"}],
    "stream": true,
    "enable_citations": true
  }'
研究模式
curl -X POST "https://api.search.brave.com/res/v1/chat/completions" \
  -H "Content-Type: application/json" \
  -H "X-Subscription-Token: ${BRAVE_SEARCH_API_KEY}" \
  -d '{
    "messages": [{"role": "user", "content": "Compare quantum computing approaches"}],
    "stream": true,
    "enable_research": true,
    "research_maximum_number_of_iterations": 3,
    "research_maximum_number_of_seconds": 120
  }'

端点

POST https://api.search.brave.com/res/v1/chat/completions

身份验证:使用 X-Subscription-Token: <API_KEY> 标头(或 Authorization: Bearer <API_KEY>)

SDK 兼容性:通过 base_url="https://api.search.brave.com/res/v1" 与 OpenAI SDK 配合使用

两种模式

功能单次搜索(默认)研究(enable_research=true)
速度快慢
搜索次数1多次(迭代)
流式传输可选(stream=true/false)必需(stream=true)
引用enable_citations=true(仅限流式传输)内置(位于 <answer> 标签中)
进度事件否是(<progress> 标签)
阻塞式响应是(stream=false)否

参数

标准参数
参数类型必需默认值描述
messagesarray是-单条用户消息(恰好 1 条消息)
streambool否true启用 SSE 流式传输
countrystring否"US"搜索国家(2 位国家代码或 ALL)
languagestring否"en"响应语言
safesearchstring否"moderate"搜索安全级别(off、moderate、strict)
max_completion_tokensint否null完成令牌数上限
enable_citationsbool否false包含行内引用标签(仅限单次搜索的流式传输)
web_search_optionsobject否null兼容 OpenAI;search_context_size:low、medium、high
研究参数
参数类型必需默认值描述
enable_researchbool否false启用研究模式
research_allow_thinkingbool否true启用扩展思考
research_maximum_number_of_tokens_per_queryint否8192每次查询的最大令牌数(1024-16384)
research_maximum_number_of_queriesint否20搜索查询总数上限(1-50)
research_maximum_number_of_iterationsint否4研究迭代次数上限(1-5)
research_maximum_number_of_secondsint否180时间预算(秒,1-300)
research_maximum_number_of_results_per_queryint否60每次搜索查询的结果数(1-60)
约束(重要)
约束错误
enable_research=true 要求 stream=true"Blocking response doesn't support 'enable_research' option"
enable_research=true 与 enable_citations=true 不兼容"Research mode doesn't support 'enable_citations' option"
enable_citations=true 要求 stream=true"Blocking response doesn't support 'enable_citations' option"

OpenAI SDK 用法

阻塞式(单次搜索)
from openai import OpenAI

client = OpenAI(
    base_url="https://api.search.brave.com/res/v1",
    api_key="your-brave-api-key",
)

response = client.chat.completions.create(
    model="brave",
    messages=[{"role": "user", "content": "How does the James Webb Space Telescope work?"}],
    stream=False,
)
print(response.choices[0].message.content)
带引用的流式传输(单次搜索)
from openai import OpenAI

client = OpenAI(
    base_url="https://api.search.brave.com/res/v1",
    api_key="your-brave-api-key",
)

stream = client.chat.completions.create(
    model="brave",
    messages=[{"role": "user", "content": "What are the current trends in renewable energy?"}],
    stream=True,
    extra_body={"enable_citations": True}
)

for chunk in stream:
    if chunk.choices[0].delta.content:
        print(chunk.choices[0].delta.content, end="")
研究模式
from openai import AsyncOpenAI

client = AsyncOpenAI(
    base_url="https://api.search.brave.com/res/v1",
    api_key="your-brave-api-key",
)

stream = await client.chat.completions.create(
    model="brave",
    messages=[{"role": "user", "content": "Compare quantum computing approaches"}],
    stream=True,
    extra_body={
        "enable_research": True,
        "research_maximum_number_of_iterations": 3,
        "research_maximum_number_of_seconds": 120
    }
)

async for chunk in stream:
    if chunk.choices[0].delta.content:
        print(chunk.choices[0].delta.content, end="", flush=True)

响应格式

阻塞式响应(stream=false,仅限单次搜索)

标准的 OpenAI 兼容 JSON:

{
  "id": "chatcmpl-...",
  "object": "chat.completion",
  "choices": [{"message": {"role": "assistant", "content": "The James Webb Space Telescope works by..."}, "index": 0, "finish_reason": "stop"}],
  "usage": {"prompt_tokens": 10, "completion_tokens": 50, "total_tokens": 60}
}
流式响应

包含 OpenAI 兼容数据块的 SSE 响应:

data: {"id":"chatcmpl-...","object":"chat.completion.chunk","choices":[{"delta":{"content":"Based on"},"index":0}]}

data: {"id":"chatcmpl-...","object":"chat.completion.chunk","choices":[{"delta":{"content":" recent research"},"index":0}]}

data: [DONE]
各模式的流式标签
单次搜索(设置 enable_citations=true)
Tag用途
<citation>行内引用参考
<usage>JSON 费用/计费数据
研究模式
Tag用途保留?
<queries>生成的搜索查询调试
<analyzing>URL 数量(详细)调试
<thinking>URL 选择理由调试
<progress>统计信息:时间、迭代次数、查询、已分析的 URL、令牌监控
<blindspots>识别出的知识盲区是
<answer>最终综合回答(仅输出最终回答;中间草稿会被丢弃)是
<usage>JSON 费用/计费数据(包含在流式响应末尾)是
Usage 标签格式

<usage> 标签包含 JSON 字符串化的费用和令牌数据:

<usage>{"X-Request-Requests":1,"X-Request-Queries":8,"X-Request-Tokens-In":15000,"X-Request-Tokens-Out":2000,"X-Request-Requests-Cost":0.005,"X-Request-Queries-Cost":0.032,"X-Request-Tokens-In-Cost":0.075,"X-Request-Tokens-Out-Cost":0.01,"X-Request-Total-Cost":0.122}</usage>

使用场景

  • 聊天界面集成:可直接替换 OpenAI SDK,提供基于网络信息的回答。设置 base_url="https://api.search.brave.com/res/v1"。
  • 深度研究/全面的主题研究:对于需要综合多个来源的复杂问题(例如“比较核聚变的不同方法”),使用研究模式(enable_research=true)。
  • 直接替换 OpenAI SDK:SDK 相同,流式格式相同——只需更改 base_url 和 api_key。同步和异步客户端均可使用。
  • 带引用的回答:在单次搜索模式中启用 enable_citations=true,以获取行内引用标签;也可以使用会自动在回答中包含引用的研究模式。

注意事项

  • 超时:单次搜索的客户端超时至少设为 30s,研究模式至少设为 300s(5 min)
  • 单条消息:messages 数组必须且只能包含 1 条用户消息
  • 费用监控:解析流式响应中的 <usage> 标签以跟踪费用

评论

支持 Markdown