BrowserSkill: Let AI agents reuse logged-in browsers with human takeover
A local tool for shell-based AI agents to reuse logged-in browsers in a separate window with human takeover.
GitHub Tencent/BrowserSkill Updated 2026-09-18 Branch main Stars 4.1K Forks 295
TypeScript Rust Browser automation bsk CLI Chrome Microsoft Edge AI agents

🧭 Decision Guide

Try it if you

  • 你正在使用Cursor、Claude Code、Codex或其他可调用Shell的Agent。
    README「BrowserSkill Advantages」写明 any Agent that can call a shell 可通过 bsk CLI 使用;「Quick Start」列出这些 harness。
  • 你的自动化任务需要复用Chrome或Microsoft Edge中的真实登录状态。
    README「BrowserSkill Advantages」写明 Reuse real login state;「Runtime Environment」列出Chrome和Microsoft Edge。
  • 你希望Agent操作浏览器时继续使用自己的普通浏览器窗口。
    README「Keep working uninterrupted」写明任务运行在独立、可见的 Agent Window。
  • 你的流程会遇到captcha、login或confirmation dialogs等人工步骤。
    README「Built-in human-in-loop」写明Agent可请求用户接管,完成后继续。

Skip it if you

  • 你的目标浏览器是Firefox,且不能接受README中planned状态的支持程度。
    README「Runtime Environment」明确写明Firefox is planned。
  • 你的Agent sandbox会在每条命令后回收后台进程,且无法提供持久主机环境运行daemon。
    README「Quick Start」说明此类sandbox需要将daemon放在persistent host environment。
  • 你需要Agent直接访问浏览器,而不是经由bsk CLI、daemon和扩展组成的本地桥接链路。
    README「How It Works」明确写明agent never talks to the browser directly。

Requirements

  • 本地运行bsk CLI/daemon和浏览器扩展两个runtime pieces。
  • 操作系统需为macOS(Apple Silicon或Intel)、Linux(x64或ARM64)或Windows x64。
  • 浏览器需为Chrome、Microsoft Edge,或支持unpacked Chromium extensions的其他Chromium浏览器。
  • 需要安装bsk CLI,并从Chrome Web Store或Edge Add-ons安装BrowserSkill扩展。
  • 使用Cursor、Claude Code、Codex等列出的harness时,可运行bsk install-skill安装skill。
  • 沙箱型Agent需要遵循sandboxed agent setup,并使用持久主机环境、共享BSK_HOME和BSK_AUTO_START=0。

First step (verbatim from README)

bsk --version

Watch out

  • 安装后当前Unix shell需要export PATH,旧PATH可能要求重启Agent。
    README「1. Install the bsk CLI」说明export PATH只作用于当前Unix shell,旧PATH可能需要重启Agent。
  • 普通用法默认自动启动;sandbox场景需设置BSK_AUTO_START=0。
    README「Quick Start」区分ordinary local use与sandboxed agent setup,并给出BSK_AUTO_START=0。
  • 手动借用已有标签页必须显式请求,不能默认操作用户其他窗口。
    README开头写明borrow that tab explicitly、return it when the task is done,并leave the rest of your browser alone。
  • 自定义SKILL.md会暂停自动更新,--force恢复内置skill会覆盖现有指令。
    README「3. Install the skill」说明local edits preserved and automatic updates pause;不带--source的--force会overwrite existing instructions。
  • DeepSeek Harness插件升级后需要重启profile,且插件不会自动更新。
    README「DeepSeek Harness plugin」写明Installed plugins do not update automatically,升级后Restart the profile。

Not stated in the README

  • README未说明支持哪些具体浏览器自动化API、元素定位能力或操作覆盖范围。
  • README未提供性能指标、并发会话上限或单个Agent Window的资源消耗。
  • README未说明登录凭据、Cookie或浏览器扩展权限的具体存储与安全模型。
  • README未给出Chrome Web Store和Edge Add-ons扩展的版本要求。
  • README未说明bsk CLI 0.3.0与README中各功能之间的版本对应关系。
  • README未说明Firefox planned功能的发布时间。
  • README未提供生产环境故障恢复、日志保留或远程部署方案。

💡 Deep Analysis

6
Yes My deployment environment is Windows x64 with Microsoft Edge, and I must use the real login state on the local machine. Does BrowserSkill meet my operating-system, browser, and local-runtime constraints?
For: A developer using Windows x64 and Microsoft Edge who needs local browser automation and cannot switch to a cloud browser

Yes, because Windows x64 and Microsoft Edge are both within the README’s stated support range, and the design is specifically based on a local CLI/daemon plus browser extension.

  • The Runtime Environment table lists Windows x64, and explicitly supports Chrome and Microsoft Edge.
  • The README requires both the bsk CLI/daemon and browser extension, matching the requirement to reuse a local browser session.
  • The Windows manual installation uses PowerShell: irm https://raw.githubusercontent.com/Tencent/BrowserSkill/main/install.ps1 | iex.
  • This is not a pure cloud-control service; project insights state that the local CLI/daemon and extension must run, so it cannot operate without the local browser.

