← 返回 Skills 市场
brave-skills

Brave Search CLI (bx)

作者 Brave on ClawHub · GitHub ↗ · v1.4.0 · MIT-0
cross-platform ✓ 安全检测通过
377
总下载
0
收藏
1
当前安装
4
版本数
在 OpenClaw 中安装
/install bx-search
功能描述
Web search using the Brave Search CLI (`bx`). Use for ALL web search requests — including "search for", "look up", "find", "what is", "how do I", "google thi...
使用说明 (SKILL.md)

bx — Brave Search CLI

Agent Directive

When this skill is active, use bx via exec for all web searches. Do not use the built-in web_search tool. Run bx context "query" as the default — it returns pre-extracted, token-budgeted content ready for use. Fall back to bx answers for synthesized explanations or bx web when search operators are needed.

A zero-dependency, token-efficient CLI for the Brave Search API, built for AI agents and LLMs.

One binary, JSON in/out, no runtime dependencies. The default subcommand is context — bare bx "query" is equivalent to bx context "query". It replaces search + scrape + extract in a single call with token-budgeted output — purpose-built for RAG and LLM grounding.

Quick Start

macOS/Linux

curl -fsSL https://raw.githubusercontent.com/brave/brave-search-cli/main/scripts/install.sh | sh

Windows (PowerShell)

powershell -ExecutionPolicy Bypass -c "irm https://raw.githubusercontent.com/brave/brave-search-cli/main/scripts/install.ps1 | iex"
bx config set-key YOUR_API_KEY    # get a key at https://api-dashboard.search.brave.com
bx "your search query"
bx --help                        # see all commands; bx \x3Ccommand> --help for flags

Getting an API Key

  1. Sign up at \x3Chttps://api-dashboard.search.brave.com/register>
  2. Choose a plan — all plans include $5/month free credits (~1,000 free queries). Different endpoints may require different plans.
  3. Go to "API Keys" in the dashboard, generate a key (shown once — save it)

Configuring the API Key

Three methods, in priority order:

Priority Method Example
1 (highest) --api-key flag bx --api-key KEY web "test"
2 BRAVE_SEARCH_API_KEY env var export BRAVE_SEARCH_API_KEY=KEY
3 Config file bx config set-key KEY

The config file is stored at ~/.config/brave-search/api_key (Linux), ~/Library/Application Support/brave-search/api_key (macOS), or %APPDATA%\brave-search\api_key (Windows).

Security tip: Prefer the env var or config file over --api-key, which is visible in process listings. Use bx config set-key without an argument to enter the key interactively, avoiding shell history.

For AI Agents

Use context by default. It returns pre-extracted, relevance-scored web content ready for LLM prompt injection. One API call replaces the search → scrape → extract pipeline.

# RAG grounding with token budget
bx context "Python TypeError cannot unpack non-iterable NoneType" --max-tokens 4096

# Direct AI answer (OpenAI-compatible, streams by default)
bx answers "explain Rust lifetimes with examples"

# Raw web search when you need site: scoping or result filtering
bx web "site:docs.rs axum middleware" --count 5

Note: Some examples below pipe output through jq for illustration. Do not assume jq is installed — if you need to filter JSON in a shell pipeline, use whatever is available in your environment (e.g., jq, PowerShell's ConvertFrom-Json, Python's json module), or simply read the raw JSON output directly.

When to Use Which Command

Your need Command Why
Look up docs, errors, code patterns context Pre-extracted text, token-budgeted
Get a synthesized explanation answers AI-generated, cites sources
Search a specific site (site:) web Supports search operators
Find discussions/forums web --result-filter discussions Forums often have solutions
Check latest versions/releases context or news --freshness pd Fresh info beyond training data
Research security vulnerabilities context or news CVE details, advisories
Boost/filter specific domains --goggles on context/web/news Custom re-ranking, no other API has this

Response Shapes

bx context — RAG/grounding (recommended)

{
  "grounding": {
    "generic": [
      { "url": "...", "title": "...", "snippets": ["extracted content...", "..."] }
    ]
  }
}

bx answers --no-stream — AI answer (single response)

{"choices": [{"message": {"content": "Rust lifetimes ensure references..."}}]}

bx answers — AI answer (streaming, one JSON chunk per line)

