核心用法
本技能提供完整的 Brave Search API 配置与网络代理排障方案,主要面向 macOS 用户解决 OpenClaw 的 web_search 和 web_fetch 工具连接问题。
配置流程:
1. API 密钥设置:通过 openclaw gateway config.patch 或编辑 ~/.openclaw/openclaw.json 注入 Brave Search API key
2. 连通性测试:执行 openclaw web.search --query "test" 验证基础功能
3. 代理诊断:检测 Clash/V2Ray/Surge 端口(7890/7897/1080 等),使用 launchctl setenv 设置系统级代理变量
4. 网关重启:必须重启 OpenClaw gateway 进程以加载代理环境变量
5. 功能验证:同时测试 web.search 与 web.fetch 确保双通路正常
关键命令矩阵:
| 场景 | 命令 |
|------|------|
| 快速配置 API | `config.patch --raw '{"tools":{"web":{"search":{"apiKey":"..."}}}}'` || 持久化代理 | `launchctl setenv HTTPS_PROXY http://127.0.0.1:7897` |
| 网关重启 | `openclaw gateway restart` 或 `kill -USR1 $(pgrep -f "openclaw gateway")` |
| 端口探测 | `nc -z 127.0.0.1 $port` 循环测试 |
显著优点
- 场景针对性强:专为 "fetch failed" 错误设计,覆盖 GFW 环境下最常见的 Clash 代理配置痛点
- 多层级解决方案:提供 session 级(export)、系统级(launchctl)、永久级(.zshrc)三种代理注入方式
- 诊断链条完整:从 API 配置 → 代理检测 → 环境变量 → 进程重启形成闭环排障
潜在缺点与局限性
- 平台局限:代理配置章节重度依赖 macOS 生态(launchctl、Clash Verge 路径),Linux/Windows 用户需自行适配
- 工具绑定:紧密耦合 OpenClaw CLI 特定命令结构,不适用于其他 LLM 工具链
- 代理客户端假设:预设用户使用 Clash/Surge/V2Ray 主流方案,小众代理工具缺乏覆盖
- 安全风险:明文 API key 存储于本地 JSON 文件,虽标注 "securely stored" 但未说明加密机制
- 重启依赖:必须重启 gateway 进程才能生效,可能影响正在进行的长任务
适合人群
- macOS + OpenClaw 用户遭遇 "fetch failed" 错误
- 需要通过代理访问 Brave Search API 的中国大陆开发者
- 熟悉命令行但需快速参考代理端口映射的技术用户
常规风险
| 风险类型 | 说明 | 缓解措施 |
|---------|------|---------|
| 密钥泄露 | API key 以明文写入配置文件 | 定期轮换密钥,限制 IP 白名单 |
| 代理绕过失败 | 部分工具不遵循 HTTPS_PROXY 变量 | 备选 proxychains-ng 方案已提供 |
| 配置持久化冲突 | launchctl 与 shell profile 设置冲突 | 统一使用 launchctl 并验证 `env` 输出 |
| 进程状态丢失 | gateway 重启中断正在执行的命令 | 选择低峰期操作或使用 SIGUSR1 热重载 |