核心用法
browser-web-search(简称BWS)是一个专为AI Agent设计的浏览器自动化搜索工具,通过统一命令行接口封装了55个主流内容平台的91+个搜索命令。用户通过bws site <adapter>语法即可搜索头条、知乎、GitHub、Hacker News、YouTube等平台,返回结构化JSON数据,支持--jq过滤提取字段。
核心工作流程:OpenClaw/AI Agent → Skill配置 → bws CLI → OpenClaw浏览器 → 目标网站。关键特性包括零配置开箱即用(复用浏览器登录态,无需API Key)、AI原生设计(结构化JSON输出,天然适配LLM工具调用)、四层安全闸门(PUBLIC_ONLY硬隔离/Tier封印/调用级opt-in/平台同意账本)。
---
显著优点
平台覆盖全面:55个平台涵盖国内(知乎、豆瓣、小红书、B站等30个)与国际(GitHub、Reddit、arXiv、Stack Overflow等25个)主流内容源,新闻、社交媒体、代码、论文、视频等多模态内容一网打尽。
AI工作流友好:JSON输出直接可被LLM解析,--jq过滤避免数据过载,支持--count/--sort/--limit等参数精细控制,是构建RAG、内容监控、竞品分析Agent的理想工具。
权限模型精细:v0.4.4+引入"sensitive tier默认封印",敏感适配器(涉及私信、个人资料等账户保护内容)需显式四层授权;v0.4.10新增平台同意账本(site, pkgVersion, entrySha512)绑定,升级自动失效防静默突破。
供应链安全加固:Launcher强制SHA-512完整性校验(dist/index.js固定22871字节,哈希值硬编码),无env旁路;symlink劫持防护;默认禁用CWD/launcher-local加载,防path-pivoting。
透明性与可审计:每次敏感调用强制stderr输出[bws] transparency:{...} JSON行,暴露第三方包名、审计SHA-512、闸门路径、同意账本状态;--dry-run模式允许CI/Agent零风险验证权限;~/.bws/audit.log记录元数据决策链。
---
潜在缺点与局限性
第三方包固有信任假设:核心功能依赖npm包browser-web-search@0.4.3,虽经SHA-512锁定,但代码在页面上下文中执行时理论上可访问该标签页全部可见数据(私信、收藏、订单等)。Launcher无法约束包内JS行为,只能控制调用参数——这是"inherent third-party dependency handling sensitive session data"的残留风险。
浏览器session越权不可消除:一旦import执行,包内JS拥有OpenClaw session的完整执行权,可能越界访问其他已打开标签。唯一硬隔离手段是独立Chrome profile + BWS_PUBLIC_ONLY=1,使用成本较高。
敏感适配器操作复杂:访问微信、小红书、微博等需登录态平台,需手动设置BWS_ENABLE_SENSITIVE_TIER=1 + BWS_ALLOW_SENSITIVE=1(或--i-understand-sensitive)+ 首次--accept-platform-consent,三层环境变量+命令行flag组合对自动化场景不够友好。
npm生态供应链风险:若npm registry上0.4.3 tarball被重新发布(不可变性破坏),新安装会拉取篡改版本。需自建内部registry缓存审计版本,增加运维负担。
网络依赖与稳定性:依赖OpenClaw浏览器自动化,页面结构变更可能导致适配器失效;部分平台(如X、LinkedIn)有反爬机制,稳定性逊于官方API。
---
适合人群
- AI Agent开发者:构建需要实时多源信息检索的LLM应用,替代昂贵/受限的官方API
- 内容运营与分析师:监控竞品动态、热点趋势、舆情声量,跨平台一键聚合
- 研究人员:快速检索arXiv、GitHub、Stack Overflow学术与技术资源
- 自动化工作流工程师:将搜索能力嵌入CI/CD、定时任务、聊天机器人
不适合:对数据隔离有极高要求的企业环境(金融、医疗)直接使用敏感适配器;无技术背景、无法审计npm包代码的用户。
---
常规风险
| 风险类型 | 等级 | 说明 |
|---------|------|------|
| 供应链篡改 | 中 | SHA-512锁定+symlink防护降低风险,但npm registry不可变性依赖外部信任 |
| 敏感数据泄露 | 高 | 包内JS可读取登录态页面全部可见内容,依赖用户审计与profile隔离 |
| 跨站数据访问 | 中 | Adapter设计意图为域名隔离,但无运行时强制,恶意代码可能突破 |
| 权限配置误用 | 中 | 多层env+flag组合易遗漏,可能意外开放敏感访问或导致调用失败 |
| 审计日志遗漏 | 低 | 仅记录元数据,payload/响应不记录,无法完全还原数据泄露范围 |
关键缓解措施:独立Chrome profile专用于OpenClaw;敏感操作后立即关闭标签;生产环境强制BWS_PUBLIC_ONLY=1;定期review ~/.bws/audit.log;将审计过的tarball缓存至私有registry。