fatmind/dsh-plugin-browser-use
Reuse your own logged-in Chrome in dsh (DeepSeek Harness): scrape login-walled sites, fill forms, and click through pages with native wc3_* tools — no re-login, no anti-bot friction.
项目介绍Project Overview
这是 DSH 的浏览器自动化插件,把 webclaw3 注册为 wc3_* 工具,驱动你已登录的 Chrome,支持抓取导出、登录页爬取、点击填表及读取 React/Vue/Next 数据。适合需复用登录态、绕过重复登录的网页操作。注意勿再装 webclaw3 技能,否则指令与中继冲突。
This DSH plugin registers webclaw3 as native wc3_* tools that drive your own logged-in Chrome. It supports scraping and export, crawling login-walled pages, clicking, form filling, and reading React/Vue/Next.js page data. Use it when browser tasks need an existing Chrome session, avoiding re-login and auth popups. Do not also install webclaw3 as a skill, or duplicate instructions and conflicting relays may occur.
请帮我了解并安装插件:【dsh-plugin-browser-use】【https://github.com/fatmind/dsh-plugin-browser-use】
把上面这条消息直接发给当前会话里的 DSH,让它帮你了解并安装。安装命令不一定准确,发给 DSH 更稳。Send this message to DSH in your current session. CLI install commands may not be accurate across systems — DSH will figure it out for you.
或使用命令行安装(适合开发者)Or use CLI install (for developers)
命令行安装CLI Install
dsh plugin --profile web add github:fatmind/dsh-plugin-browser-use
把 fatmind/dsh-plugin-browser-use 加入你的 DSH 配置(web profile)即可启用。
READMEREADME
dsh-plugin-browser-use
🌐 中文版 | English
Browser automation for dsh (DeepSeek Harness). Registers webclaw3 as native wc3_* tools that drive your own logged-in Chrome — skip re-login, auth popups, and most anti-bot walls.
- Scrape & export — search results, tables, downloads
- Crawl login-walled pages — 小红书, WeChat official accounts, Weibo, Taobao, admin dashboards…
- Interact — click buttons, fill forms, post content
- Reach SPA internals — React fiber / Vue data /
__NEXT_DATA__
How it works
dsh (web profile)
└─ this plugin: wc3_* tools + browsing-philosophy system prompt (auto-starts relay)
└─ webclaw3 engine (webclaw3/, upstream fatmind/webclaw3)
└─ relay (HTTP 127.0.0.1:3459 ↔ WebSocket)
└─ wc3-chrome extension ──> your logged-in Chrome
The plugin is a thin adapter: it translates the relay's HTTP API into dsh tools and distills webclaw3's browsing philosophy (SKILL.md) into the system prompt. The engine and docs live upstream and are synced via scripts/sync-webclaw3.sh.
Note: in dsh you should not also install webclaw3 as a skill — this plugin already handles engine loading and usage guidance. Installing both causes duplicate instructions and conflicting relays.
Install
Prerequisites: dsh, Node >= 22, pnpm, Chrome.
curl -fsSL https://raw.githubusercontent.com/fatmind/dsh-plugin-browser-use/main/scripts/install.sh | bash
Or from a local checkout:
git clone https://github.com/fatmind/dsh-plugin-browser-use
cd dsh-plugin-browser-use && ./scripts/install.sh
The script installs dependencies → registers the plugin into the web profile (link:) → downloads & unzips the wc3-chrome extension. Then:
- Open
chrome://extensions, enable Developer mode, and Load unpacked the extension folder printed by the script; - Restart dsh (profiles load at startup);
- Tell dsh "check the browser environment" — the model runs
wc3_doctorand reports what's missing.
Re-running the installer updates the plugin.
Tools
| Tool | relay op | Purpose |
|---|---|---|
wc3_doctor |
- | Channel self-check (Node/engine/relay/extension); auto-starts the relay |
wc3_tabs |
tab.list |
List tabs and get tabIds; [当前]=active tab, [默认]=wc3's default target |
wc3_tab_open |
tab.create |
Open a URL in a background tab (doesn't steal focus); becomes the new default |
wc3_tab_close |
tab.close |
Close a tab you opened; clears the default target if it was closed |
wc3_tab_activate |
tab.list + local state |
Pin a tab as the default operation target (no more "current tab" drift) |
wc3_snapshot |
page.ariaTree |
Aria-tree snapshot with [ref_N] ids for interaction |
wc3_get_text |
page.getText |
Full-page plain text for reconnaissance |
wc3_eval |
page.eval |
Run arbitrary JS in the page; preferred for structured extraction |
wc3_click / wc3_fill / wc3_scroll_to |
page.click / page.fillForm / page.scrollTo |
Interact by ref_N (React/Vue-safe) |
wc3_search |
page.search |
Find page elements by keyword |
wc3_wait_for |
page.waitForElement |
Wait for an element to appear |
Page tools (snapshot/get_text/eval/click/fill/scroll_to/search/wait_for) accept tabId optionally — when omitted, they act on wc3's most recently active tab (newly opened, last used, or the active tab; marked [默认] in wc3_tabs). wc3_tab_close keeps tabId required to prevent accidental closes. If the extension briefly disconnects, tools auto-retry (self-heal within ~10s) before reporting an error.
Tool results are plain text with user-facing guidance, capped at 50,000 chars by default (configurable), truncated when exceeded.
Configuration
Edit packages/browser-use/cordis.patch.yml after install if needed:
| Field | Default | Description |
|---|---|---|
relayHost / relayPort |
127.0.0.1 / 3459 |
Relay address |
toolTimeoutMs |
60000 |
Per-call timeout (ms) |
maxResultChars |
50000 |
Max chars per result |
autoStartRelay |
true |
Auto-run webclaw3.mjs start when the relay is down |
engineDir |
"" (auto-located) |
Engine directory; or set DSH_WC3_ENGINE_DIR |
License
MIT
nexu-io/open-design
freestylefly/awesome-gpt-image-2
anywhere-labs/dsh-desktop
walkinglabs/learn-harness-engineering
awesome-dsh-plugin/awesome-dsh-plugin
MemTensor/MemOS