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
01
Agent
Runs bsk or follows browser-skill.
02
bsk CLI
Talks to the daemon. Default home: ~/.bsk.
03
Local daemon
Loopback WebSocket. Default port: 52800.
04
Extension
Connects Chrome or Microsoft Edge.
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:
- Read a public page and return its title, main links, and a short summary with the source URL. No account is required.
- Inspect a website you are allowed to debug: capture the request, response, and console around one failed save, then export the evidence.
- 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:
- You only need repository edits, tests, or a pull request. A coding agent does not need your browser for that.
- 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.
- 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.
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
sudoand 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:
curl -fsSL https://raw.githubusercontent.com/Tencent/BrowserSkill/main/install.sh | sh
export PATH="${BSK_INSTALL_DIR:-$HOME/.local/bin}:$PATH"
bsk --versionWindows PowerShell:
irm https://raw.githubusercontent.com/Tencent/BrowserSkill/main/install.ps1 | iex
bsk --versionThe 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.
- Chrome: https://chromewebstore.google.com/detail/hhcmgoofomhgciiibhipgmgkgnoenaoi
- Microsoft Edge: https://microsoftedge.microsoft.com/addons/detail/browserskill/emacgiaaaiojkkpkddmmdfhmokgmnikg
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:
bsk install-skill --harness cursor --jsonReplace 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:
dsh plugin --profile web add @wxg-prc-cpg/browser-skill-dsh-pluginReplace 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 --versionprints a version.bsk doctorhas nofailrows. A fresh install whose only failure isextension connectedmeans 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.
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.
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:
- Open
https://example.comin your own browser and compare the title and links with the summary. - Reject any summary that has no source URL, or that describes a different site.
- Confirm the Agent Window is closed and no borrowed tab is still under agent control.
- If the agent used the CLI directly, the documented stop command is
bsk session stop <id>, using the session ID frombsk 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.
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>. debuggerattaches 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_IDrevokes a paired device.bsk daemon revoke --allalso 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
PATHafter 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.
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.
- Repository and quick start ↗
- Agent install steps ↗
- Architecture ↗
- Extension privacy, permissions and controls ↗
- Remote disconnect and device revoke ↗
- License ↗
Related guides
These pages describe other browser-tool choices. They are not BrowserSkill setup instructions.