Introduction¶
DeepSeek Harness (DSH) plugin ecosystem allows developers to extend agent capabilities. When performing web searches or scraping web pages, public search APIs usually require API keys, are region-restricted, or have rate limits. This plugin directly controls the browser installed on your local machine via the Chrome DevTools Protocol (CDP), providing DSH agents with search and scraping capabilities that do not require an API key.
Plugin Overview¶
- Plugin Name:
dsh-local-browser-search - Maintainer: YUANMINGXUE
- Open Source License: MIT
- Core Functionality: Registers two tools for DSH agents—
browser_search(web search) andbrowser_fetch(page scraping).
Installation and Enablement¶
Use the DSH CLI to install the plugin. After installation, restart the web process for the tools to take effect.
dsh plugin --profile web add dsh-local-browser-search
After installation is complete, restart dsh web. The plugin registers the two tools mentioned above in the agent’s toolset.
Configuration¶
The default plugin configuration is stored in cordis.patch.yml. You can adjust the following parameters based on your network environment:
| Configuration | Default | Description |
|---|---|---|
headless |
true |
Whether to run in headless mode (false opens a visible window). |
engine |
bing |
Default search engine: bing, duckduckgo, or google. |
maxResults |
8 |
Maximum number of results returned by a single search. |
timeoutMs |
30000 |
Timeout for tool calls (milliseconds). |
browserPath |
null |
Path to the browser executable. If not set, it is auto-detected (Edge → Chrome → Brave). |
Additionally, you can set the DSH_BROWSER_PATH environment variable to force a specific browser.
How It Works¶
The plugin runs in the DSH process context and invokes the local browser through built-in Node.js modules:
- Detects and locates an installed Chromium-based browser (Edge by default on Windows).
- Launches the browser in headless mode with
--remote-debugging-portand creates a temporary user profile. - Drives the browser using Chrome DevTools Protocol (WebSocket JSON-RPC):
- Visits the search engine and executes the extraction logic.
- Reads the returned JSON data (title, URL, summary).
- After the task finishes, closes the browser process and cleans up the temporary profile.
Security and Permissions¶
- Data Privacy: The plugin does not use any saved user profiles, cookies, or browsing history. Each invocation uses a fresh temporary profile.
- Permission Scope: As a DSH plugin, this code runs inside the DSH process and has the same permissions as the current DSH process. It invokes the browser on your local machine.
- Security Recommendation: Before using it, it is recommended to review the source code to ensure it complies with your security policy.
References¶
- Plugin directory: https://www.skillhub.cn/plugins/YUANMINGXUE/dsh-search
- Source code: https://github.com/YUANMINGXUE/dsh-search