Introduction¶
The core design philosophy of DeepSeek Harness is “everything is a plugin.” In agent development, it is often necessary for an Agent to simulate a real user and perform a series of operations in a browser, such as logging into a system, filling out forms, and querying orders. Manually writing Playwright or Selenium scripts is costly and hard to maintain, while the native capabilities of DSH may not directly cover complex browser interaction scenarios. The following introduction covers the dsh-browser-ops plugin, which allows DSH Agents to directly take over a real browser and supports recording manual operation flows for automatic parameterized replay to generate test data.
What Is It¶
dsh-browser-ops is a DeepSeek Harness plugin maintained by the user lirui1024k. It aims to solve the problem that agents cannot directly operate a browser. It allows Agents to perform actions such as taking snapshots, clicking, and filling on Chrome through 27 browser_* tools, and it supports recording manual operations into JSON flows with variable slots for parameterized replay later. The plugin is not an official DeepSeek product and is released under the MIT license.
Core Features¶
- Direct browser control by Agents: provides 27 tools, including
browser_launch,browser_open,browser_snapshot,browser_click,browser_fill,browser_select,browser_read_text,browser_read_table,browser_eval,browser_screenshot, andbrowser_diagnostics, covering basic browser control and diagnostic capabilities. - Recording operation flows: through
browser_record_startandbrowser_record_stop, manual operations performed in a browser window can be recorded into a JSON flow file and stored under theflows/directory in the data directory. - Variable slots and automatic replay: supports defining variable slots in a flow. Parameters can be filled in through
browser_run_flowto execute the flow, andverifyTextcan be used to verify the result. - Web GUI panel: the DSH settings page provides a “Browser Operations” tab, supporting browser launch/connection, start/stop recording, viewing the flow list, editing variables, and one-click replay.
- Two browser modes:
- Managed (default): the plugin launches an independent Chrome browser and uses a dedicated profile directory. The login state is persisted and does not affect everyday browser data.
- Connect: connects to the everyday Chrome browser through CDP (Chrome DevTools Protocol).
Installation and Activation¶
Make sure DeepSeek Harness Desktop is installed and the Node.js version is at least 20. Run the following command to install the plugin:
dsh plugin --profile dsh-desktop add dsh-browser-ops
After installation, restart DSH Desktop. New sessions can then use the browser_* tools, or you can check the panel in the “Browser Operations” section on the settings page.
Typical Usage¶
- Launch the browser, open a test system (for example,
https://test.example.com), and complete login manually. - Start recording a flow: use
browser_record_start, manually perform the “create order” operation in the browser, and then usebrowser_record_stop. - Configure variables: use
browser_flow_editto mark “Customer Name” in a step as a variable slot. - Replay automatically: run
browser_run_flow, pass the parameter{"客户名称": "张三"}, and useverifyTextto check whether the page displays “创建成功”.
Use Cases and Cautions¶
This plugin is suitable for scenarios that require automated browser operations by agents, recording manual flows for reuse, and generating test data through parameterized replay.
Known limitations:
* It does not support file upload, drag-and-drop operations, interaction with elements inside iframes, or cross-tab operations.
* Locators prioritize semantic tags (label/placeholder/text/testid/id); re-recording is recommended when the page structure changes significantly.
* The connect mode currently provides one-click script support for macOS only.
* Chrome auto-detection in managed mode is mainly designed for macOS; on other platforms, specify the path through the environment variable DSH_BROWSER_CHROME.
* The plugin runs with the permissions of the current DSH process. Please review the source code and license before installation.
Summary¶
By providing a rich set of browser_* tools and a visual recording/replay mechanism, dsh-browser-ops lowers the barrier for agents to take over a browser. It is suitable for scenarios that require frequent test data creation or complex browser interactions. For more details, refer to the plugin directory or the GitHub repository.