Token导航 LogoToken导航

Agent Skill · 研究检索

web-search(网络搜索)

web-search 用于记录任务执行中的错误、用户纠正、经验和能力缺口,适合在 Codex、Claude、Cursor、Gemini CLI 中希望让 Agent 持续沉淀问题、修正和最佳实践时使用。可结合来源仓库、安装命令和原始 README 继续核验具体用法。安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。

web-search 是研究检索类 Agent Skill,可用宿主为 Codex、Claude、Cursor、Gemini CLI,通过GitHub 仓库获取,权限为接触敏感数据;许可证信息还不明确,第三方扫描有提醒项,按安装量在研究检索类的 73,675 个 Skill 里排第 2,936。

总安装 51,744周安装 2,237GitHub Stars 117下载 18,128核验 2026-05-01

安装说明

本站只整理中文说明,不托管安装包,也不代用户安装。
GitHub
许可证
unknown

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:web-search(网络搜索)
来源仓库:https://github.com/brave/brave-search-skills
仓库路径:skills/web-search
安装命令:
npx skills add https://github.com/brave/brave-search-skills --skill web-search
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 npx skills 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

skills.shnpx skills
npx skills add https://github.com/brave/brave-search-skills --skill web-search

这个 Skill 是做什么的

研究检索类 Skill 主要解决「找资料、核对事实、把来源整理清楚」的问题,通常会让助手先检索再总结。

带有排名结果、片段的 Web 搜索,并支持新鲜度过滤器、安全搜索和通过 Goggles 进行自定义排名。

在单个响应中返回多种类型的结构化结果:网页、新闻、视频、讨论、常见问题解答、信息框和位置 支持新鲜度过滤(过去的天/周/月/年或自定义日期范围)、安全搜索级别和通过标题的位置感知结果 Goggles 支持自定义结果排名:提升可信来源、抑制垃圾邮件或使用内联规则或托管过滤器构建有针对性的搜索范围 通过回调工作流程丰富天气、股票、货币、体育和其他垂直查询的数据 包括搜索运算符(站点、文件类型、标题、语言、完全匹配、AND/OR/NOT)和可选的拼写检查更正

来源仓库内路径:skills/web-search

上手步骤

4 步
  1. 1

    确认自己的宿主工具

    公开资料标注支持 Codex、Claude、Cursor、Gemini CLI;先确认自己用的是其中之一,再按对应工具的 Skills 目录放置。

  2. 2

    拿到安装命令

    可以直接复制的命令是 npx skills add https://github.com/brave/brave-search-skills --skill web-search;命令里的占位符换成自己的路径或密钥再执行。

  3. 3

    安装后重启宿主

    命令执行完要完全退出宿主工具再打开,让新装的 Skill 被重新扫描到,否则列表里可能看不到。

  4. 4

    按最小权限试用

    它需要接触敏感数据,先在测试目录或测试账号里跑,确认没问题再放到正式项目。

常见问题

6 条

web-search 怎么安装?

在终端执行 npx skills add https://github.com/brave/brave-search-skills --skill web-search。装完完全退出宿主工具再打开,让它重新扫描本地 Skill。

web-search 支持哪些 AI 工具?

公开资料标注支持 Codex、Claude、Cursor、Gemini CLI。其他工具只要能读取本地 Skill 目录,一般也能手动放进去,但要自己确认触发方式是否一致。

web-search 需要什么权限?

权限级别是接触敏感数据。该 Skill 可能接触密钥、Token、环境变量或敏感配置,应进入高风险复核队列,默认不自动发布。

web-search 是免费的吗?

公开资料没有标注明确许可证,收费和商用限制都无法确认。正式使用前请到来源仓库核对授权说明。

web-search 用的人多吗?

公开数据是累计安装 51,744 次,近一周安装 2,237 次,下载 18,128 次,GitHub 117 星。这些数字来自第三方目录统计,只能当作热度参考,不代表质量或安全性。

web-search 安全吗?

第三方扫描有提醒项,说明存在需要人工确认的行为。安装前请打开源码看清它读了什么、联网到哪里。

值得选的地方和要先想清楚的地方

值得选的地方

  • 同时适配 4 种工具,换客户端不用重新找替代品。

先想清楚的地方

  • 需要接触敏感数据,装到常用环境前要先评估影响面。
  • 许可证没有明确标注,能不能商用、能不能再分发都不确定。
  • 第三方扫描存在提醒项或未通过项,需要人工逐条确认。
  • 第三方目录整理,版本更新和行为细节以来源仓库为准。

适不适合你

更适合

  • 已经在用 Codex,想直接扩展它能力的人。
  • 需要处理研究检索类任务、又不想每次都手写提示词的人。

