The DeepSeek Harness (DSH) plugin system allows agents to invoke various tools. When an agent needs to perform tasks in a local browser, the dsh-chrome-operation plugin connects to a local Chrome browser and converts browser operations into tools recognizable by DSH.

What It Is

This is a DSH plugin under the client category, maintained by developer alenjdl. Its core role is to act as a bridge between DSH agents and a local Chrome browser. It communicates with the chrome-operation extension installed in the browser over WebSocket, encapsulating browser behavior as DSH tools.

Installation and Enablement

Using this plugin requires completing two steps: installing the Chrome extension and installing the DSH plugin.

  1. Load the Chrome Expansion
    Open the chrome://extensions page. Enable “Developer Mode” in the upper-right corner. Click “Load unpacked extension” and select the directory of the chrome-operation extension. The extension will automatically write the authentication token to chrome.storage.local.

  2. Install the DSH Plugin
    Run the following command in a terminal or command line:

    dsh plugin add dsh-chrome-operation
  1. Restart DSH
    After installation is complete, restart the DSH desktop client to activate the plugin.

Core Features

The plugin exposes the following tools via a WebSocket bridge to control local Chrome:

  • browser_snapshot
  • browser_get_text
  • browser_navigate
  • browser_open_tab
  • browser_list_tabs
  • browser_close_tab
  • browser_click
  • browser_type
  • browser_press
  • browser_scroll
  • browser_wait
  • browser_back
  • browser_forward
  • browser_reload

Working Principle and Notes

The plugin relies on a locally running MV3 Chrome extension. The extension runs in a background service worker and listens on ws://127.0.0.1:18765/ext/bridge. The DSH process connects to that address over WebSocket and forwards tool calls to the extension for execution.

  • Network Restriction: The bridge only listens on the loopback address 127.0.0.1, restricting it to local use.
  • Snapshot Limitation: On complex pages, browser_snapshot may return empty content. If you need to read page content, it is recommended to use browser_get_text together with page navigation.
  • Authentication Mechanism: The extension reads the token from chrome.storage.local for authentication.
  • Configuration Cleanup: If DSH reports an error related to a dshWorkshop block, remove that top-level configuration key.

This plugin uses a local Chrome extension to achieve automation in the local browser. For more details, see the plugin catalog or the GitHub repository.