BROWSER ACCESS / TENCENT

Tencent BrowserSkill

Setup, browser access, and a first read-only workflow.

BrowserSkill is an open-source tool maintained in the Tencent GitHub organization. It connects a shell-capable AI agent to Chrome or Microsoft Edge through a bsk command-line tool and a browser extension. The agent can read pages, fill forms, capture screenshots, or inspect a failing request in a separate visible Agent Window. It uses the browser profile you select, including sites you are already signed into. That login state is not a separate sandbox and is not blanket permission to act.

01 / HOW IT WORKS

A visible path from agent to browser

  1. 01

    Agent

    Runs bsk or follows browser-skill.

  2. 02

    bsk CLI

    Talks to the daemon. Default home: ~/.bsk.

  3. 03

    Local daemon

    Loopback WebSocket. Default port: 52800.

  4. 04

    Extension

    Connects Chrome or Microsoft Edge.

  5. 05

    Agent Window

    Visible task window. Borrowed tabs return on stop.

The CLI can start the local daemon. An existing tab is used only if explicitly borrowed. Remote mode is optional: the agent, CLI and daemon can run on a server, with the extension opening an outbound authenticated connection. Do not start there for a first local trial.

Official architecture ↗

02 / CHOOSE YOUR TASK

Three tasks that match it, and three that should wait

Editorial recommendation, not an official endorsement: use BrowserSkill when the job is a browser task your agent cannot finish from a repository alone, and you can watch the Agent Window.

Fits:

  1. Read a public page and return its title, main links, and a short summary with the source URL. No account is required.
  2. Inspect a website you are allowed to debug: capture the request, response, and console around one failed save, then export the evidence.
  3. Repeat a signed-in workflow you already do by hand, such as opening an internal document or filling a form, while you remain available for login or verification.

Wait, or use another method first:

  1. You only need repository edits, tests, or a pull request. A coding agent does not need your browser for that.
  2. You need a separate browser profile with no access to everyday logins. BrowserSkill uses the selected profile. The Agent Window is not a separate account or security sandbox.
  3. You want an unattended agent to buy, send messages, change account settings, or submit forms. A signed-in page is not permission to do those things. This page's sample task does none of them.
Official source for this section ↗

03 / SETUP

Install the CLI, connect the extension, then check

Preconditions from the official quick start:

  • A shell-capable agent, or DeepSeek Harness if you use its plugin.
  • An operating system in the CLI support table: macOS on Apple Silicon or Intel; Linux x64 or ARM64; Windows x64.
  • Chrome or Microsoft Edge on Chromium 125 or later. Other Chromium browsers may work. Official docs do not guarantee them.
  • You install the extension yourself. The agent install guide says not to use sudo and not to have the agent install the extension for you.

Step 1 — install the CLI. Not executed for this guide. Source: README quick start and AGENT_INSTALL.md, read 2026-09-24.

macOS or Linux:

NOT EXECUTED FOR THIS GUIDE
curl -fsSL https://raw.githubusercontent.com/Tencent/BrowserSkill/main/install.sh | sh
export PATH="${BSK_INSTALL_DIR:-$HOME/.local/bin}:$PATH"
bsk --version

Windows PowerShell:

NOT EXECUTED FOR THIS GUIDE
irm https://raw.githubusercontent.com/Tencent/BrowserSkill/main/install.ps1 | iex
bsk --version

The default install location is ~/.local/bin. If a running agent cannot find bsk, restart that agent or point it at the absolute path. Official docs do not publish a separate npm install command for the CLI.

Step 2 — install the extension in the browser profile you intend to use.

Open the extension popup, enable the local connection, and confirm the port matches the local daemon. Store builds can lag behind this repository during review.

Step 3 — teach the agent. For a supported shell agent:

NOT EXECUTED FOR THIS GUIDE
bsk install-skill --harness cursor --json

Replace cursor with an ID from bsk install-skill --list. README names Cursor, Claude Code, Codex, OpenClaw, CodeBuddy, WorkBuddy, Pi, and Hermes Agent as examples, plus any other shell-capable agent. That list is the documented set of examples, not a tested compatibility matrix. DeepSeek Harness uses its plugin instead:

NOT EXECUTED FOR THIS GUIDE
dsh plugin --profile web add @wxg-prc-cpg/browser-skill-dsh-plugin

Replace web with your profile name. A separate bsk install-skill step is not required for that plugin.

For this plugin route, the official README also requires pnpm and an installed bsk CLI with the browser extension connected. Ensure bsk is on the PATH used to start DSH, or configure the plugin's bskPath.

Step 4 — documented success checks. Not executed here.

  • bsk --version prints a version.
  • bsk doctor has no fail rows. A fresh install whose only failure is extension connected means the browser step is still unfinished.
  • The extension popup shows Connected.
  • The agent can discover browser-skill. Doctor alone does not prove that. Start a new agent session if the harness needs one.
  • A real first-use check, per AGENT_INSTALL.md, is a small page read followed by stopping the session. This guide does not claim that check was done.
Official source for this section ↗

04 / TRY ONE TASK

Read one public page, then stop

This is an example prompt, not a completed test. It does not submit a form, buy anything, send a message, or change an account.

NOT EXECUTED FOR THIS GUIDE
Use browser-skill to open https://example.com.
Read the page title and the main links only.
Return a short summary with the source URL https://example.com.
Do not click outbound links, submit forms, sign in, or download files.
Stop the browser session when finished.

