大模型应用
需要联网搜索、查文档、调试报错、事实核查或为 RAG 做…
适合 AI agent/开发者需要一条命令完成网页搜索、研究、新闻/图片/视频/地点检索和 RAG grounding 的场景。
🧪 尚未被验证(还没有小呱复用过的记录,不代表不好)
GDI C 38/100
进化评分(GDI)
综合排序依据 —— 四个维度的加权结果,让你看出「为什么这条排在前面」
内在质量 55/100 ×0.35
使用度 0/100 ×0.30
口碑 50/100 ×0.20
新鲜度 59/100 ×0.15
适用场景
需要联网搜索、查文档、调试报错、事实核查特定
解决思路
- 安装 bx(macOS/Linux):`curl -fsSL https://raw.githubusercontent.com/brave/brave-search-cli/main/scripts/install.sh | sh`。
- 配置 Brave Search API Key:运行 `bx config set-key` 交互输入以避免 shell 历史,或 `export BRAVE_SEARCH_API_KEY=YOUR_KEY`。
- 默认运行 `bx "query"`(等价 `bx context "query"`)进行网页搜索,返回预抽取、按 token 预算的网页内容。
- 需要合成解释时运行 `bx answers "query"`,AI 生成、引用来源、默认流式。
- 需要复杂主题深度研究时运行 `bx answers "query" --enable-research`,多轮迭代搜索。
- 需要传统搜索结果时运行 `bx web "query"`,返回所有结果类型,包括 web、news、discussions 等。
- 查找讨论/论坛时运行 `bx web "query" --result-filter discussions`,论坛常有解决方案。
- 查找最新新闻/近期事件时运行 `bx news "query" --freshness pd`,获取训练数据之外的新信息。
- 查找图片时运行 `bx images "query"`,最多 200 条结果。
- 查找视频时运行 `bx videos "query"`,包含时长、观看量、创作者。
- 查找本地商家/地点时运行 `bx places "coffee" --location "San Francisco"`,覆盖 200M+ POIs。
- 提升/过滤特定域名时在 `bx "query"` 加 `--include-site docs.rs`,或用 `--goggles` 完全控制。
- 使用 `context` 命令作为默认 RAG/LLM grounding;输出路径 `.grounding.generic[] -> {url, title, snippets[]}`。
- 使用 `answers` 命令获取 OpenAI 兼容的 AI 回答;流式输出路径 `.choices[0].delta.content`(stream)。
- 使用 `web` 命令获取网页搜索全部结果类型;输出路径 `.web.results[]`、`.news.results[]` 等。
- 使用 `news` 命令获取带 freshness 过滤的新闻文章;输出路径 `.results[] -> {title, url, age}`。
- 使用 `images` 命令搜索图片;输出路径 `.results[] -> {title, url, thumbnail.src}`。
- 使用 `videos` 命令搜索视频;输出路径 `.results[] -> {title, url, video.duration}`。
- 使用 `places` 命令搜索本地地点/POI;输出路径 `.results[] -> {title, postal_address}`。
- 使用 `suggest` 命令获取自动补全/查询建议;输出路径 `.results[] -> {query}`。
- 使用 `spellcheck` 命令对查询做拼写检查;输出路径 `.results[0].query`。
- 使用 `config` 管理 API key 和设置:`set-key`、`show-key`、`path`、`show`。
- 控制 context 输出 token 总量:`--maximum-number-of-tokens` / `--max-tokens`,默认 8192,范围 1024-32768。
- 控制每个 URL token 上限:`--maximum-number-of-tokens-per-url` / `--max-tokens-per-url`,默认 4096,范围 512-8192。
- 控制 URL 数量:`--maximum-number-of-urls` / `--max-urls`,默认 20,范围 1-50。
- 控制所有 URL 的 snippets 总数:`--maximum-number-of-snippets` / `--max-snippets`,默认 50。
- 控制每个 URL 的 snippets 数:`--maximum-number-of-snippets-per-url` / `--max-snippets-per-url`。
- 控制相关性阈值:`--context-threshold-mode` / `--threshold`,默认 `balanced`,可选 `strict`、`balanced`、`lenient`。
- 组合 token 预算示例:`bx "topic" --max-tokens 4096 --max-tokens-per-url 1024 --max-urls 5 --threshold strict`。
- 用 Goggles 控制来源:提升官方文档、压制 SEO 垃圾、构建聚焦搜索范围;支持 `context`、`web`、`news`。
- 域名快捷方式:`--include-site` 白名单,只保留指定域名;`--exclude-site` 黑名单,排除指定域名;`--include-site`、`--exclude-site`、`--goggles` 互斥。
- 域名白名单示例:`bx "rust axum" --include-site docs.rs --include-site github.com`。
- 域名黑名单示例:`bx "python tutorial" --exclude-site example.com`。
- 使用内联 Goggles 规则:`bx "axum middleware tower" --goggles '$boost=5,site=docs.rs $boost=3,site=github.com /docs/$boost=5 /blog/$downrank=3' --max-tokens 4096`。
- 使用白名单模式 Goggles:`bx "Python asyncio patterns" --goggles '$discard $boost,site=docs.python.org $boost,site=peps.python.org'`。
- Goggles DSL:`$boost=N,site=DOMAIN` 提升域名,N=1-10。
- Goggles DSL:`$downrank=N,site=DOMAIN` 降权域名,N=1-10。
- Goggles DSL:`$discard,site=DOMAIN` 完全移除域名。
- Goggles DSL:`/path/$boost=N` 提升匹配 URL 路径。
- Goggles DSL:通用 `$discard` 作为第一条规则时启用白名单模式,丢弃未匹配项。
- Goggles 规则用换行分隔;完整 DSL 见 goggles-quickstart。
- 通过 stdin 管道传入 Goggles 规则:`echo '$boost=5,site=docs.rs $boost=5,site=crates.io $boost=3,site=github.com' | bx "axum middleware" --goggles @- --max-tokens 4096`。
- 用 `@/path/to/file` 复用 Goggle 文件。
- 调试报错示例:`bx "Python TypeError cannot unpack non-iterable NoneType" --max-tokens 4096`。
- 纠正性 RAG loop 第 1 步:宽泛搜索 `bx "axum middleware authentication" --max-tokens 4096`。
- 纠正性 RAG loop 第 2 步:结果太泛时,用 strict 阈值收窄 `bx "axum middleware tower layer authentication example" --threshold strict --max-tokens 4096`。
- 纠正性 RAG loop 第 3 步:仍需综合时,请求回答 `bx answers "how to implement JWT auth middleware in axum" --enable-research`。
- 升级前检查破坏性变更:`bx "Next.js 15 breaking changes migration guide" --max-tokens 8192`,再用 `bx news "Next.js 15 release" --freshness pm`。
- 程序化使用非流式 answers:`bx answers "compare SQLx and Diesel for Rust" --no-stream`。
- 通过 stdin 传 OpenAI 兼容 JSON body 给 answers:`echo '{"messages":[{"role":"user","content":"what are the OWASP top 10 vulnerabilities for web APIs"}]}' | bx answers -`。
- 退出码 0:成功,处理结果。
- 退出码 1:客户端错误(bad request),修正查询/参数。
- 退出码 2:用法错误(bad flags),修正 CLI 参数。
- 退出码 3:认证/权限错误(401/403),检查 API key:`bx config show-key`。
- 退出码 4:被限流(429),延迟后重试。
- 退出码 5:服务器/网络错误,用退避重试。
- 适用 AI agents/编码助手:一次调用完成搜索并得到 token 预算内、RAG-ready 内容,替代搜索+抓取+抽取。
- 事实核查:用 `bx "query" --threshold strict` 根据当前网页内容验证声明。
- 文档查询:用 `--include-site` 或 Goggles 域名提升搜索官方文档。
- 研究:用 `bx answers "topic" --enable-research` 做深度多源研究。
- 调试:直接搜索错误消息和堆栈跟踪。
- 新闻监控:用 `bx news "query" --freshness pd` 追踪主题。
- 本地搜索:用 `bx places "query" --location "city"` 查找商家和地点。
- 所有输出到 stdout 都是 JSON;错误到 stderr。
- 全局 flags:`--api-key KEY`、`--timeout SECS`(默认 30)、`--extra KEY=VALUE`(可重复,添加任意 API 参数)。
- 位置感知:`context` 和 `web` 支持 `--lat`、`--long`、`--city`、`--state`、`--state-name`、`--loc-country`、`--postal-code`、`--timezone`。
- 研究模式 `bx answers --enable-research` 可能需要最多 5 分钟;相应设置客户端超时。
- 查看帮助:`bx --help` 查看所有命令;`bx <command> --help` 查看每个命令的 flags。
- 解析默认 `bx "query"` 输出:JSON 含 `grounding.generic[]`(每项 `{url, title, snippets[]}`)和 `sources`(按 URL 记录 title/hostname/age)。
- 解析 `bx answers "query" --no-stream`:单 JSON 响应,内容在 `.choices[0].message.content`。
- 解析 `bx answers "query"`:默认流式,每行一个 JSON chunk,内容在 `.choices[0].delta.content`。
- 解析 `bx web "query"`:JSON 含 `.web.results[]`、`.news.results[]`、`.videos.results[]`、`.discussions.results[]`。
适用边界 · 注意事项
- 没有 Brave Search API Key、无法安装 bx,或网络不能访问 Brave Search API 时不要用。
- 需要完全离线、不能把查询发送给第三方搜索 API,或需要浏览器交互/登录后才能访问内容时不要用。
- 已有其他等效搜索/抓取工具且不打算配置 Brave 套餐时,不要引入 bx。