`bb-browser --mcp` spawns the MCP server with stdio transport.
Users can configure AI tools with: npx -y bb-browser --mcp
Also fixes root tsup bundling to properly exclude ws while
bundling all other deps (MCP SDK, ajv, zod).
Bump version to 0.4.1.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- Bump version to 0.4.0
- Add MCP runtime deps (ajv, ajv-formats, @modelcontextprotocol/sdk)
- Bundle all deps in root tsup for npx compatibility
- Fix repo URL to epiral/bb-browser
- Add mcp keyword
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Replace broken `import("@bb-browser/daemon")` with `spawn(getDaemonPath())`
so `bb-browser daemon` works both in dev monorepo and npm install scenarios.
- Export getDaemonPath() from daemon-manager
- daemon command uses spawn with stdio: "inherit" for foreground mode
- Pass --host flag through to daemon process
Fixes#6, fixes#10
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- parseArgs: remove `&& !result.command` guard so --tab value is not
leaked into command args (e.g. network filter)
- site: respect --tab, stop calling tab_select (no foreground steal)
- fetch: stop calling tab_select (no foreground steal)
- site --json: wrap output in standard {id, success, data} envelope
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- README.md: English (default)
- README.zh-CN.md: Chinese
- Cross-linked via header
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- Rename narrative: bb = BadBoy Browser
- Tagline: "Your browser is the API. No keys. No bots. No scrapers."
- Add fetch, site, network --with-body to command reference
- Bilingual: English (default) + Chinese section
- Reframe positioning: not automation, not scraping — being the browser
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Via CDP Network.loadingFinished + Network.getResponseBody, capture:
- Request headers and body (POST data)
- Response headers, body, and mimeType
- Memory management: 256KB/response, 64KB/request, 8MB/tab total
- Eviction: oldest bodies removed first when over budget
- Graceful error handling: bodyError field for failed captures
This enables a new paradigm for site adapters: instead of reverse-engineering
API signing (like Xiaohongshu's X-s), just navigate to a page and read the
response bodies from requests the page already made with proper authentication.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- `bb-browser fetch <url>`: browser-native fetch with auto same-origin tab routing.
Like curl but with browser login state. No API keys, no anti-bot.
- `bb-browser recipe`: manage and run community/private fetch recipes.
- recipe list: scan ~/.bb-browser/recipes/ (local) and ~/.bb-browser/bb-recipes/ (community)
- recipe search <query>: keyword search across recipes
- recipe run <name> [args]: execute a recipe via eval
- recipe update: git clone/pull community recipes from epiral/bb-recipes
- recipe <name> [args]: shorthand for recipe run
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>