Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
15 changes: 15 additions & 0 deletions .changeset/config.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
{
"$schema": "https://unpkg.com/@changesets/config@2.1.1/schema.json",
"commit": false,
"fixed": [],
"linked": [],
"baseBranch": "main",
"updateInternalDependencies": "patch",
"access": "public",
"changelog": [
"@changesets/changelog-github",
{
"repo": "browserbase/integrations"
}
]
}
5 changes: 5 additions & 0 deletions .changeset/openclaw-browserbase-migration.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"@browserbasehq/openclaw-browserbase": patch
---

Migrate the OpenClaw Browserbase package into the integrations monorepo.
50 changes: 50 additions & 0 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
name: Release

on:
push:
branches:
- main

permissions:
contents: write
pull-requests: write
id-token: write

concurrency: ${{ github.workflow }}-${{ github.ref }}

jobs:
release:
name: Release
runs-on: ubuntu-latest
steps:
- name: Checkout Repo
uses: actions/checkout@v4
with:
fetch-depth: 0

- name: Setup pnpm
uses: pnpm/action-setup@v4

- name: Setup Node.js 24.x
uses: actions/setup-node@v6
with:
node-version: 24.x
registry-url: "https://registry.npmjs.org"

- name: Update npm for Trusted Publishing
run: npm install -g npm@latest

- name: Install dependencies
run: pnpm install --no-frozen-lockfile

- name: Build packages
run: pnpm run build:packages

