360 Secure SkillHub
360 安全技能中心

Brave Rotator

提供 Python 脚本和 CLI,使用环境变量中的多个 Brave Search API 密钥执行网页、新闻或图片搜索;密钥按轮询使用,遇到 429/403 时临时封锁并切换,状态保存到本地文件。

mrnsmh
mrnsmh
热度 54.80
最近更新 2026-05-11 17:27:36
分类:搜索依赖:代码执行 / 第三方 API / 读写文件应用场景:研究 / API 集成

安装技能

复制下面的话术发给你的 Agent,它会通过 secure-skills 检索并安装该技能。

执行命令安装此 skill: npx secure-skills-cli add openclaw-skill-brave-rotator
Metadata
name
brave-rotator
description
Brave Search API with automatic key rotation across multiple API keys to maximize free tier limits (2000 req/month per key). Use when performing web, news, or image searches via Brave Search API, especially when multiple API keys are available and you want to avoid rate limits. Triggers on web search requests, news lookups, image searches, any task requiring Brave Search API calls with key rotation or fallback.

Brave Rotator

Multi-key Brave Search with automatic round-robin rotation and rate-limit fallback.

Setup

Set env var with comma-separated keys:

export BRAVE_API_KEYS=key1,key2,key3

Optionally set state file path (default: ~/.brave_key_state.json):

export BRAVE_KEY_STATE_FILE=/path/to/state.json

Script: scripts/brave_search.py

Run directly or import as module.

CLI usage

python3 brave_search.py "your query" [--count 5] [--type web|news|image] [--country us] [--lang en] [--json]

Import usage

import sys, os
sys.path.insert(0, "path/to/skill/scripts")
from brave_search import search, format_results

data, used_key, key_idx = search("your query", count=5, search_type="web")
results = format_results(data, "web")
# results = [{"title": ..., "url": ..., "snippet": ...}, ...]

Rotation Logic

  • Maintains state in ~/.brave_key_state.json
  • Round-robin across all keys
  • On HTTP 429/403: blocks key for 60s, retries with next key
  • All keys exhausted: uses least recently blocked key

Key State Inspection

cat ~/.brave_key_state.json

Shows per-key request count, last success, and blocked_until timestamps.

Search Types

Type Endpoint Result fields
web /web/search title, url, snippet
news /news/search title, url, snippet, age
image /images/search title, url, thumbnail

Notes

  • Free plan: 2000 req/month/key, 1 req/sec
  • With N keys: effectively N×2000 req/month
  • See references/brave-api.md for full API params and plan details