The README does not describe deployment outcomes under Windows enterprise policy, Edge extension restrictions, or local WebSocket limitations.

  • Runtime Environment: "Windows x64"
  • Runtime Environment: "Chrome and Microsoft Edge are supported"
  • Manual install: "irm https://raw.githubusercontent.com/Tencent/BrowserSkill/main/install.ps1 | iex"
  • README: "BrowserSkill has two local runtime pieces: the `bsk` CLI/daemon and the browser extension."
irm https://raw.githubusercontent.com/Tencent/BrowserSkill/main/install.ps1 | iex
Not stated in the README:The README does not say whether Windows enterprise policy may block extension installation or local communication.;The README does not specify Edge extension permissions on managed devices.;The README does not describe the effect of Windows firewalls or security software on daemon communication.
Yes I maintain BrowserSkill instructions for Cursor, Claude Code, and Codex, and I have customized `SKILL.md`. I need automatic updates without overwriting those edits. Does BrowserSkill’s skill-installation mechanism fit this requirement?
For: An agent-tooling maintainer managing Cursor, Claude Code, and Codex skill files who must preserve custom `SKILL.md` edits from automatic overwrites

Yes, because the README provides multi-harness installation, explicit custom sources, and protection for local edits.

  • bsk install-skill lets you select a target harness, and the README lists Cursor, Claude Code, and Codex among the supported harnesses.
  • For custom instructions, you can use bsk install-skill --harness cursor --source ./SKILL.md; an explicit --source remains custom.
  • Daemon startup, session start, and doctor update managed skills only when their contents still match the previously installed version; detected local edits pause automatic updates.
  • To restore the bundled version, use --force without --source, but the README explicitly says that this overwrites the existing instructions.

This fits a maintenance workflow that must preserve customizations. However, the README does not explain how to synchronize custom file contents across multiple harnesses.

  • Install the skill: "bsk install-skill"
  • Install the skill: "bsk install-skill --harness cursor --source ./SKILL.md"
  • Install the skill: "Local edits are preserved and automatic updates pause"
  • Install the skill: "This second command overwrites the existing instructions."
bsk install-skill --harness cursor --source ./SKILL.md
Not stated in the README:The README does not say whether Cursor, Claude Code, and Codex can share one unified custom skill source.;The README does not mention version locking, diffing, or rollback commands for skill files.;The README does not define the behavior when custom skill content is incompatible with the CLI version.
It depends I use Codex or OpenClaw in an agent sandbox that reaps background processes after each command. I need the browser connection to remain alive. Can BrowserSkill accommodate this deployment constraint?
For: A Codex or OpenClaw user running inside an agent sandbox that reaps background processes and needs the daemon hosted on a persistent machine

It depends: the project explicitly supports this sandbox pattern, but only if the daemon runs in a persistent host environment instead of being terminated with each command.

  • The Quick Start warning says a sandbox that reaps background processes may clean up the daemon and break the connection.
  • The README requires placing the daemon in a persistent host environment and configuring shared BSK_HOME and BSK_AUTO_START=0.
  • Ordinary local use keeps automatic startup enabled by default, so the sandbox setup cannot simply reuse the local configuration.
  • The CLI, daemon, and browser extension still need to communicate through the local connection chain; the README does not describe cross-container, cross-host networking or permissions.

It is workable if Codex/OpenClaw can access the persistent host and share those variables; otherwise this runtime model is unsuitable.

  • Quick Start: "Using an agent sandbox that reaps background processes after each command?"
  • Quick Start: "keep the daemon in a persistent host environment and connect with a shared `BSK_HOME` plus `BSK_AUTO_START=0`"
  • Quick Start: "Ordinary local use keeps automatic startup by default"
bsk --version
Not stated in the README:The README does not specify the exact network, mount, and permission setup between the sandbox and persistent host.;The README does not say whether placing the daemon and agent on different hosts is an officially supported topology.;The README does not say whether multiple agents can share one daemon.
Yes I use Cursor or Claude Code and need an agent to operate an already logged-in enterprise SaaS. I do not want to configure a separate test account, and the automation must not take over my active browser window. Is BrowserSkill suitable?
For: An individual developer using Cursor or Claude Code who needs to operate a logged-in enterprise SaaS without maintaining a separate test account

Yes, because it directly addresses both reuse of a real login session and isolation from the user’s active window.

  • The README explicitly supports Cursor and Claude Code, and any shell-capable agent can use the bsk CLI without being locked to a model or harness.
  • “Reuse real login state” lets the agent work with sites that are already signed in, avoiding a separate test account.
  • Tasks run by default in a separate, visible Agent Window, so the user can continue using their own browser.
  • If an existing tab is needed, the agent must explicitly borrow it and return it afterward.

