Install
openclaw skills install @thcjp/brave-search-tool-freeopenclaw skills install @thcjp/brave-search-tool-free核心功能: 本技能提供中文交互、化工作流场景等能力。
本工具基于 Brave Search API 实现无头网页搜索与内容提取,无需启动浏览器,适合文档查询、事实查询与特定 URL 内容提取等任务。免费版面向个人用户,提供基础搜索、内容提取与结果数量配置能力。
| 场景 | 是否推荐本工具 |
|---|---|
| 搜索文档或 API 参考 | 推荐 |
| 查询事实或最新信息 | 推荐 |
| 从特定 URL 提取内容 | 推荐 |
| 需要交互式浏览(点击/填表) | 不推荐(改用浏览器自动化工具) |
以下场景Brave搜索工具-免费版不适合处理:
需要SEO优化、关键词分析、排名提升、搜索流量优化时使用。不适用于非本工具能力范围的需求。
| 命令 | 说明 | 示例 |
|---|---|---|
search.js "query" | 基础搜索(默认5条) | ./search.js "Python asyncio" |
search.js "query" -n 10 | 指定结果数量 | ./search.js "query" -n 10 |
search.js "query" --content | 包含页面内容 | ./search.js "query" --content |
content.js <url> | 提取URL内容 | ./content.js https://example.com/article |
输出: 返回命令总览的执行结果,包含操作状态和输出数据。
用input_params参数进行配置。
输出: 返回核心功能执行的执行结果,包含操作状态和输出数据。
input_params参数,支持创建/查询/导出操作用config_options参数进行配置。
输出: 返回参数配置与调用的执行结果,包含操作状态和输出数据。
config_options参数,支持修改/重置/导入操作
能力覆盖范围:本skill的核心能力覆盖以下场景关键词:Brave、API、的网页搜索与内容、提取工具、无需浏览器、适合个人用户、的无头网页搜索与、内容提取工具、无需启动浏览器、支持基础搜索、内容提取与结果数、量配置、核心能力、无头网页搜索、页面内容提取、Markdown、结果数量配置、干净的输出格式等。这些关键词对应description中声明的使用场景,均已在上述能力点中提供对应的操作支持。开发者需要查找某个 API 的用法或文档。
# 基础搜索(5条结果)
./search.js "Python asyncio gather 用法"
# 获取更多结果
./search.js "Python asyncio gather 用法" -n 10
# 包含页面内容(Markdown格式)
./search.js "Python asyncio gather 用法" --content
查询某个事实或最新动态。
# 查询事实
./search.js "Python 3.12 新特性"
# 查询最新信息
./search.js "2026 年 AI 智能体最新进展" -n 10
已知 URL,提取页面内容为 Markdown 格式。
# 提取页面内容
./content.js https://example.com/article
# 提取并保存
./content.js https://example.com/article > article.md
# 进入工具目录,安装依赖
cd /path/to/brave-search-tool
npm ci
# 配置 API Key
export BRAVE_API_KEY="${API_KEY:?请设置环境变量}"
# 基础搜索(5条结果)
./search.js "查询词"
# 指定结果数量
./search.js "查询词" -n 10
# 包含页面内容
./search.js "查询词" --content
# 组合使用
./search.js "查询词" -n 3 --content
# 从 URL 提取内容(转为 Markdown)
./content.js https://example.com/article
--- 结果 1 ---
标题: 网页标题
链接: https://example.com/page
摘要: 来自搜索结果的描述
内容: (使用 --content 标志时显示)
从页面提取的 Markdown 内容...
--- 结果 2 ---
标题: 网页标题
链接: https://example.com/page
摘要: 来自搜索结果的描述
...
# 基础搜索
./search.js "React hooks"
# 更多结果
./search.js "React hooks" -n 10
# 带内容
./search.js "React hooks" --content
# 精简结果 + 内容
./search.js "React hooks" -n 3 --content
# Brave API Key(必需)
# 可选:默认结果数量
export BRAVE_SEARCH_DEFAULT_COUNT=5
#!/bin/bash
# advanced-search.sh - 进阶搜索工作流示例
# 1. 先用 search.js 找到相关 URL
echo "=== 领先步:关键词搜索 ==="
./search.js "Python 异步编程教程" -n 5
# 2. 从结果中选取重要 URL,用 content.js 提取全文
echo "=== 第二步:内容提取 ==="
./content.js https://example.com/python-async-tutorial > tutorial.md
echo "内容已保存到 tutorial.md"
# 3. 多次搜索,覆盖不同角度
echo "=== 第三步:多角度搜索 ==="
./search.js "Python asyncio 入门" -n 3
./search.js "Python asyncio 进阶" -n 3
./search.js "Python asyncio 常见问题" -n 3
# 4. 搜索结果归档
echo "=== 第四步:归档结果 ==="
./search.js "Python 异步编程" --content > "archive/python-async-$(date +%Y%m%d).txt"
echo "已归档到 archive/python-async-$(date +%Y%m%d).txt"
# 提取搜索结果中的所有 URL
./search.js "AI 智能体" -n 10 | grep "链接:" | awk '{print $2}'
# 批量提取多个 URL 的内容
for url in $(./search.js "Python 教程" -n 5 | grep "链接:" | awk '{print $2}'); do
echo "=== $url ==="
./content.js "$url" | head -50
echo ""
done
--content:仅需摘要时不带 --content,需全文时才带。content.js:先用 search.js 找到相关 URL,再用 content.js 提取全文。BRAVE_API_KEY 是否正确配置--content 提取的内容不完整?免费版提供核心搜索与内容提取能力,结果数量无特殊限制(受 API 配额约束)。如需批量搜索、结果缓存、搜索历史、并发查询等高阶能力,请升级至专业版。
| 依赖项 | 类型 | 是否必需 | 获取方式 |
|---|---|---|---|
| search.js | 脚本工具 | 必需 | 随 Skill 安装 |
| content.js | 脚本工具 | 必需 | 随 Skill 安装 |
| Node.js | 运行环境 | 必需 | 系统包管理器安装 |
| npm 依赖包 | Node 包 | 必需 | npm ci 安装 |
| Brave Search API | 数据源 | 必需 | Brave Search API 订阅 |
| BRAVE_API_KEY | API Key | 必需 | Brave Search API 控制台获取 |
| LLM API | API | 必需 | 由Agent内置LLM提供 |
| 错误场景 | 原因 | 处理方式 |
|---|---|---|
| 配置错误 | 参数缺失或格式错误 | 检查依赖说明中的配置要求 |
| 运行时错误 | 运行环境不满足 | 确认运行环境符合依赖说明 |
| 网络错误 | 连接超时或不可达 | 执行ping命令测试网络连通性,检查防火墙和代理设置连接后执行ping命令测试网络连通性,检查防火墙和代理设置连接后重新执行命令,参考国内替代方案 |
| 风险类型 | 防范措施 |
|---|---|
| API密钥泄露 | 通过环境变量配置,禁止硬编码到代码或配置文件中 |
| 命令执行风险 | 仅执行白名单命令,避免拼接用户输入到命令行参数中 |
| 网络通信安全 | 使用HTTPS协议,验证SSL证书有效性 |
| 敏感数据暴露 | 输出结果中不包含密钥、令牌等敏感信息 |
使用前请确认已阅读依赖说明章节,确保运行环境满足安全要求。
| 操作场景 | 手动耗时 | 自动化耗时 | 效率提升 |
|---|---|---|---|
| 文件解析与提取 | 5-10分钟/个 | <5秒/个 | 60-120x |
| 批量文件处理(100个) | 8-16小时 | <5分钟 | 96-192x |
| API调用与响应解析 | 2-3分钟/次 | <1秒/次 | 120-180x |
| 多接口数据聚合 | 15-30分钟 | <10秒 | 90-180x |
| 命令执行与结果收集 | 3-5分钟/次 | <2秒/次 | 90-150x |
| 重复任务批量执行 | 因任务而异 | 线性缩减 | 5-50x |
| 错误排查与修复 | 10-30分钟 | <30秒 | 20-60x |
| 对比维度 | 本技能 | 传统手动方式 | 通用脚本工具 |
|---|---|---|---|
| 自动化程度 | 全流程自动 | 完全手动 | 部分自动 |
| 错误处理 | 内置错误恢复 | 依赖人工经验 | 基本try-catch |
| 可复用性 | 参数化配置 | 一次性脚本 | 模板化 |
| 安全合规 | 内置安全检查 | 无安全保障 | 无安全保障 |
| 适用场景 | 核心功能 | 通用场景 | 通用场景 |