egnmosk/dsh-browser-bridge
DeepSeek Harness plugin + browser extension bridge: browser_* agent tools (navigate, click, type, screenshot,
A DSH plugin + browser extension pair that lets DSH agents read and control your own browser — the equivalent of Kimi's WebBridge or Claude's browser extension, for a local harness. The DSH side exposes 13 model-facing browser_* tools (status, list/activate tabs, navigate/reload/back/forward, interactive-element snapshot with stable CSS selectors, read page text, click, type with native events, key press, scroll, wait for selectors, screenshot to disk, and in-page JS eval); the extension side executes them over a WebSocket protocol (commands camelCase in the extension, snake_case in the model-facing tools). When the extension is not connected, every tool fails with a clear message explaining how to connect it.
Install
⚠️ Install command not yet confirmed — check the README on GitHub for the exact command.
Compatibility
DSH web profile plus a Chromium browser (Chrome / Edge / Yandex) running the bundled Manifest V3 extension. The bridge binds only to the web server's loopback host (127.0.0.1 by default) and has no authentication — any local process could connect to /bridge and drive the browser, so treat it like shell access. browser_eval executes JavaScript in pages and should be granted only to trusted agents. The extension holds <all_urls> host permissions (needed to read tab URLs and act in any page) and talks only to the configured localhost URL.
Details
- Repo: egnmosk/dsh-browser-bridge
- Category: Agent Capabilities
- Stars: 1
- Version: GitHub main (README-documented; no npm package claimed)
- Last push: 2026-08-13
- First seen: 2026-08-13
Recent updates
README documents the dependency-free implementation and its test story: the WebSocket server is a minimal RFC 6455 implementation with no dependencies, and node test/run-test.mjs boots a real server plus a fake extension client to exercise every tool, timeouts, disconnect and the /bridge/info route (40 assertions, no harness boot required).
FAQ
- How do I install dsh-browser-bridge?
- There is no one-line command — the README documents a manual mount into the web profile's node_modules plus a browser-bridge row in ~/.dsh/profiles/web/cordis.patch.yml, followed by a dsh web restart and loading the bundled extension from the repo's extension folder via Load unpacked.
- How do I confirm the bridge is running?
- After the restart the server prints [browser-bridge] bridge ready - point the DSH Browser Bridge extension at ws://127.0.0.1:3080/bridge; dsh --profile web --dump-config | grep -A 3 browser-bridge shows the row and curl http://127.0.0.1:3080/bridge/info returns JSON.
- Is the bridge secured?
- No — it binds only to the loopback host and has no authentication, so any local process could connect to /bridge and drive the browser; the README says to treat it like shell access. The extension talks only to the configured localhost URL.