{"choices": [{"delta": {"content": "R"}}]}
{"choices": [{"delta": {"content": "u"}}]}
{"choices": [{"delta": {"content": "s"}}]}
{"choices": [{"delta": {"content": "t"}}]}
{"choices": [{"delta": {"content": " "}}]}

bx web — Full search results

{
  "web": { "results": [{"title": "...", "url": "...", "description": "..."}] },
  "news": { "results": [...] },
  "videos": { "results": [...] },
  "discussions": { "results": [...] }
}

Agent Workflow Examples

Debugging an error:

bx "Python TypeError cannot unpack non-iterable NoneType" --max-tokens 4096

Evaluating a dependency:

bx context "reqwest crate security issues maintained 2026" --threshold strict
bx news "reqwest Rust crate" --freshness pm

Corrective RAG loop:

# 1. Broad search
bx "axum middleware authentication" --max-tokens 4096
# 2. Too general? Narrow down
bx "axum middleware tower layer authentication example" --threshold strict --max-tokens 4096
# 3. Still need synthesis? Ask for an answer
bx answers "how to implement JWT auth middleware in axum" --enable-research

Checking for breaking changes before upgrading:

bx context "Next.js 15 breaking changes migration guide" --max-tokens 8192
bx news "Next.js 15 release" --freshness pm

Focused search with Goggles (custom re-ranking):

bx "Python asyncio gather vs wait" \
  --goggles '$boost=3,site=docs.python.org
/docs/$boost=3
/blog/$downrank=2
$discard,site=geeksforgeeks.org
$discard,site=w3schools.com' --max-tokens 4096

Token budget control:

bx context "topic" --max-tokens 4096 --max-tokens-per-url 1024 --max-urls 5

Non-streaming answers (for programmatic use):

bx answers "compare SQLx and Diesel for Rust" --no-stream | jq '.choices[0].message.content'

Answers stdin mode — pass - to read a full JSON request body:

echo '{"messages":[{"role":"user","content":"review this code for security issues"}]}' | bx answers -

Other commands:

bx images "system architecture diagram microservices" | jq '.results[].thumbnail.src'
bx suggest "how to implement" --count 10 | jq '.results[].query'
bx places "coffee" --location "San Francisco CA US" | jq '.results[].title'
bx web "restaurants near me" --lat 37.7749 --long -122.4194 --city "San Francisco"
bx web "rust" --result-filter "web,discussions"

Commands

Command Description Output Shape
context RAG/LLM grounding — pre-extracted web content .grounding.generic[]{url, title, snippets[]}
answers AI answers — OpenAI-compatible, streaming .choices[0].delta.content (stream)
web Full web search — all result types .web.results[], .news.results[], etc.
news News articles with freshness filters .results[]{title, url, age}
images Image search (up to 200 results) .results[]{title, url, thumbnail.src}
videos Video search with duration/views .results[]{title, url, video.duration}
places Local place/POI search (200M+ POIs) .results[]{title, postal_address, contact}
suggest Autocomplete/query suggestions .results[]{query}
spellcheck Spell-check a query .results[0].query
pois POI details by ID (use IDs from places)
descriptions AI-generated POI descriptions .results[].description
config Manage API key set-key, show-key, path

Goggles — Custom Search Re-Ranking

Brave Goggles let you define custom re-ranking rules for search results. Boost domains, URL paths, or content patterns; downrank noise; discard SEO spam — from simple domain allow/deny lists to complex multi-rule ranking profiles. No other search API offers this. Supported on context, web, and news.

Domain Shortcuts — --include-site / --exclude-site

For the common case of restricting to or excluding specific domains, use the convenience flags (available on context, web, news):

# Only include results from these domains (allowlist)
bx "rust axum" --include-site docs.rs --include-site github.com

# Exclude specific domains
bx web "rust tutorial" --exclude-site w3schools.com --exclude-site medium.com

These generate Goggles rules internally. For more advanced re-ranking (boosting, path patterns, wildcards), use --goggles directly. The three flags are mutually exclusive.

