{"id":50773640,"url":"https://github.com/koltyakov/browser-bridge","last_synced_at":"2026-06-11T21:05:28.917Z","repository":{"id":348971994,"uuid":"1186680049","full_name":"koltyakov/browser-bridge","owner":"koltyakov","description":"🤖 Browser Bridge for Agentic AI Development - browser extension, MCP, and skilled CLI","archived":false,"fork":false,"pushed_at":"2026-05-26T22:34:29.000Z","size":1922,"stargazers_count":12,"open_issues_count":8,"forks_count":4,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-06-03T22:04:30.738Z","etag":null,"topics":["agent-tools","ai-agent","browser-automation","chrome-extension","developer-tools","local-first","mcp"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/koltyakov.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":"AGENTS.md","dco":null,"cla":null}},"created_at":"2026-03-19T22:04:03.000Z","updated_at":"2026-05-26T22:34:55.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/koltyakov/browser-bridge","commit_stats":null,"previous_names":["koltyakov/browser-bridge"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/koltyakov/browser-bridge","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/koltyakov%2Fbrowser-bridge","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/koltyakov%2Fbrowser-bridge/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/koltyakov%2Fbrowser-bridge/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/koltyakov%2Fbrowser-bridge/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/koltyakov","download_url":"https://codeload.github.com/koltyakov/browser-bridge/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/koltyakov%2Fbrowser-bridge/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34217502,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-11T02:00:06.485Z","response_time":57,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["agent-tools","ai-agent","browser-automation","chrome-extension","developer-tools","local-first","mcp"],"created_at":"2026-06-11T21:05:28.010Z","updated_at":"2026-06-11T21:05:28.912Z","avatar_url":"https://github.com/koltyakov.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Browser Bridge (BBX)\n\n![Browser Bridge (BBX): Connect AI Agent and Browsers](https://raw.githubusercontent.com/koltyakov/browser-bridge/main/assets/banner.jpg)\n\n\u003e **Chrome Web Store:** Install `Browser Bridge (BBX)` from the [Chrome Web Store](https://chromewebstore.google.com/detail/browser-bridge/jjjkmmcdkpcgamlopogicbnnhdgebhie). For local or custom builds, use the unpacked install flow in [docs/unpacked-extension.md](https://github.com/koltyakov/browser-bridge/blob/main/docs/unpacked-extension.md).\n\nA local bridge between your coding agent and a real Chrome tab. Browser Bridge gives the agent structured access to DOM, styles, layout, console, network, and reversible patches - starting from the actual tab you already have open, with all its real state intact.\n\nSee [Quickstart](https://github.com/koltyakov/browser-bridge/blob/main/docs/quickstart.md) to get started in another repo, or browse the rest of the guides in [docs/index.md](https://github.com/koltyakov/browser-bridge/blob/main/docs/index.md).\n\n## Supported Agents\n\nManaged installs support OpenAI Codex, Claude Code, Cursor, GitHub Copilot, OpenCode, Antigravity, Windsurf, and generic `.agents` layouts for both MCP and CLI skill setup.\n\n\u003ctable align=\"center\"\u003e\n  \u003ctr\u003e\n    \u003ctd align=\"center\" width=\"140\"\u003e\n      \u003ca href=\"https://openai.com/codex/\"\u003e\n        \u003cpicture\u003e\n          \u003csource media=\"(prefers-color-scheme: dark)\" srcset=\"https://unpkg.com/@lobehub/icons-static-png@latest/dark/codex.png\" /\u003e\n          \u003cimg src=\"https://unpkg.com/@lobehub/icons-static-png@latest/light/codex.png\" alt=\"OpenAI Codex\" style=\"width: 44px; height: 44px; object-fit: contain;\" /\u003e\n        \u003c/picture\u003e\n      \u003c/a\u003e\n    \u003c/td\u003e\n    \u003ctd align=\"center\" width=\"140\"\u003e\n      \u003ca href=\"https://claude.com/product/claude-code\"\u003e\n        \u003cpicture\u003e\n          \u003csource media=\"(prefers-color-scheme: dark)\" srcset=\"https://unpkg.com/@lobehub/icons-static-png@latest/dark/claude.png\" /\u003e\n          \u003cimg src=\"https://unpkg.com/@lobehub/icons-static-png@latest/light/claude.png\" alt=\"Claude Code\" style=\"width: 44px; height: 44px; object-fit: contain;\" /\u003e\n        \u003c/picture\u003e\n      \u003c/a\u003e\n    \u003c/td\u003e\n    \u003ctd align=\"center\" width=\"140\"\u003e\n      \u003ca href=\"https://cursor.com/\"\u003e\n        \u003cpicture\u003e\n          \u003csource media=\"(prefers-color-scheme: dark)\" srcset=\"https://unpkg.com/@lobehub/icons-static-png@latest/dark/cursor.png\" /\u003e\n          \u003cimg src=\"https://unpkg.com/@lobehub/icons-static-png@latest/light/cursor.png\" alt=\"Cursor\" style=\"width: 44px; height: 44px; object-fit: contain;\" /\u003e\n        \u003c/picture\u003e\n      \u003c/a\u003e\n    \u003c/td\u003e\n    \u003ctd align=\"center\" width=\"140\"\u003e\n      \u003ca href=\"https://github.com/features/copilot\"\u003e\n        \u003cpicture\u003e\n          \u003csource media=\"(prefers-color-scheme: dark)\" srcset=\"https://unpkg.com/@lobehub/icons-static-png@latest/dark/githubcopilot.png\" /\u003e\n          \u003cimg src=\"https://unpkg.com/@lobehub/icons-static-png@latest/light/githubcopilot.png\" alt=\"GitHub Copilot\" style=\"width: 44px; height: 44px; object-fit: contain;\" /\u003e\n        \u003c/picture\u003e\n      \u003c/a\u003e\n    \u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd align=\"center\"\u003eOpenAI Codex\u003c/td\u003e\n    \u003ctd align=\"center\"\u003eClaude Code\u003c/td\u003e\n    \u003ctd align=\"center\"\u003eCursor\u003c/td\u003e\n    \u003ctd align=\"center\"\u003eGitHub Copilot\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd align=\"center\" width=\"140\"\u003e\n      \u003ca href=\"https://opencode.ai/\"\u003e\n        \u003cpicture\u003e\n          \u003csource media=\"(prefers-color-scheme: dark)\" srcset=\"https://unpkg.com/@lobehub/icons-static-png@latest/dark/opencode.png\" /\u003e\n          \u003cimg src=\"https://unpkg.com/@lobehub/icons-static-png@latest/light/opencode.png\" alt=\"OpenCode\" style=\"width: 44px; height: 44px; object-fit: contain;\" /\u003e\n        \u003c/picture\u003e\n      \u003c/a\u003e\n    \u003c/td\u003e\n    \u003ctd align=\"center\" width=\"140\"\u003e\n      \u003ca href=\"https://antigravity.google/\"\u003e\n        \u003cpicture\u003e\n          \u003csource media=\"(prefers-color-scheme: dark)\" srcset=\"https://unpkg.com/@lobehub/icons-static-png@latest/dark/antigravity.png\" /\u003e\n          \u003cimg src=\"https://unpkg.com/@lobehub/icons-static-png@latest/light/antigravity.png\" alt=\"Antigravity\" style=\"width: 44px; height: 44px; object-fit: contain;\" /\u003e\n        \u003c/picture\u003e\n      \u003c/a\u003e\n    \u003c/td\u003e\n    \u003ctd align=\"center\" width=\"140\"\u003e\n      \u003ca href=\"https://windsurf.com/\"\u003e\n        \u003cpicture\u003e\n          \u003csource media=\"(prefers-color-scheme: dark)\" srcset=\"https://unpkg.com/@lobehub/icons-static-png@latest/dark/windsurf.png\" /\u003e\n          \u003cimg src=\"https://unpkg.com/@lobehub/icons-static-png@latest/light/windsurf.png\" alt=\"Windsurf\" style=\"width: 44px; height: 44px; object-fit: contain;\" /\u003e\n        \u003c/picture\u003e\n      \u003c/a\u003e\n    \u003c/td\u003e\n    \u003ctd align=\"center\" width=\"140\"\u003e\n      \u003ccode\u003e.agents\u003c/code\u003e\n    \u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd align=\"center\"\u003eOpenCode\u003c/td\u003e\n    \u003ctd align=\"center\"\u003eAntigravity\u003c/td\u003e\n    \u003ctd align=\"center\"\u003eWindsurf\u003c/td\u003e\n    \u003ctd align=\"center\"\u003eGeneric agents\u003c/td\u003e\n  \u003c/tr\u003e\n\u003c/table\u003e\n\n## What it's for\n\n- Debugging a UI on `localhost`: read DOM, computed styles, layout, console logs, and network state without a screenshot\n- Verifying a code change actually rendered the expected result in Chrome\n- Patching the live page to prove a fix visually, then moving it into source and rolling the patch back\n- Running structured browser checks from any local agent or IDE, not just one AI product\n\n## Why Browser Bridge\n\nMost adjacent tools optimize for different goals. [Playwright](https://playwright.dev/) and headless automation stacks are excellent for deterministic tests and CI - but they start from a clean browser context by design. [Claude in Chrome](https://support.claude.com/en/articles/12012173-get-started-with-claude-in-chrome) is great for integrated Claude workflows, and the [Codex extension](https://chromewebstore.google.com/detail/codex/hehggadaopoacecdllhhajmbjkdcmajg) is a great option if you use Codex, but both are vendor-specific. Generic MCP browser servers offer broad control without the developer-focused depth.\n\nBrowser Bridge is optimized for the opposite starting point: **inspect the state that already exists** in a real tab - logged-in sessions, feature flags, seeded storage, SPA state - use structured reads to understand it, test a patch in place, then fix the source. It's open-source, agent-agnostic, and scoped to explicit tab sessions rather than ambient browser control.\n\n## Setup\n\n1. Install [Browser Bridge from the Chrome Web Store](https://chromewebstore.google.com/detail/browser-bridge/jjjkmmcdkpcgamlopogicbnnhdgebhie) in Chrome or another Chromium-based browser\n2. `npm install -g @browserbridge/bbx` - installs the CLI and native host\n3. Run `bbx install` (Chromium on Linux, Chrome elsewhere), or target a specific browser with `bbx install --browser chrome`, `bbx install --browser edge`, `bbx install --browser brave`, `bbx install --browser chromium`, or `bbx install --browser arc`\n4. In the extension side panel, install MCP or CLI (skill) for your agent of choice\n5. Enable Browser Bridge for the browser window you want to inspect/control with the AI agent\n6. Ask your agent to use Browser Bridge via MCP (`BB MCP` or `Browser Bridge MCP`), or invoke the installed Browser Bridge skill in CLI mode (`/browser-bridge`, `browser-bridge`, or the client-specific skill trigger)\n\nOn Ubuntu, Chromium is commonly installed as a strict snap, and Flatpak Chromium is similarly sandboxed. If native messaging stays disconnected there, use a non-sandboxed Chromium-based browser such as Google Chrome, Brave, or Edge.\n\nMCP mode is self-contained: the server exposes tools, startup instructions, and prompt templates, so a separate CLI skill is not required for MCP guidance.\n\n## How it works\n\n- The extension is scoped to one explicitly enabled Chrome window at a time - no ambient browser access\n- Requests default to the active tab in that window unless a tab is targeted explicitly\n- Sessions are tab and origin scoped, auto-refreshed when possible\n- All patch operations are reversible and session-scoped\n- Structured DOM/style/layout reads are the primary transport; screenshots are a fallback\n- Open-ended investigation should start with structured reads on a smaller, lower-cost subagent when the client supports delegation\n- The native host daemon auto-starts on demand\n\n## Documentation\n\n- [Quickstart](https://github.com/koltyakov/browser-bridge/blob/main/docs/quickstart.md)\n- [Usage scenarios](https://github.com/koltyakov/browser-bridge/blob/main/docs/usage-scenarios.md)\n- [Manual setup](https://github.com/koltyakov/browser-bridge/blob/main/docs/manual-setup.md)\n- [Agent permissions](https://github.com/koltyakov/browser-bridge/blob/main/docs/agent-permissions.md)\n- [CLI guide](https://github.com/koltyakov/browser-bridge/blob/main/docs/cli-guide.md)\n- [MCP vs CLI](https://github.com/koltyakov/browser-bridge/blob/main/docs/mcp-vs-cli.md)\n- [Troubleshooting](https://github.com/koltyakov/browser-bridge/blob/main/docs/troubleshooting.md)\n- [BridgeClient API](https://github.com/koltyakov/browser-bridge/blob/main/docs/api-reference.md)\n\n## Privacy\n\nBrowser Bridge itself routes extension data locally through the Chrome extension, native host, and the local client you choose to connect. Browser Bridge does not operate a Browser Bridge cloud service.\n\nYour connected agent or IDE may still forward tool calls or tool results to remote services under that product's own settings and privacy policy. See [PRIVACY.md](https://github.com/koltyakov/browser-bridge/blob/main/PRIVACY.md) for the Browser Bridge policy.\n\n## License\n\nMIT. See [LICENSE](https://github.com/koltyakov/browser-bridge/blob/main/LICENSE).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkoltyakov%2Fbrowser-bridge","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkoltyakov%2Fbrowser-bridge","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkoltyakov%2Fbrowser-bridge/lists"}