MCPcopy Index your code
hub / github.com/epiral/bb-browser

github.com/epiral/bb-browser @v0.14.0 sqlite

repository ↗ · DeepWiki ↗ · release v0.14.0 ↗
438 symbols 1,131 edges 68 files 77 documented · 18%
README

bb-browser

坏孩子浏览器 BadBoy Browser

你的浏览器就是 API。不需要密钥,不需要爬虫,不需要模拟。

npm Node.js License

English · 中文


你已经登录了微博、知乎、B站、小红书、Twitter、GitHub、LinkedIn — bb-browser 让 AI Agent 直接用你的登录态

bb-browser site twitter/search "AI agent"       # 搜索推文
bb-browser site zhihu/hot                        # 知乎热榜
bb-browser site arxiv/search "transformer"       # 搜论文
bb-browser site eastmoney/stock "茅台"            # 实时股票行情
bb-browser site boss/search "AI 工程师"           # 搜职位
bb-browser site wikipedia/summary "Python"       # 维基百科摘要
bb-browser site youtube/transcript VIDEO_ID      # YouTube 字幕全文
bb-browser site stackoverflow/search "async"     # 搜 StackOverflow

36 个平台,103 个命令,全部用你真实浏览器的登录态。 完整列表 →

核心理念

互联网是为浏览器构建的。AI Agent 一直试图通过 API 访问它 — 但 99% 的网站不提供 API。

bb-browser 翻转了这个逻辑:不是让网站适配机器,而是让机器使用人的界面。 adapter 在你的浏览器 tab 里跑 eval,用你的 Cookie 调 fetch(),或者直接调用页面的 webpack 模块。网站以为是你在操作。因为就是你

Playwright / Selenium 爬虫库 bb-browser
浏览器 无头、隔离环境 没有浏览器 你的真实 Chrome
登录态 没有,要重新登录 偷 Cookie 已经在了
反爬检测 容易被识别 猫鼠游戏 无法检测 — 它就是用户
复杂鉴权 无法复制 需要逆向 页面自己处理

快速开始

安装

npm install -g bb-browser

使用

bb-browser site update        # 拉取社区适配器
bb-browser site recommend     # 看看哪些和你的浏览习惯匹配
bb-browser site zhihu/hot     # 开搞

OpenClaw(无需安装扩展)

如果你使用 OpenClaw,bb-browser 可以直接通过 OpenClaw 内置浏览器运行,不需要额外安装 Chrome 扩展或 daemon:

bb-browser site reddit/hot --openclaw
bb-browser site xueqiu/hot-stock 5 --openclaw --jq '.items[] | {name, changePercent}'

ClawHub Skill: bb-browser-openclaw

MCP 接入(Claude Code / Cursor)

{
  "mcpServers": {
    "bb-browser": {
      "command": "npx",
      "args": ["-y", "bb-browser", "--mcp"]
    }
  }
}

36 个平台,103 个命令

社区驱动,通过 bb-sites 维护。每个命令一个 JS 文件。

类别 平台 命令
搜索引擎 Google、百度、Bing、DuckDuckGo、搜狗微信 search
社交媒体 Twitter/X、Reddit、微博、小红书、即刻、LinkedIn、虎扑 search、feed、thread、user、notifications、hot
新闻资讯 BBC、Reuters、36氪、今日头条、东方财富 headlines、search、newsflash、hot
技术开发 GitHub、StackOverflow、HackerNews、CSDN、博客园、V2EX、Dev.to、npm、PyPI、arXiv search、issues、repo、top、thread、package
视频平台 YouTube、B站 search、video、transcript、popular、comments、feed
影音娱乐 豆瓣、IMDb、Genius、起点中文网 movie、search、top250
财经股票 雪球、东方财富、Yahoo Finance stock、hot-stock、feed、watchlist、search
求职招聘 BOSS直聘、LinkedIn search、detail、profile
知识百科 Wikipedia、知乎、Open Library search、summary、hot、question
消费购物 什么值得买 search
实用工具 有道翻译、GSMArena、Product Hunt、携程 translate、手机参数、热门产品

10 分钟,CLI 化任何网站

bb-browser guide    # 完整教程

跟你的 AI Agent 说:「帮我把 XX 网站 CLI 化」。它会读 guide,用 network --with-body 抓包逆向,写 adapter,测试,然后提 PR 到社区仓库。全程自动。

三种 adapter 复杂度:

层级 认证方式 代表 耗时
Tier 1 Cookie(直接 fetch) Reddit、GitHub、V2EX ~1 分钟
Tier 2 Bearer + CSRF token Twitter、知乎 ~3 分钟
Tier 3 Webpack 注入 / Pinia store Twitter 搜索、小红书 ~10 分钟

实测:20 个 AI Agent 并发运行,每个独立逆向一个网站并产出可用的 adapter。 将一个新网站纳入 Agent 可访问范围的边际成本趋近于零。

对 AI Agent 意味着什么