不太适合

  • 环境里有大量密钥、凭证,不方便给第三方 Skill 读取的人。
  • 需要明确授权才能用到公司项目里的场景。
  • 需要厂商级技术支持和 SLA 的生产系统。

研究检索类 Skill 对比

6 个同类
Skill总安装GitHub 星权限许可证扫描
find-skills

寻找技能 · Codex、Claude

31,199,81316,486操作浏览器MIT有提醒
self-improving-agent

自我改进 Agent · OpenClaw

16,464,0023,396接触敏感数据MIT-0通过
soultrace

灵魂追踪 · Codex、Claude

7,588,94412需要联网未明确有提醒
self-improving

自我完善 · OpenClaw

6,829,2841,046需要联网MIT-0通过
microsoft-foundry

微软代工厂 · Codex、Claude

6,614,144764调用外部服务未明确有提醒
web-search

网络搜索 · 本页

51,744117接触敏感数据未明确有提醒

按安装量取同分类前几名;数字来自第三方目录统计,只作热度参考,不代表质量结论。

SKILL.md 原文

Web Search

Requires API Key: Get one at https://api.search.brave.com Plan: Included in the Search plan. See https://api-dashboard.search.brave.com/app/subscriptions/subscribe

Quick Start (cURL)

Basic Search

curl -s "https://api.search.brave.com/res/v1/web/search?q=python+web+frameworks" \
  -H "Accept: application/json" \
  -H "X-Subscription-Token: ${BRAVE_SEARCH_API_KEY}"

With Parameters

curl -s "https://api.search.brave.com/res/v1/web/search" \
  -H "Accept: application/json" \
  -H "X-Subscription-Token: ${BRAVE_SEARCH_API_KEY}" \
  -G \
  --data-urlencode "q=rust programming tutorials" \
  --data-urlencode "country=US" \
  --data-urlencode "search_lang=en" \
  --data-urlencode "count=10" \
  --data-urlencode "safesearch=moderate" \
  --data-urlencode "freshness=pm"

Endpoint

GET https://api.search.brave.com/res/v1/web/search
POST https://api.search.brave.com/res/v1/web/search

Note: Both GET and POST methods are supported. POST is useful for long queries or complex Goggles.

Authentication: X-Subscription-Token: <API_KEY> header

Optional Headers:

  • Accept-Encoding: gzip — Enable gzip compression

When to Use Web Search

FeatureWeb Search (this)LLM Context (llm-context)Answers (answers)
OutputStructured results (links, snippets, metadata)Pre-extracted page content for LLMsEnd-to-end AI answers with citations
Result typesWeb, news, videos, discussions, FAQ, infobox, locations, richExtracted text chunks, tables, codeSynthesized answer + source list
Unique featuresGoggles, structured data (schemas), rich callbacksToken budget control, threshold modesMulti-iteration search, streaming, OpenAI SDK compatible
SpeedFast (~0.5-1s)Fast (<1s)Slower (~30-180s)
Best forSearch UIs, data extraction, custom rankingRAG pipelines, AI agents, groundingChat interfaces, thorough research

Parameters

ParameterTypeRequiredDefaultDescription
qstringYes-Search query (1-400 chars, max 50 words)
countrystringNoUSSearch country (2-letter country code or ALL)
search_langstringNoenLanguage preference (2+ char language code)
ui_langstringNoen-USUI language (e.g., "en-US")
countintNo20Max results per page (1-20)
offsetintNo0Page offset for pagination (0-9)
safesearchstringNomoderateAdult content filter (off/moderate/strict)
freshnessstringNo-Time filter (pd/pw/pm/py or date range)
text_decorationsboolNotrueInclude highlight markers
spellcheckboolNotrueAuto-correct query
result_filterstringNo-Filter result types (comma-separated)
gogglesstringNo-Custom ranking filter (URL or inline)
extra_snippetsboolNo-Get up to 5 extra snippets per result
operatorsboolNotrueApply search operators
unitsstringNo-Measurement units (metric/imperial)
enable_rich_callbackboolNofalseEnable rich 3rd party data callback
include_fetch_metadataboolNofalseInclude fetched_content_timestamp on results

Freshness Values

ValueDescription
pdPast day (24 hours)
pwPast week (7 days)
pmPast month (31 days)
pyPast year (365 days)
YYYY-MM-DDtoYYYY-MM-DDCustom date range

Result Filter Values

Filter types: discussions, faq, infobox, news, query, videos, web, locations

# Only web and video results
curl "...&result_filter=web,videos"

Location Headers (Optional)

For location-aware results, add these headers. Lat/Long is sufficient when coordinates are known — the other headers are only needed as a fallback when coordinates are unavailable.