Why Agents Should Use Goggles

  • Domain & path targeting: Boost, downrank, or discard by domain ($site=) or URL path (/docs/$boost=5) — fine-grained control with wildcards
  • Better than site:: Brave converts site: operators to Goggles internally — explicit Goggles unlock the full DSL (hundreds of rules, path patterns, boost/downrank strengths) without bloating the query
  • Clean queries: A single --goggles parameter replaces long site:X OR site:Y chains, saving tokens
  • Reusable: Host a .goggle file on GitHub and share across agents, CI, and teams
  • Community-maintained: Leverage existing Goggles like Tech Blogs

Inline Rules (zero setup)

# Allowlist — only include results from trusted domains
bx context "Python asyncio patterns" \
  --goggles '$discard
$site=docs.python.org
$site=peps.python.org'

# Path-based boosting — prefer /docs/ over /blog/ across all sites
bx context "axum middleware tower" \
  --goggles '/docs/$boost=5
/api/$boost=3
/blog/$downrank=3' --max-tokens 4096

# Ecosystem focus — boost Rust sources for crate research
bx context "serde custom deserializer" \
  --goggles '$boost=5,site=docs.rs
$boost=5,site=crates.io
$boost=3,site=github.com' --max-tokens 4096

# Downrank blog spam in news results
bx news "npm security advisory" --freshness pd \
  --goggles '$downrank=5,site=medium.com'

DSL Quick Reference

Rule Effect Example
$boost=N,site=DOMAIN Promote domain (N=1-10) $boost=3,site=docs.rs
$downrank=N,site=DOMAIN Demote domain (N=1-10) $downrank=5,site=medium.com
$discard,site=DOMAIN Remove domain entirely $discard,site=w3schools.com
/path/$boost=N Boost matching URL paths /docs/$boost=5
*pattern*$boost=N Wildcard URL matching *api*$boost=3
Generic $discard Allowlist mode — discard all unmatched $discard (as first rule)

Separate multiple rules with newlines. Full DSL + pattern syntax: goggles-quickstart.

From a File (@file) — ideal for agents

Agents can generate a .goggle file on the fly and reference it:

# Agent writes rules to a file, then uses it across multiple queries
cat > /tmp/rust.goggle \x3C\x3C 'EOF'
$boost=5,site=docs.rs
$boost=5,site=crates.io
$boost=3,site=github.com
/blog/$downrank=3
$discard,site=w3schools.com
$discard,site=geeksforgeeks.org
EOF

bx context "axum middleware tower" --goggles @/tmp/rust.goggle --max-tokens 4096
bx context "serde custom deserializer" --goggles @/tmp/rust.goggle --max-tokens 4096

From stdin (@-) — pipe generated rules

echo '$boost=5,site=docs.rs
$boost=3,site=github.com' | bx web "tokio runtime" --goggles @-

Hosted Goggles (reusable, shareable)

Host a .goggle file on GitHub/GitLab, submit it to Brave, then reference by URL:

bx web "distributed systems" \
  --goggles 'https://raw.githubusercontent.com/brave/goggles-quickstart/main/goggles/tech_blogs.goggle'

Community Goggles: brave/goggles-quickstart | Discover page

Exit Codes

Code Meaning Agent action
0 Success Process results
1 Client error (bad request) Fix query/parameters
2 Usage error (bad flags) Fix CLI arguments (clap)
3 Auth/permission error (401/403) Check API key or plan: bx config show-key
4 Rate limited (429) Retry after delay
5 Server/network error Retry with backoff

Error output format (stderr):