The README does not guarantee reliable automation for every enterprise SaaS layout, dynamic page, or business workflow.

  • BrowserSkill Advantages: "Reuse real login state"
  • BrowserSkill Advantages: "Keep working uninterrupted"
  • README introduction: "It must borrow that tab explicitly, return it when the task is done"
  • Project description: "CLI + extension for browser automation across any shell-capable AI agent"
Set up browser-skill on this machine by following https://raw.githubusercontent.com/Tencent/BrowserSkill/main/AGENT_INSTALL.md
Not stated in the README:The README does not specify compatibility with the target enterprise SaaS DOM, dynamic rendering, or workflow.;The README does not specify how many Agent Windows can run concurrently in one browser session.
It depends I use Claude Code or Codex to operate a real enterprise backend. The workflow may encounter captchas, re-login prompts, and confirmation dialogs, while payment, deletion, or submission actions must be confirmed by me. Does BrowserSkill fit this human-in-the-loop workflow?
For: An enterprise-backend automation developer who must handle captchas, logins, and confirmation dialogs without delegating sensitive submissions entirely to an agent

It depends: it fits workflows where captchas, login, and confirmation steps are handed back to a human, but it should not be treated as a fully unattended system for sensitive actions.

  • The README’s “Built-in human-in-loop” feature explicitly supports captchas, logins, and confirmation dialogs, allowing the agent to continue after the user takes over.
  • The separate, visible Agent Window lets the user observe execution instead of relying on an invisible background browser.
  • Reusing a real login session gives the agent access to enterprise data; project insights state that payments, production backends, and highly sensitive accounts still require human confirmation and permission isolation.
  • The README does not promise that every dangerous business action can be recognized, nor that every captcha or MFA flow can be resumed.

It is suitable when the workflow allows human pauses and confirmations, but unsuitable when everything from login through payment must be unattended.

  • BrowserSkill Advantages: "Built-in human-in-loop"
  • BrowserSkill Advantages: "when a task hits captcha, login, confirmation dialogs, or other human-only steps"
  • BrowserSkill Advantages: "browser tasks run in a separate, visible Agent Window"
  • Project insights usage_limitations: captchas, mandatory MFA, payment confirmation, and other human steps still require user participation
bsk --version
Not stated in the README:The README does not specify how to configure per-action confirmation for payments, deletions, or form submissions.;The README does not describe recovery behavior after human-takeover timeouts, session expiry, or page changes.;The README does not specify audit logging or rollback capabilities for enterprise backends.
Yes I use DeepSeek Harness and do not want to invoke browser capabilities only through a generic SKILL.md. I want native `browser_*` tools and browser-session visibility in the Web UI. Does BrowserSkill fit this integration model?
For: An agent-integration developer who needs to connect browser capabilities to DeepSeek Harness and view browser sessions in its Web UI

Yes, because the README provides a dedicated DeepSeek Harness integration instead of forcing you to use the generic skill-file approach.

  • The installation section explicitly says that DeepSeek Harness uses a dedicated plugin, while Cursor, Claude Code, and similar harnesses mainly use SKILL.md.
  • Project insights state that the plugin exposes native browser_* tools and allows browser sessions to be viewed in the Web UI.
  • The underlying runtime still consists of the local bsk CLI/daemon and browser extension, so the plugin does not remove local runtime or extension requirements.
  • The latest release is cli-v0.3.0, and the project has only 5 releases, so compatibility with the current Harness version must be checked.

The provided README excerpt does not include the plugin installation command, so no directly copyable first step can be given from the supplied material.

  • Install the skill: "DeepSeek Harness uses a dedicated plugin instead"
  • Project insights: the npm plugin provides native browser_* tools and Web UI browser-session visibility
  • Project data: latest_release is cli-v0.3.0; release_count is 5
Not stated in the README:The supplied README excerpt does not provide the exact DeepSeek Harness plugin installation command.;The README does not specify the supported DeepSeek Harness version range.;The README does not say whether Web UI session viewing requires an extra service or permission.

✨ Highlights

  • Reuses real login state without separate test accounts
  • Runs tasks in an Agent Window without interrupting normal browsing
  • The bsk CLI supports any Agent that can call a shell
  • Human takeover handles captchas and confirmation dialogs before continuation

🔧 Engineering

  • The bsk CLI, daemon, and extension connect agents through local IPC and WebSocket
  • Supports Chrome, Microsoft Edge, and compatible Chromium browsers
  • bsk screenshot supports Full-page screenshot export for long pages

⚠️ Risks

  • Firefox is still marked planned and should not be treated as supported
  • Borrowing an existing tab must be explicitly requested and returned after the task
  • Sandboxed agents reap background processes, so the daemon needs a persistent host
  • bsk connects to the browser extension through a 127.0.0.1 WebSocket

👥 For who?

  • Developers using shell-capable agents such as Cursor, Claude Code, or Codex
  • Teams that need existing Chrome sessions without interrupting human browsing
  • Developers using DeepSeek Harness who need native browser_* tools