没有 bb-browser,AI Agent 的世界是:文件系统 + 终端 + 少数有 API key 的服务。

有了 bb-browser:文件系统 + 终端 + 整个互联网。

一个 Agent 现在可以在一分钟内:

# 跨平台调研任何话题
bb-browser site arxiv/search "retrieval augmented generation"
bb-browser site twitter/search "RAG"
bb-browser site github search rag-framework
bb-browser site stackoverflow/search "RAG implementation"
bb-browser site zhihu/search "RAG"
bb-browser site 36kr/newsflash

六个平台,六个维度,结构化 JSON。比任何人类研究员都快、都广。

同时也是完整的浏览器自动化工具

bb-browser open https://example.com
bb-browser snapshot -i                # 可访问性树
bb-browser click @3                   # 点击元素
bb-browser fill @5 "hello"            # 填写输入框
bb-browser eval "document.title"      # 执行 JS
bb-browser fetch URL --json           # 带登录态的 fetch
bb-browser network requests --with-body --json  # 抓包
bb-browser screenshot                 # 截图

所有命令支持 --json 输出、--jq <expr> 内联过滤、和 --tab <id> 多标签页并发操作。

bb-browser site xueqiu/hot-stock 5 --jq '.items[] | {name, changePercent}'
# {"name":"云天化","changePercent":"2.08%"}
# {"name":"东芯股份","changePercent":"-7.60%"}

bb-browser site info xueqiu/stock   # 查看 adapter 参数、示例、域名

Daemon 配置

Daemon 默认绑定 127.0.0.1:19824,可通过 --host 自定义监听地址:

bb-browser daemon --host 127.0.0.1    # 仅 IPv4(解决 macOS IPv6 问题)
bb-browser daemon --host 0.0.0.0      # 监听所有网卡(用于 Tailscale / ZeroTier 跨机器访问)

架构

AI Agent (Claude Code, Codex, Cursor 等)
       │ CLI 或 MCP (stdio)
       ▼
bb-browser CLI ──HTTP──▶ Daemon ──CDP WebSocket──▶ 你的真实浏览器
                           │
                    ┌──────┴──────┐
                    │ Per-tab     │
                    │ 事件缓存    │
                    │ (network,   │
                    │  console,   │
                    │  errors)    │
                    └─────────────┘

许可证

MIT

Extension points exported contracts — how you extend this code

ArgDef (Interface)
Adapter 参数定义
packages/cli/src/commands/site.ts
TraceEntryBase (Interface)
Base fields shared by all trace entries
packages/shared/src/protocol.ts
DaemonOptions (Interface)
(no doc)
packages/daemon/src/index.ts
SiteMeta (Interface)
Adapter 元数据
packages/cli/src/commands/site.ts
ParamDef (Interface)
(no doc)
packages/shared/src/commands.ts
DaemonInfo (Interface)
(no doc)
packages/daemon/src/index.ts
ParsedArgs (Interface)
(no doc)
packages/cli/src/index.ts
CommandDef (Interface)
(no doc)
packages/shared/src/commands.ts

Core symbols most depended-on inside this repo

push
called by 84
packages/daemon/src/ring-buffer.ts
addTab
called by 70
packages/daemon/src/tab-state.ts
getNetworkRequests
called by 47
packages/daemon/src/tab-state.ts
ok
called by 46
packages/daemon/src/command-dispatch.ts
sendCommand
called by 38
packages/cli/src/client.ts
recordAction
called by 38
packages/daemon/src/tab-state.ts
sessionCommand
called by 34
packages/daemon/src/cdp-connection.ts
fail
called by 33
packages/daemon/src/command-dispatch.ts

Shape

Function 253
Method 91
Interface 78
Class 16

Languages

TypeScript100%

Modules by API surface

packages/daemon/src/hub-bridge.ts55 symbols
packages/daemon/src/tab-state.ts35 symbols
packages/daemon/src/command-dispatch.ts28 symbols
packages/daemon/src/cdp-connection.ts25 symbols
packages/daemon/src/chrome.ts21 symbols
packages/cli/src/commands/site.ts21 symbols
packages/shared/buildDomTree.js20 symbols
packages/shared/src/protocol.ts17 symbols
packages/daemon/src/http-server.ts14 symbols
packages/daemon/src/index.ts11 symbols
packages/daemon/src/site-adapter.ts9 symbols
packages/daemon/src/__tests__/daemon-lifecycle.test.ts9 symbols

Dependencies from manifests, versioned

@bb-browser/sharedworkspace:* · 1×
@bufbuild/protobuf2.11.0 · 1×
@connectrpc/connect-node2.1.1 · 1×
@eslint/js9.23.0 · 1×
@pinixai/hub-client0.2.0 · 1×
@types/node20.0.0 · 1×
ajv8.17.1 · 1×
ajv-formats3.0.1 · 1×
eslint9.23.0 · 1×
globals16.0.0 · 1×
husky9.1.7 · 1×

For agents

$ claude mcp add bb-browser \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact