byob

作者 wxtsky已验证

Bring Your Own Browser — let your AI agent use the Chrome you already have open

131
Stars
15
Forks
JavaScript
语言
2026/8/23
添加时间

⚠️ 第三方软件声明

本 Skill 为第三方开源软件,独立托管于 GitHub。SkillTip 仅为信息目录,不控制或维护底层仓库。所显示的安全检查为自动化且范围有限,安装前请自行审查源码。

阅读服务条款

安装

添加到你的 Claude Code skills 目录:

# Add to your Claude Code skills
git clone https://github.com/wxtsky/byob

快速入门

使用 byob 等 Skills 的指南。

安全报告

已验证

上次扫描:—

{
  "status": "PASSED",
  "issues": []
}

README.md

byob

byob

Bring Your Own Browser — let your AI assistant use the Chrome you already have open.

License: MIT MCP Chrome MV3 v0.4

English · 中文


byob is a local MCP server that lets AI coding tools (Claude Code, Cursor, Cline, Windsurf, etc.) directly control your real Chrome — the one where you're already logged into everything.

"read my Twitter timeline and summarize the top 5 posts"
"google 'mcp protocol spec', click the first result, read the page"
"take a screenshot of example.com"
"grab my GitHub session cookie so I can curl with it"
"open my Gmail tab and tell me how many unread"
WebFetchHeadless Puppeteerbyob
Sees logged-in pages⚠️ manual cookie copy✅ already logged in
Passes bot detection✅ real human browser
Setup time0hours~5 min
Cloud costfree$$free

Install

Quick install (recommended)

curl -fsSL https://raw.githubusercontent.com/wxtsky/byob/main/install.sh | bash

On Windows, run the same command from Git Bash or MSYS2. The script checks prerequisites (Node.js ≥ 20, bun, Chrome/Edge/Brave), clones the repo, builds everything, and walks you through MCP registration interactively. If bun is not installed, it offers to install it for you using the native installer for your OS.

Set BYOB_INSTALL_DIR to change the install location (default: ~/byob). Advanced: BYOB_REPO, BYOB_REF, and BYOB_SKIP_SETUP=1 are supported for forks, pinned refs, and CI-style dependency install only.

Manual install

Prefer to do it yourself?

Requires Node.js ≥ 20, bun, Chrome, and any MCP-compatible AI tool.

git clone https://github.com/wxtsky/byob
cd byob
bun install
bun run setup

bun run setup walks through the install interactively:

  1. Pick output language (English / 中文)
  2. Generates a unique extension key for you
  3. Builds the Chrome extension
  4. Writes the config that lets Chrome talk to byob
  5. Prompts you to multi-select your AI tools. Claude Code gets the bundled plugin (Skill + auto-started MCP); other clients get their MCP config.

After the script finishes, three manual steps remain:

Step 2 — Load extension in Chrome

Open chrome://extensions in Chrome.

  1. Top-right → turn ON Developer mode
  2. Top-left → click Load unpacked
  3. Select the folder printed in your terminal, something like:
    /your/path/to/byob/packages/extension/output/chrome-mv3
    

Step 3 — Restart Chrome

Quit Chrome completely (⌘Q on Mac / close all windows on Windows), then reopen.

Closing a single tab or window is not sufficient — Chrome only reads the Native Messaging config at startup.

Step 4 — Claude Code plugin / manual MCP reference

The setup script registers your selected tools automatically. The block below is for reference only — use it if you skipped the prompt or want to register a different tool later:

Claude Code plugin (recommended)
claude plugin marketplace add wxtsky/byob
claude plugin install byob@byob --scope user

Run /reload-plugins in Claude Code after installing. The plugin includes the /byob:control-chrome Skill and starts its bundled MCP server automatically; do not also register a second byob MCP server.

For local development without installing:

claude --plugin-dir /path/to/byob/plugins/byob
Claude Code manual MCP fallback
claude mcp add byob -s user -- /path/to/tsx /path/to/byob-mcp.ts

To enable browser_eval, add -e BYOB_ALLOW_EVAL=1 after -s user.

Codex CLI
codex mcp add byob -- /path/to/tsx /path/to/byob-mcp.ts
Cursor

Add to .cursor/mcp.json (project) or ~/.cursor/mcp.json (global):

{
  "mcpServers": {
    "byob": {
      "command": "/path/to/tsx",
      "args": ["/path/to/byob-mcp.ts"]
    }
  }
}
Windsurf

Add to ~/.codeium/windsurf/mcp_config.json (same JSON format as Cursor):

{
  "mcpServers": {
    "byob": {
      "command": "/path/to/tsx",
      "args": ["/path/to/byob-mcp.ts"]
    }
  }
}
Cline (VS Code)

Open Cline sidebar → MCP Servers → Configure, then add (same JSON format):

{
  "mcpServers": {
    "byob": {
      "command": "/path/to/tsx",
      "args": ["/path/to/byob-mcp.ts"]
    }
  }
}

The actual paths are printed by the setup script. The examples above use shortened paths for readability.
To enable browser_eval, add "env": { "BYOB_ALLOW_EVAL": "1" } to the config (or -e BYOB_ALLOW_EVAL=1 for CLI tools).

Step 5 — Wait for setup to confirm the bridge is online

After you finish steps 2 and 3 (load the extension and ⌘Q-restart Chrome), setup auto-detects the bridge coming online and prints ✓ bridge online. The installation is complete — open a new session in your AI tool and try "use byob to read ...".

If you exited setup early with Ctrl+C, or want to check the state later:

bun run doctor

bun run doctor prints actionable fixes under every (e.g. "⌘Q-restart Chrome", "extension ID mismatch", etc.).


Tools

ToolWhat it does
browser_readOpen a page, scroll through, read all text
browser_read_markdownSame, returns clean markdown (no nav/ads)
browser_extract_tablePull <table> elements as JSON
browser_get_console_logsSnapshot console.log / warn / error
browser_start_record_networkStart recording HTTP + WebSocket traffic
browser_stop_record_networkStop recording, export JSON or HAR
browser_screenshotScreenshot → saved to disk
browser_download_imagesDownload all images from a page
browser_clickClick a button or link
browser_typeType into an input (optionally press Enter)
browser_press_keySend a keyboard key (Enter, Escape, F5, ArrowDown, ...)
browser_hoverHover the mouse over an element to trigger tooltips/menus
browser_selectChoose an option in a native <select>
browser_scrollScroll to top/bottom, an element, or a Y coordinate
browser_get_htmlGet raw HTML of an element or the whole page
browser_get_cookiesExport cookies for curl / scripts
browser_navigateOpen a URL in a new or existing tab
browser_go_backGo back one step in browser history
browser_go_forwardGo forward one step in browser history
browser_wait_forWait for an element to appear
browser_list_tabsList all open tabs
browser_switch_tabSwitch to a tab
browser_close_tabClose a tab by tabId
browser_evalRun JavaScript on the page (off by default)
browser_set_cookiesWrite a cookie via chrome.cookies.set (CHIPS-aware).
browser_print_pdfSave current page as PDF (default ~/.byob/pdfs/).
browser_get_storageRead localStorage / sessionStorage for an origin.
browser_get_performancePage Web Vitals + navigation timing.
browser_upload_fileUpload local files to <input type="file">.
browser_intercept_startStart a stateful request-interception session.
browser_intercept_stopStop a browser_intercept_start session and return hit stats.
browser_dragDrag the mouse from one point to another (linear interpolation).
browser_emulate_deviceEmulate mobile/tablet viewport / DPR / touch / UA.
browser_snapshotGet a compact accessibility tree with reusable element references.
browser_new_tabCreate an empty or pre-navigated background tab.
browser_reloadReload a tab and wait for it to finish loading.
browser_get_js_dialogInspect an alert / confirm / prompt without resolving it.
browser_handle_js_dialogExplicitly accept or dismiss a JavaScript dialog.
browser_historySearch Chrome history with optional terms and date bounds.
browser_clipboard_read_textRead plain text from the system clipboard.
browser_clipboard_write_textReplace the system clipboard with plain text.

17 of these tools support framePath to reach into nested iframes (including cross-origin).

Full schemas: shared/src/schemas.ts


How it works

AI tool → byob-mcp → byob-bridge → Chrome extension → your tab
         (stdio)    (Unix socket) (Native Messaging) (Chrome DevTools Protocol)

All communication stays local. No data leaves your machine. When Chrome closes, all byob processes exit automatically.


Everyday commands

bun run setup      # install or re-install
bun run doctor     # check what's working
bun run bridges    # list running bridge processes
bun run logs       # tail the bridge log
bun run unsetup    # remove everything

All run from the byob repo root.


Reliability

  • End-to-end cancellation. Ctrl+C propagates through the entire chain (MCP → bridge → extension → Chrome), cleanly detaching all debug sessions.
  • DevTools conflict handling. If DevTools is open on a tab, browser_eval automatically falls back to chrome.scripting.executeScript.
  • Sleep/wake recovery. After a laptop sleep cycle, byob resets all debug sessions so the next call starts from a clean state.

Security

  • browser_eval is off by default — enable with BYOB_ALLOW_EVAL=1. Every call logs + notifies.

  • chrome://, file://, Google/MS/Apple login pages are blocked by default.

  • Per-site allow/deny lists. Set them from the extension's service-worker console:

    // never let the agent touch these, with any tool
    chrome.storage.local.set({ BYOB_DENIED_DOMAINS: ['**.chase.com', 'mail.proton.me'] })
    // or lock the agent to a fixed set of sites for a session
    chrome.storage.local.set({ BYOB_ALLOWED_DOMAINS: ['**.github.com'] })
    

    Patterns: example.com (exact), *.example.com (subdomains only), **.example.com (apex + subdomains), * (everything). Deny wins over allow. A non-empty allow list means allow-list-only. Enforced when byob attaches the debugger, so it covers every tool — including the ones that take a bare tabId like browser_click and browser_get_cookies.

  • Credential fields are redacted. Values in password / OTP / card / email inputs are never sent to the model; they surface as [redacted].

  • Each install gets a unique extension key — no collisions.

  • Socket files are 0600, dirs are 0700. Other users can't see them.

  • Zero outbound network traffic. No analytics, no pings, no crash reports.

  • Chrome displays a "byob is debugging this browser" banner on active tabs. This is a Chrome security feature and cannot be suppressed.


Troubleshooting

SymptomCauseFix
No live bridgeChrome not running or extension disabledCheck chrome://extensions
cdp_attach_failedDevTools open on that tabClose DevTools
url_forbiddenURL on the blocklistSee Security section
extension_not_connectedExtension lost connectionReload at chrome://extensions
Nothing works after installChrome was not fully restartedQuit Chrome completely (⌘Q) and reopen

Run bun run doctor for detailed diagnostics on which step failed.


Platform notes

PlatformAutoManual
macOSAuto-registers selected MCP toolsOpen chrome://extensions and load the unpacked extension
WindowsSame + writes Native Messaging host to registrySame as macOS
LinuxAuto-registers selected MCP toolsSame as macOS

More

MIT licensed. byob has broad access to your browser — only use it on machines and accounts you own.

常见问题

What is byob?

byob is an open-source ai agents skill for AI coding assistants such as Claude Code, Codex CLI, and ChatGPT, built by wxtsky. Bring Your Own Browser — let your AI agent use the Chrome you already have open. It has 131 GitHub stars.

Is byob safe to use?

Yes. byob passed SkillsLLM's automated security scan — a dependency vulnerability audit plus prompt-injection heuristics — with no high-severity issues. You can read the full report in the Security Report section on this page.

How do I install byob?

Clone the repository with "git clone https://github.com/wxtsky/byob" and add it to your Claude Code skills directory (see the Installation section above).

What programming language is byob written in?

byob is primarily written in JavaScript. It is open-source under wxtsky on GitHub, so you can review or fork the full source.

Are there alternatives to byob?

Yes. SkillsLLM lists many other AI Agents skills you can browse and compare side by side. Open the AI Agents category from the badge at the top of this page, or use the Related Skills and comparison links further down to weigh byob against similar tools.

评论 (0)

暂无评论,成为第一个分享想法的人!

ECC

by affaan-m

10

The agent harness performance optimization system. Skills, instincts, memory, security, and research-first development for Claude Code, Codex, Opencode, Cursor and beyond.

242,21936,702JavaScript
AI 智能体ai-agentsanthropicclaude-code
查看详情
15

An agentic skills framework & software development methodology that works.

234,96620,863Shell
AI 智能体ai-agentsbrainstorming
查看详情

hermes-agent

by NousResearch

10

The agent that grows with you

234,43747,175Python
AI 智能体ai-agentsagent-orchestration
查看详情

The agent harness performance optimization system. Skills, instincts, memory, security, and research-first development for Claude Code, Codex, Opencode, Cursor and beyond.

185,94028,768JavaScript
AI 智能体ai-agentsanthropicclaude-code
查看详情

cc-switch

by farion1231

3

A cross-platform desktop All-in-One assistant for Claude Code, Codex, OpenCode, OpenClaw, Grok Build & Hermes Agent. Only official website: ccswitch.io

128,8688,826Rust
AI 智能体claude-codeai-tools
查看详情

claude-code

by anthropics

Claude Code is an agentic coding tool that lives in your terminal, understands your codebase, and helps you code faster by executing routine tasks, explaining complex code, and handling git workflows - all through natural language commands.

120,03119,897Shell
AI 智能体
查看详情

开发者还喜欢

基于喜欢此 Skill 的开发者投票和收藏

ECC

by affaan-m

10

The agent harness performance optimization system. Skills, instincts, memory, security, and research-first development for Claude Code, Codex, Opencode, Cursor and beyond.

242,21936,702JavaScript
AI 智能体ai-agentsanthropicclaude-code
查看详情
15

An agentic skills framework & software development methodology that works.

234,96620,863Shell
AI 智能体ai-agentsbrainstorming
查看详情

hermes-agent

by NousResearch

10

The agent that grows with you

234,43747,175Python
AI 智能体ai-agentsagent-orchestration
查看详情

n8n

by n8n-io

12

Fair-code workflow automation platform with native AI capabilities. Combine visual building with custom code, self-host or cloud, 400+ integrations.

201,88160,308TypeScript
MCP 服务器apisai-tools
查看详情

The agent harness performance optimization system. Skills, instincts, memory, security, and research-first development for Claude Code, Codex, Opencode, Cursor and beyond.

185,94028,768JavaScript
AI 智能体ai-agentsanthropicclaude-code
查看详情

cc-switch

by farion1231

3

A cross-platform desktop All-in-One assistant for Claude Code, Codex, OpenCode, OpenClaw, Grok Build & Hermes Agent. Only official website: ccswitch.io

128,8688,826Rust
AI 智能体claude-codeai-tools
查看详情