deepseek-harness
deepseek-ai
DeepSeek Harness: Everything is a Plugin.
chen70456-lang/dsh-tmwebdriver
One tool, infinite reach: arbitrary JS in your real logged-in browser. Unlike fixed-action plugins, browser_execute_js does anything DevTools can — read, click, type, fill, navigate, screenshot, CDP. Plus list_tabs/snapshot/type. Zero-setup, self-healing.
PROJECT TOPICS
PROJECT README
Live demo — the agent drives your real Chrome: opens Baidu, types a weather query, and reads the result widget (no headless scraping):

One tool, infinite reach. Most browser plugins hand your agent a fixed list
of actions — click, type, navigate, scroll. The moment you need something
unlisted, you're stuck. dsh-tmwebdriver flips that: browser_execute_js
runs arbitrary JavaScript in your real, logged-in tab. Everything a
developer can do in DevTools, your agent can do — with zero plugin updates.
Read pages. Click. Type. Submit forms. Navigate. Screenshot. Read cookies. Drive CDP. Run any script. All through one tool.
| Headless Chrome / Playwright | dsh-tmwebdriver | |
|---|---|---|
| Fingerprint | ❌ Detected, captcha-blocked | ✅ Your real browser, real fingerprint |
| Logins | ❌ Re-login every session | ✅ Your existing sessions just work |
| Cookies | ❌ Copy-paste hacks | ✅ Native, in-place |
| Bot walls | ❌ Blocked (Baidu, Cloudflare) | ✅ Drives the site as a real user |
| Action coverage | ❌ Fixed tool list | ✅ Unlimited via browser_execute_js |
| Tool | What it unlocks |
|---|---|
browser_execute_js |
The universal key — arbitrary JS in any tab: read, write, click, fill, navigate, screenshot, cookies, CDP |
browser_list_tabs |
See every open tab (id, url, title), filtered by URL |
browser_snapshot |
Read a page's text fast — head+tail retained so you never lose the end |
browser_type |
Type into any input reliably — React/Vue-aware, form-submit capable |
Verified end-to-end (real browser, real sessions):
dsh plugin --profile web add dsh-tmwebdriver
Ships inside the package — npm (node_modules/dsh-tmwebdriver/assets/tmwd_cdp_bridge/)
or GitHub clone (assets/tmwd_cdp_bridge/).
dsh plugin --profile web add dsh-tmwebdriver
Restart dsh web.
chrome://extensions → Developer mode → Load unpacked → pick the folder.
Forget it? browser_list_tabs reminds you with exact steps.
| Field | Default | Description |
|---|---|---|
linkUrl |
http://127.0.0.1:18766/link |
TMWebDriver HTTP link endpoint |
timeoutMs |
30000 |
Per-call cooperative timeout budget |
snapshotMaxChars |
8000 |
Max characters browser_snapshot returns per call |
This plugin embeds two components from the GenericAgent toolchain (https://github.com/lsdefine/GenericAgent), redistributed unmodified under their original terms:
| Component | Path | Origin |
|---|---|---|
| TMWebDriver master | master/tmwebdriver_master.py |
GenericAgent — TMWebDriver.py |
| Chrome extension bridge | assets/tmwd_cdp_bridge/ |
GenericAgent — assets/tmwd_cdp_bridge/ |
The DSH plugin glue (src/index.ts, src/tools.ts, cordis.patch.yml) is MIT.
CLASSIFICATION EVIDENCE
系统优先读取 GitHub Topics,再与站内分类词典和词根规则比对。当前命中: 无有效分类标签。