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-climatching 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:
- Check the environment: Run
lexmount_doctorto check the status. The first call triggers the download ofbrowser-cli. - Authentication: Run
lexmount_auth_loginand complete authorization via the system browser. - Session management: Create a temporary Session or persistent Context to reuse login state.
- Page operations: Use
lexmount_browser_snapshotto navigate and inspect the page structure, then use typed wait/click/fill tools to perform specific actions. - 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-clibinary 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.