HeaderTypeDescription
X-Loc-LatfloatUser latitude (-90.0 to 90.0)
X-Loc-LongfloatUser longitude (-180.0 to 180.0)
X-Loc-TimezonestringIANA timezone (e.g., "America/San_Francisco")
X-Loc-CitystringCity name
X-Loc-StatestringState/region code (ISO 3166-2)
X-Loc-State-NamestringState/region full name (e.g., "California")
X-Loc-Countrystring2-letter country code
X-Loc-Postal-CodestringPostal code (e.g., "94105")
Priority: X-Loc-Lat + X-Loc-Long take precedence. When provided, downstream services resolve the location directly from coordinates and the text-based headers (City, State, Country, Postal-Code) are not used for location resolution. Provide text-based headers only when you don't have coordinates. Sending both won't break anything — lat/long simply wins.

Response Format

Response Fields

FieldTypeDescription
typestringAlways "search"
query.originalstringThe original search query
query.alteredstring?Spellcheck-corrected query (if changed)
query.cleanedstring?Cleaned/normalized query
query.spellcheck_offbool?Whether spellcheck was disabled
query.more_results_availableboolWhether more pages exist
query.show_strict_warningbool?True if strict safesearch blocked adult results
query.search_operatorsobject?Applied search operators (applied, cleaned_query, sites)
web.typestringAlways "search"
web.results[].titlestringPage title
web.results[].urlstringPage URL
web.results[].descriptionstring?Snippet/description text
web.results[].agestring?Human-readable age (e.g., "2 days ago")
web.results[].languagestring?Content language code
web.results[].meta_urlobjectURL components (scheme, netloc, hostname, path)
web.results[].thumbnailobject?Thumbnail (src, original)
web.results[].thumbnail.originalstring?Original full-size image URL
web.results[].thumbnail.logobool?Whether the thumbnail is a logo
web.results[].profileobject?Publisher identity (name, url, long_name, img)
web.results[].page_agestring?ISO datetime of publication (e.g., "2025-04-12T14:22:41")
web.results[].extra_snippetslist[str]?Up to 5 additional excerpts
web.results[].deep_resultsobject?Additional links (buttons, links) from the page
web.results[].schemaslist?Raw schema.org structured data
web.results[].productobject?Product info and reviews
web.results[].recipeobject?Recipe details (ingredients, time, ratings)
web.results[].articleobject?Article metadata (author, publisher, date)
web.results[].bookobject?Book info (author, ISBN, rating)
web.results[].softwareobject?Software product info
web.results[].ratingobject?Aggregate ratings
web.results[].faqobject?FAQ found on the page
web.results[].movieobject?Movie info (directors, actors, genre)
web.results[].videoobject?Video metadata (duration, views, creator)
web.results[].locationobject?Location/restaurant details
web.results[].qaobject?Question/answer info
web.results[].creative_workobject?Creative work data
web.results[].music_recordingobject?Music/song data
web.results[].organizationobject?Organization info
web.results[].reviewobject?Review data
web.results[].content_typestring?Content type classification
web.results[].fetched_content_timestampint?Fetch timestamp (with include_fetch_metadata=true)
web.mutated_by_gogglesboolWhether results were re-ranked by Goggles
web.family_friendlyboolWhether results are family-friendly
mixedobject?Preferred display order (see Mixed Response below)
discussions.results[]array?Forum discussion clusters
discussions.results[].data.forum_namestring?Forum/community name
discussions.results[].data.num_answersint?Number of answers/replies
discussions.results[].data.questionstring?Discussion question
discussions.results[].data.top_commentstring?Top-voted comment excerpt
faq.results[]array?FAQ entries
news.results[]array?News articles
videos.results[]array?Video results
infobox.results[]array?Knowledge graph entries
locations.results[]array?Local POI results
rich.hint.verticalstring?Rich result type
rich.hint.callback_keystring?Callback key for rich data

JSON Example

{
  "type": "search",
  "query": {
    "original": "python frameworks",
    "altered": "python web frameworks",
    "spellcheck_off": false,
    "more_results_available": true
  },
  "web": {
    "type": "search",
    "results": [
      {
        "title": "Top Python Web Frameworks",
        "url": "https://example.com/python-frameworks",
        "description": "A comprehensive guide to Python web frameworks...",
        "age": "2 days ago",
        "language": "en",
        "meta_url": {
          "scheme": "https",
          "netloc": "example.com",
          "hostname": "example.com",
          "path": "/python-frameworks"
        },
        "thumbnail": {
          "src": "https://...",
          "original": "https://original-image-url.com/img.jpg"
        },
        "extra_snippets": ["Additional excerpt 1...", "Additional excerpt 2..."]
      }
    ],
    "family_friendly": true
  },
  "mixed": {
    "type": "mixed",
    "main": [
      {"type": "web", "index": 0, "all": false},
      {"type": "web", "index": 1, "all": false},
      {"type": "videos", "all": true}
    ],
    "top": [],
    "side": []
  },
  "videos": { "...": "..." },
  "news": { "...": "..." },
  "rich": {
    "type": "rich",
    "hint": {
      "vertical": "weather",
      "callback_key": "<callback_key_hex>"
    }
  }
}

Mixed Response

The mixed object defines the preferred display order of results across types. It contains three arrays:

ArrayPurpose
mainPrimary result list (ordered sequence of results to display)
topResults to display above main results
sideResults to display alongside main results (e.g., infobox)

Each entry is a ResultReference with type (e.g., "web", "videos"), index (into the corresponding result array), and all (true to include all results of that type at this position).

Search Operators

OperatorSyntaxDescription
Sitesite:example.comLimit results to a specific domain
File extensionext:pdfResults with a specific file extension
File typefiletype:pdfResults created in a specific file type
In titleintitle:pythonPages with term in the title
In bodyinbody:tutorialPages with term in the body
In pageinpage:guidePages with term in title or body
Languagelang:esPages in a specific language (ISO 639-1)
Locationloc:usPages from a specific country (ISO 3166-1 alpha-2)
Include+termForce inclusion of a term
Exclude-termExclude pages containing the term
Exact match"exact phrase"Match the exact phrase in order
ANDterm1 AND term2Both terms required (uppercase)
OR / NOTterm1 OR term2, NOT termLogical operators (uppercase)

Set operators=false to disable operator parsing.

Goggles (Custom Ranking) — Unique to Brave

Goggles let you re-rank search results — boost trusted sources, suppress SEO spam, or build focused search scopes.

MethodExample
Hosted--data-urlencode "goggles=https://raw.githubusercontent.com/brave/goggles-quickstart/main/goggles/rust_programming.goggle"
Inline--data-urlencode 'goggles=$discard\n$site=example.com'
Hosted goggles must be on GitHub/GitLab, include ! name:, ! description:, ! author: headers, and be registered at https://search.brave.com/goggles/create. Inline rules need no registration.

Syntax: $boost=N / $downrank=N (1–10), $discard, $site=example.com. Combine with commas: $site=example.com,boost=3. Separate rules with \n (%0A).

Allow list: $discard\n$site=docs.python.org\n$site=developer.mozilla.org — Block list: $discard,site=pinterest.com\n$discard,site=quora.com

Resources: Discover · Syntax · Quickstart

Rich Data Enrichments

For queries about weather, stocks, sports, currency, etc., use the rich callback workflow:

# 1. Search with rich callback enabled
curl -s "https://api.search.brave.com/res/v1/web/search?q=weather+san+francisco&enable_rich_callback=true" \
  -H "X-Subscription-Token: ${BRAVE_SEARCH_API_KEY}"

# Response includes: "rich": {"hint": {"callback_key": "abc123...", "vertical": "weather"}}

# 2. Get rich data with the callback key
curl -s "https://api.search.brave.com/res/v1/web/rich?callback_key=abc123..." \
  -H "X-Subscription-Token: ${BRAVE_SEARCH_API_KEY}"

Supported Rich Types: Calculator, Definitions, Unit Conversion, Unix Timestamp, Package Tracker, Stock, Currency, Cryptocurrency, Weather, American Football, Baseball, Basketball, Cricket, Football/Soccer, Ice Hockey, Web3, Translator

Rich Callback Endpoint

GET https://api.search.brave.com/res/v1/web/rich
ParameterTypeRequiredDescription
callback_keystringYesCallback key from the web search rich.hint.callback_key field

Use Cases

  • General-purpose search integration: Richest result set (web, news, videos, discussions, FAQ, infobox, locations) in one call. For RAG/LLM grounding, prefer llm-context.
  • Structured data extraction: Products, recipes, ratings, articles via schemas and typed fields on results.
  • Custom search with Goggles: Unique to Brave. Boost/discard sites with inline rules or hosted Goggles for fully customized ranking.

Notes

  • Pagination: Use offset (0-9) with count to page through results
  • Count: Max 20 for web search; actual results may be less than requested

平台分布

Codex

37.9%
按下载量换算6,871

Claude

29.32%
按下载量换算5,315

Cursor

20.5%
按下载量换算3,716

Gemini CLI

10.12%
按下载量换算1,835

安全审计

Gen Agent Trust Hub

通过

Socket

通过

Snyk

可疑

权限和风险

接触敏感数据

该 Skill 可能接触密钥、Token、环境变量或敏感配置,应进入高风险复核队列,默认不自动发布。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。来源安全扫描存在提醒或未通过项,安装前请自行复核。目前只有一个公开来源,建议同时核对源仓库。

继续浏览同类 Skills