Introduction

DeepSeek Harness (DSH) uses a plugin-based architecture. When developing agents, if direct browser operations are needed (such as login, scraping dynamic content, or executing automated tasks), heavy drivers like Selenium or Playwright are usually required. The lexmount/dsh-browser plugin injects Lexmount’s cloud browser capabilities into DSH by registering native tools, allowing the model to call browser operations directly without manually managing drivers.

Plugin Overview

This is a lightweight bundle for DeepSeek Harness. It registers 31 native tools and invokes the Rust-based browser-cli executable at the lower level. The package does not include browser binaries and does not depend on Lexmount’s Node.js SDK.

Core Features

  • 31 native tools: Cover diagnostics, authentication, session management, download management, and context management.
  • Browser operations: Support opening URLs, waiting for elements/text, clicking, filling forms, page snapshots, screenshots, and exporting PDFs.
  • Advanced capabilities: Support executing arbitrary JavaScript and Chrome DevTools Protocol (CDP) commands.
  • Automatic download and caching: On the first call, it downloads the browser-cli matching the current platform over the network and automatically validates the SHA-256 checksum; subsequent calls reuse the cache and support offline operation.

Installation and Enablement

Before installation, make sure the environment meets the following requirements:
* Node.js >= 22.14.0
* DeepSeek Harness >= 0.1.0-rc.6 and < 0.2.0
* Global pnpm (installable via Corepack)

In DSH’s Web profile, run the following command to install the plugin:

npx --yes @deepseek-ai/dsh@0.1.0-rc.6 plugin --profile web add @lexmount/dsh-browser@0.1.1

Typical Usage

After the plugin is installed, perform initialization and operations with the following commands:

  1. Check the environment: Run lexmount_doctor to check the status. The first call triggers the download of browser-cli.
  2. Authentication: Run lexmount_auth_login and complete authorization via the system browser.
  3. Session management: Create a temporary Session or persistent Context to reuse login state.
  4. Page operations: Use lexmount_browser_snapshot to navigate and inspect the page structure, then use typed wait/click/fill tools to perform specific actions.
  5. Cleanup: Close temporary Sessions after use.

Applicable Scenarios and Notes

  • Platform support: Currently supports Windows x64, macOS Apple Silicon, and Linux x64. macOS Intel and Linux ARM64 are not in the support list.
  • Headless mode: Headless profiles must complete authentication in advance, because the PKCE flow requires an interactive browser.
  • Security: Model input is passed as a sub-process argument array (shell: false) and does not concatenate shell commands, preventing injection attacks. API keys and sensitive information are automatically removed from returned data.
  • Offline support: The browser-cli binary is stored in cache after download and can be reused after subsequent restarts without downloading again.

Conclusion

By providing standardized native tool interfaces, this plugin lowers the barrier to browser automation in DSH environments. Developers can refer to the Skill Directory or GitHub repository for more details.