How to use BrowserSkill
Wraps BrowserSkill (bsk) command line as DSH's native browser_* tools, enabling AI to drive real Chromium without leaving your browser.
This article is auto-derived from indexed fields (wiki / faq / compatibility_json), not freshly AI-generated.
This article is derived from the plugin's already-indexed fields (wiki / faq / compatibility_json / readme), not freshly generated by AI. Source field is noted at the end of each section.
Quick start
BrowserSkill
— source: plugin_wiki.wiki_content
Install & verify
dsh plugin --profile web add @wxg-prc-cpg/browser-skill-dsh-plugin
Run the command above in your DSH Web Profile. Then enable the plugin in the plugin list.
— source: plugins.install
Key points
- Reuse real login state: Agents can work with sites you are already signed
- Keep working uninterrupted: browser tasks run in a separate, visible
- Support any Agent: any Agent that can call a shell can use BrowserSkill
- Built-in human-in-loop: when a task hits captcha, login, confirmation
crates/bsk-cli—bskCLI and local daemon
— source: plugin_wiki.readme_en (fallback readme_raw)
FAQ
Do I need to install anything else for the plugin to work?
Not necessarily. The plugin itself only wraps the bsk command line as a DSH model tool. You must still have the bsk CLI installed on your computer and available in your PATH, and install the BrowserSkill browser extension in Chrome or Edge and connect it. If any step is missing, tool calls will report installation instructions.
Why can't I see the browser_ tools in the system prompt?*
Progressive disclosure is enabled by default (lazyTools=true): when the plugin starts, only the browser-skill skill directory entry is mounted, and the schemas for the 11 browser_* tools are not included in the prompt. After the model actually calls browser-skill (or the user sends the /browser-skill command), the full set of tools will appear for the remainder of the current process lifecycle. Changing lazyTools to false restores the old behavior—registering all tools at startup.
Can AI operate browser tabs that I already have open with login states?
Yes, but explicit borrowing is required: AI opens an isolated Agent Window in your browser via the browser extension to run tasks, leaving your everyday windows completely unaffected; to access a tab you're already logged into, you must go through a borrowing process and return it after the task completes.
Can multiple browsers be controlled simultaneously in one session?
Yes. Starting multiple times via browser_session_start yields multiple session IDs, with the maxSessions config option (default 5) limiting concurrent上限. Unless a session parameter is explicitly passed, subsequent tools will act on the "most recently started or used" session; the tool return also echoes the actual session ID being operated on.
Can AI see or operate browser sessions created by other programs?
No. The bsk daemon may be shared by multiple Agents or terminals, but this plugin strictly tracks only sessions it started via browser_session_start: passing an external session ID is directly rejected, browser_session_list only lists sessions it owns, and on plugin uninstall, it only cleans up sessions it created, never affecting others.
What happens when I abort an AI operation?
DSH's cancel signal is passed to the tool, which then uses SIGTERM to kill the running bsk child process (SIGKILL is sent after 2 seconds if it doesn't exit). This call is marked as AbortError, AI may continue subsequent actions, and the aborted browser task ends there.
Does the AI see a screenshot as an image or just receive a file path?
Depends on deployment: when the host has attachment storage mounted and the current model route declares support for image input, browser screenshots are saved to attachment storage and passed to AI as an image block; otherwise the tool only returns a PNG file path, requiring AI to read the file itself to see it.
Is this plugin only usable on macOS?
The plugin itself is pure TypeScript and runs cross-platform. However, its functionality depends on the bsk CLI, which currently supports macOS (Apple Silicon / Intel), Linux (x64 / ARM64), and Windows x64. On the browser side, Chrome and Edge are currently supported; other Chromium-based browsers should work theoretically, and Firefox is still planned.
— source: plugin_wiki.faq_json
Compatibility
- DSH: 0.1.0-rc.6+
- Node: 未声明
— source: plugin_wiki.compatibility_json
Pitfalls
Review the upstream repo before installing. This guide is auto-derived from indexed fields and may lag the latest release. If anything contradicts the official docs, treat the upstream source as authoritative.
— source: general rule