What you should see if the agent follows the official first-task path:

  • A separate Agent Window opens. It should not take over an existing tab unless you explicitly allow borrowing.
  • The summary names the page and includes https://example.com.
  • The session is stopped. Borrowed tabs, if any, go back to their original window.

How to check it yourself:

  1. Open https://example.com in your own browser and compare the title and links with the summary.
  2. Reject any summary that has no source URL, or that describes a different site.
  3. Confirm the Agent Window is closed and no borrowed tab is still under agent control.
  4. If the agent used the CLI directly, the documented stop command is bsk session stop <id>, using the session ID from bsk session start.

The official README uses a shorter first prompt: open https://example.com, summarize the page, and end the session. The longer prompt above is an editorial narrowing of that example so the first task stays read-only.

Official source for this section ↗

05 / ACCESS & CONTROL

What the extension can reach, and how you stop it

Documented, not a security certification:

  • The extension requests debugger, tabs, windows, activeTab, scripting, webNavigation, alarms, idle, notifications, downloads, storage, and host permission <all_urls>.
  • debugger attaches Chrome DevTools Protocol to tabs selected for automation or for a capture you start. That is how it reads and acts on those pages.
  • <all_urls> is documented as the permission used to show an "Agent Active" overlay and to automate sites you direct the agent to. It is not a promise that every site will work.
  • The extension does not, by the privacy policy, enumerate the browser's history database, bookmarks, saved passwords, or autofill database. Website debugging keeps a separate history of a capture you start.
  • An Agent Window shares the selected profile's login state. Official wording: it is not a separate account or security sandbox. A signed-in site can be acted on with that site's permissions if the task does so. Being signed in is not itself approval to submit, buy, or change settings.
  • Two extension settings are on by default: confirm before borrowing an existing tab, and allow requests for human help. Legacy unattended flags cannot override those browser settings.
  • BrowserSkill's authors say they do not run a mandatory cloud service and do not collect product telemetry. Results still go to the daemon or gateway you select, and to the agent using it. That agent can retain them under its own policy.
  • Local mode uses loopback. Remote pairing is a separate trust decision: a paired server can operate the selected profile. Pair only with a server you trust.

Documented ways to disconnect or revoke:

  • Close the Agent Window to stop its tasks.
  • Disable the extension connection, choose Local connection to leave a remote pairing, or stop the selected daemon.
  • Stop one CLI session with bsk session stop <id>.
  • On a remote server, bsk daemon revoke DEVICE_ID revokes a paired device. bsk daemon revoke --all also invalidates unused pairing links.
  • Uninstall the extension from the browser's extensions page to remove extension storage.

Not the same as a full erase:

  • Stopping a task or disconnecting does not delete saved website-debugging history or operation-audit records.
  • Copies already received by an agent, gateway, or export file must be deleted separately.
  • Official docs do not say that closing the Agent Window uninstalls the extension or revokes a remote device grant. Use the matching control above.
  • This page does not claim absolute safety, a security audit, or a penetration-test result. None is published in the documents checked.

Known limits called out by the docs:

  • Full-page capture follows the document scroll area. Nested scrolling panels and virtualized lists have limitations.
  • Remote mode does not support file upload or download in the documented version.
  • Store extension builds can lag behind the repository during review.
  • A running agent may keep an old PATH after install until it is restarted.
  • If the agent sandbox kills background processes after each command, the daemon must stay in a persistent host environment. See the sandboxed-agents guide before treating a failed doctor check as a missing install.
Official source for this section ↗

06 / QUESTIONS

Questions this page can answer from the docs

Do I need to be logged in?

No. The sample task uses https://example.com and needs no account. If a task opens a site where you are already signed in, the Agent Window can use that login state. That is not permission for the agent to change the account.

Which browsers are supported?

Chrome and Microsoft Edge, based on Chromium 125 or later, are the documented extension targets. Other Chromium browsers may work; compatibility is not guaranteed. Firefox, Safari, and mobile browsers are not listed as supported.

Which operating systems can run the CLI?

macOS on Apple Silicon and Intel, Linux on x64 and ARM64, and Windows x64. Official docs do not list Windows ARM64.

How does my agent use it?

A shell-capable agent uses the bsk CLI, usually after bsk install-skill. DeepSeek Harness can use the BrowserSkill plugin and its browser_* tools instead. BrowserSkill does not choose or host the model.

What should I check if the connection fails?

Run bsk doctor and follow the hint on any fail row. Then confirm the extension is installed in the intended profile, local connection is enabled, and the popup port matches the daemon. Restart the agent if it cannot find bsk. A doctor pass does not prove the agent has loaded the skill.

How do I stop access?

Close the Agent Window for the current tasks. Disable the extension connection or stop the daemon to disconnect. For a paired server, revoke the device with bsk daemon revoke DEVICE_ID. Uninstall the extension to remove its local storage. Disconnecting does not delete history already saved or already sent to an agent.

07 / SOURCES

Sources and what was not tested

Checked 2026-09-24 against main commit 147727a0e2ded65a7d0f364beea8cc2ebcdec8af. We did not install the CLI or extension, connect a browser, or run a first task for this guide.

Related guides

These pages describe other browser-tool choices. They are not BrowserSkill setup instructions.