- name: Create Release Pull Request or Publish to npm
id: changesets
uses: changesets/action@v1
with:
publish: pnpm run release
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
NPM_CONFIG_PROVENANCE: true
3 changes: 2 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,7 @@ integrations/
│ ├── temporal/ # Temporal workflow orchestration
│ ├── trigger/ # Trigger.dev background jobs & automation
│ └── vercel/ # Vercel integrations
├── packages/ # Published npm packages
└── README.md
```

Expand Down Expand Up @@ -86,4 +87,4 @@ This project is licensed under the MIT License. See individual integration direc

---

**Built with ❤️ by the Browserbase team**
**Built with ❤️ by the Browserbase team**
8 changes: 7 additions & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -9,10 +9,14 @@
"node": ">=18.0.0"
},
"scripts": {
"build:packages": "pnpm -r --filter './packages/*' run build",
"changeset": "changeset",
"lint": "eslint .",
"lint:fix": "eslint . --fix",
"format": "prettier --write .",
"format:check": "prettier --check ."
"format:check": "prettier --check .",
"version-packages": "changeset version",
"release": "pnpm run build:packages && changeset publish"
},
"keywords": [
"browserbase",
Expand All @@ -25,6 +29,8 @@
"author": "Browserbase Team",
"license": "MIT",
"devDependencies": {
"@changesets/changelog-github": "^0.5.0",
"@changesets/cli": "^2.27.9",
"@eslint/js": "^9.14.0",
"@types/node": "^25.0.9",
"eslint": "^10.1.0",
Expand Down
21 changes: 21 additions & 0 deletions packages/openclaw-browserbase/LICENSE
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
MIT License

Copyright (c) 2026 Browserbase

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
87 changes: 87 additions & 0 deletions packages/openclaw-browserbase/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,87 @@
# @browserbasehq/openclaw-browserbase

Browserbase plugin for OpenClaw (with legacy ClawdBot compatibility).

It provides:

- interactive Browserbase credential setup,
- config status/env helpers,
- dynamic skill sync from `github:browserbase/skills`.

## Install

```bash
openclaw plugins install @browserbasehq/openclaw-browserbase
```

For local development:

```bash
openclaw plugins install -l .
```

## Setup

```bash
openclaw browserbase setup
```

By default setup will also sync Browserbase skills from `browserbase/skills` into
`~/.openclaw/skills`.

You can manage skill sync directly:

```bash
openclaw browserbase skills status
openclaw browserbase skills sync
openclaw browserbase skills sync --ref main
openclaw browserbase skills sync --dir ~/.openclaw/skills
```

## Commands

```bash
openclaw browserbase setup # prompt for API key + project ID
openclaw browserbase status # show configuration status
openclaw browserbase status --json # machine-readable status
openclaw browserbase env --format shell # export commands
openclaw browserbase env --format dotenv # dotenv output
openclaw browserbase env --format json # JSON output
openclaw browserbase where # config file path used
openclaw browserbase skills status # check dynamic skills sync status
openclaw browserbase skills sync # download/update skills from browserbase/skills
```

Legacy CLI alias support remains:

```bash
clawdbot browserbase setup
```

## Dynamic skills behavior

OpenClaw installs plugins with lifecycle scripts disabled, so plugin install hooks are not a reliable place to fetch remote skill files.

This plugin instead syncs skills during setup and (optionally) on startup when missing:

- `browser-automation`
- `functions`

Source of truth: [https://github.com/browserbase/skills](https://github.com/browserbase/skills)

## Development

```bash
pnpm install
pnpm run check-types
pnpm test
```

## References

- OpenClaw Skills: https://docs.openclaw.ai/tools/skills
- OpenClaw Skills Config: https://docs.openclaw.ai/tools/skills-config
- OpenClaw Plugin System: https://docs.openclaw.ai/tools/plugin
- OpenClaw Plugin Manifest: https://docs.openclaw.ai/plugins/manifest
- Browserbase skills reference: https://github.com/browserbase/skills
- Example plugin reference: https://github.com/pepicrft/clawd-plugin-ralph
47 changes: 47 additions & 0 deletions packages/openclaw-browserbase/openclaw.plugin.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
{
"id": "browserbase",
"name": "Browserbase",
"description": "Browse the web with anti-bot stealth, automatic CAPTCHA solving, and residential proxies. Automates browser interactions via natural language with full JavaScript rendering.",
"version": "0.1.0",
"kind": "tool",
"uiHints": {
"apiKey": {
"label": "Browserbase API Key",
"sensitive": true,
"placeholder": "bb_...",
"help": "Get your key from browserbase.com/settings or use ${BROWSERBASE_API_KEY}."
},
"projectId": {
"label": "Browserbase Project ID",
"placeholder": "proj_...",
"help": "Get your project ID from browserbase.com/settings or use ${BROWSERBASE_PROJECT_ID}."
},
"baseUrl": {
"label": "Browserbase API Base URL",
"placeholder": "https://api.browserbase.com",
"advanced": true
},
"promptOnStart": {
"label": "Prompt On Startup",
"help": "Prompt interactively for credentials if missing (TTY only).",
"advanced": true
},
"autoSyncSkills": {
"label": "Auto Sync Skills",
"help": "Automatically sync browser-automation/functions skills from github:browserbase/skills when missing.",
"advanced": true
}
},
"configSchema": {
"type": "object",
"additionalProperties": false,
"properties": {
"apiKey": { "type": "string" },
"projectId": { "type": "string" },
"baseUrl": { "type": "string" },
"promptOnStart": { "type": "boolean" },
"autoSyncSkills": { "type": "boolean" }
},
"required": []
}
}
57 changes: 57 additions & 0 deletions packages/openclaw-browserbase/package.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
{
"name": "@browserbasehq/openclaw-browserbase",
"version": "0.1.0",
"description": "OpenClaw plugin for cloud browser automation with anti-bot stealth, CAPTCHA solving, and residential proxies via Browserbase",
"packageManager": "pnpm@10.21.0",
"type": "module",
"main": "dist/index.js",
"scripts": {
"build": "tsc",
"check-types": "tsc --noEmit"
},
"publishConfig": {
"access": "public"
},
"files": [
"dist",
"src",
"types",
"openclaw.plugin.json"
],
"keywords": [
"openclaw",
"plugin",
"browserbase",
"browser",
"automation",
"web-scraping",
"captcha",
"anti-bot",
"stealth",
"proxy",
"headless-browser",
"ai-agent"
],
"author": "Browserbase",
"license": "MIT",
"repository": {
"type": "git",
"url": "https://github.com/browserbase/integrations.git",
"directory": "packages/openclaw-browserbase"
},
"peerDependencies": {
"openclaw": ">=2026.1.29"
},
"openclaw": {
"extensions": [
"./src/index.ts"
]
},
"devDependencies": {
"@types/node": "^24.3.1",
"typescript": "^5.9.3"
},
"dependencies": {
"tar": "^7.5.9"
}
}
Loading