error: rate limited (429) — Request rate limit exceeded for plan.
hint: retry after a short delay, or upgrade plan for higher rate limits
{"type":"ErrorResponse","error":{"code":"RATE_LIMITED","status":429,...}}
安全使用建议
This skill appears coherent: it requires the bx CLI and your Brave Search API key, which matches its purpose. Before installing, verify the bx binary source (GitHub release) and consider using the BRAVE_SEARCH_API_KEY env var or the local config file rather than passing the key on the command line. Be cautious about running curl | sh or remote PowerShell install commands — prefer downloading the release and verifying it (checksum/signature) if possible. Limit the API key's permissions/quota on the Brave dashboard and rotate it if you stop using the skill.
功能分析
Type: OpenClaw Skill Name: bx-search Version: 1.4.0 The skill provides a legitimate interface for the Brave Search CLI (bx). It includes standard installation procedures for binaries hosted on the official Brave GitHub repository (brave/brave-search-cli) and provides clear documentation for API key management and usage. No evidence of malicious intent, data exfiltration, or unauthorized execution was found in SKILL.md or the metadata.
能力评估
Purpose & Capability
Name/description ask for a Brave Search CLI and an API key; the skill declares the bx binary and BRAVE_SEARCH_API_KEY as the primary credential — these are exactly what a Brave Search CLI wrapper would need.
Instruction Scope
SKILL.md instructs the agent to run bx (context/answers/web) for all web searches and documents config locations and API-key usage — this stays within the stated scope. One user-facing concern: the Quick Start shows piping a remote install script (raw.githubusercontent.com) to sh/PowerShell, which is convenient but risky if executed blindly.
Install Mechanism
Install metadata points to GitHub release binaries for each OS (expected for a CLI). This is reasonable, but downloads are direct binaries without checksums/signatures in the metadata, and SKILL.md suggests curl|sh installers — acceptable but higher-risk than verified signed packages.
Credentials
Only BRAVE_SEARCH_API_KEY is declared as the primary credential and there are no other unrelated env vars or config paths requested. The skill documents a local config file path for storing the key, which is consistent with its purpose.
Persistence & Privilege
Skill is not forced-always present (always: false) and uses normal autonomous invocation defaults. It does not request system-wide privileges or modify other skills' configs.
如何使用
  1. 确保已安装 OpenClaw(本地或 Docker 部署)
  2. 在对话框中输入安装命令:/install bx-search
  3. 安装完成后,直接呼叫该 Skill 的名称或使用 /bx-search 触发
  4. 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
版本历史
v1.4.0
- Updated to use Brave Search CLI version 1.4.0 across all platforms. - Added support and download links for Windows ARM64 binaries. - No changes to logic or features; SKILL.md metadata and install instructions updated only.
v1.3.0
- Removed `BRAVE_SEARCH_API_KEY` from required environment variables list in skill metadata. - Added a note clarifying that examples using `jq` are for illustration and users should use any available JSON tool or read the raw output directly.
v1.2.0
**Skill now prefers bx CLI for all web search tasks and updates Brave Search CLI to v1.2.0** - Uses Brave Search CLI (`bx`) v1.2.0 for all web search-related tasks; installation links updated. - Stronger agent directive: Prefer `bx` over any built-in web_search tool for fresh, external, or documentation lookup tasks. - Description clarified to include broader use cases like images, videos, places, and synthesized answers. - Added explicit guidance for when and how `bx context`, `bx answers`, and `bx web` should be used. - Internal documentation streamlined to emphasize agent usage patterns.
v1.0.0
Initial release of bx-search — Brave Search CLI integration. - Provides seamless access to Brave Search via the `bx` command-line tool. - Supports web context retrieval, AI-grounded answers, and specialized searches with JSON output optimized for LLMs and agent workflows. - Enables token-budgeted retrieval for RAG scenarios. - Zero runtime dependencies; supports macOS, Windows, and Linux via downloadable binaries. - API key can be configured via command line flag, environment variable, or config file.
元数据
Slug bx-search
版本 1.4.0
许可证 MIT-0
累计安装 1
当前安装数 1
历史版本数 4
常见问题

Brave Search CLI (bx) 是什么?

Web search using the Brave Search CLI (`bx`). Use for ALL web search requests — including "search for", "look up", "find", "what is", "how do I", "google thi... 它是一个面向 Claude Code / OpenClaw 的 AI Agent Skill 插件,目前累计下载 377 次。

如何安装 Brave Search CLI (bx)?

在 OpenClaw 或 Claude Code 对话框中运行命令「/install bx-search」即可一键安装,无需额外配置。

Brave Search CLI (bx) 是免费的吗?

是的,Brave Search CLI (bx) 完全免费,采用 MIT-0 许可证,可自由下载、安装和使用。

Brave Search CLI (bx) 支持哪些平台?

Brave Search CLI (bx) 跨平台运行,可在任意部署了 OpenClaw / Claude Code 的环境中使用(cross-platform)。

谁开发了 Brave Search CLI (bx)?

由 Brave on ClawHub(@brave-skills)开发并维护,当前版本 v1.4.0。

💬 留言讨论