dsh-browser-control: Enabling AI in DeepSeek Harness to Control Real Chrome

Preface

When working on browser-related tasks in DeepSeek Harness (DSH), if the AI can only control the browser in the background, it’s not easy to directly verify the operation process. dsh-browser-control provides a more intuitive path: letting the AI control a real, visible Chrome browser and see each step in real-time in the conversation GUI.

Below is an introduction to this plugin’s positioning, core capabilities, installation method, and typical usage.

What This Is

dsh-browser-control is a DeepSeek Harness plugin maintained by kyo615, licensed under MIT, with copyright owned by kyo615.

Its one-line positioning: letting the AI in DeepSeek Harness control a real, visible Chrome browser and see each step in real-time in the conversation GUI.

The plugin is based on microsoft/playwright-mcp and connects via MCP stdio. It only calls the public plugin APIs of DSH / Cordis and does not include or modify their source code.

Core Capabilities

Real Headed Chrome

The plugin uses a real headed Chrome, not a headless browser. When the AI performs actions such as mouse movement, input, or clicks, you can directly see the actual browser actions on your desktop.

AI-Oriented browser_* Tools

The plugin registers approximately 80 browser_* tools to the AI, for example:

  • browser_navigate
  • browser_click
  • browser_type
  • browser_snapshot
  • browser_press_key
  • browser_mouse_click_xy
  • browser_tabs
  • browser_evaluate

These tools are used to complete tasks such as web navigation, clicking, typing, key presses, tab management, and script execution.

Real-Time Embedded GUI Feed

After each AI action, the plugin takes a screenshot to live.png and refreshes it to the conversation panel via the host HTTP route /dsh-browser/shot.png.

The numbered boxes on the panel screenshot correspond to the element IDs the AI can click. This allows you to see both the browser view and the element positions the AI is interacting with simultaneously in the conversation GUI.

Interactive Panel

The conversation panel supports the following operations:

  • URL bar navigation
  • Refresh view
  • Restart browser
  • Close browser

Zero Hardcoded Paths

The plugin declares zero hardcoded paths. All paths are auto-detected or configurable. No manual assembly of local absolute paths is required.

Installation & Enablement

First, confirm the runtime environment:

  • DeepSeek Harness, or an environment compatible with its dynamic Cordis plugin mechanism
  • Node.js ≥ 18
  • Google Chrome (or Edge) installed on the system

First, run the installation command:

dsh plugin add https://github.com/kyo615/dsh-browser-control

After installation, you also need to install dependencies in the corresponding workspace:

npm install @playwright/mcp

If you use the dynamic plugin approach—defined and run via cordis_define / cordis_run—then it is process-level: after restarting DSH, you need to redefine and rerun it. The Client part requires authorization.

Typical Usage

After completing the steps above, you can trigger browser operations in the following ways.

  1. Directly tell the AI:
  • Open a website
  • Search for something
  • Help me operate the webpage
  1. Enter a URL in the panel’s URL input box and navigate.

  2. If the browser is not running, the AI can call browser_status with start: true to launch the browser itself.

  3. Use the panel to refresh the view, restart the browser, or close the browser.

Applicable Scenarios & Notes

Suitable for scenarios where you want to perform web navigation, search, clicks, typing, and other operations within DSH conversations while seeing the real browser view.

Things to note before use:

  • The plugin allows the AI to control the browser and perform real operations. You are responsible for compliance with website terms, login states, automated access restrictions, etc.
  • Before use, check the source code and license, and confirm the current DSH process’s permission scope, available resources, and target website access restrictions.
  • Third-party dependencies include microsoft/playwright-mcp, Playwright, etc., which involve the Apache-2.0 license. See THIRD_PARTY_NOTICES in the repository for details.
  • The dynamic plugin approach requires redefining and rerunning after a DSH restart.

Related Links

GitHub repository:

https://github.com/kyo615/dsh-browser-control
羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

Xiaoye