Introduction¶
When developing agents in DeepSeek Harness (DSH), the stability and controllability of search capabilities are often challenging. Existing solutions either rely on dynamic loading (which is unreliable when defining the agent scope) or lack a unified configuration entry point. The dsh-search-hub plugin provides a persistent, agent-visible multi-channel search solution, addressing the problem of agents being unable to reliably obtain external information while performing tasks.
Plugin Introduction¶
dsh-search-hub is a plugin designed for DeepSeek Harness (DSH), maintained by developer FuLuTang and released under the MIT License. It is a Host-only bundle that mounts configuration services during installation through the dsh.bundle.patch mechanism, providing agents with multi-channel web search capabilities.
Core Features¶
The plugin provides the following core capabilities:
* Multi-channel search: supports Exa semantic search, DuckDuckGo Lite fallback, and xAI Grok integration.
* Concurrent execution: runs selected search channels simultaneously via the multi_search tool.
* Persistent configuration: search channel configuration is managed through configuration-file scoping.
* Agent visibility: tools are composed via persistent agent-preset entries, ensuring they are visible to the model.
Installation and Enablement¶
Plugin installation must be performed using DSH’s plugin command.
- Install the plugin
Run the following command in your terminal to install the plugin:
dsh plugin add dsh-search-hub
- Configure the Agent Preset
Because DSH rc.6 dynamic Cordis tools are unreliable within the defined agent scope, the actually available search tools are provided through a persistent agent-preset. After installation, copy thepreset/template from the plugin package to the specified directory:
# 复制模板到 DSH 的 agent-preset 目录
cp -r <plugin_dir>/preset/* ${DSH_HOME:-$HOME/.dsh}/.agent-presets/search-hub/
- Verify and Restart
After installation, restart DSH, then select the Search Hub preset in a new agent session. After startup, use thesearch_channelscommand to verify the tool catalog visible to the model.
Typical Usage¶
The plugin provides the following main tools for managing and executing search tasks:
-
search_channels
Used to view available search channels and their current configurations. The output includes channel names, roles (such as semantic search or fallback), and key/cost requirements. This is the first step for verifying the configuration after installation. -
multi_search
Runs the selected search channels. This tool accepts one or more channel names as arguments and executes search requests concurrently within the process. By default, it uses the freeexa-anonandddgchannels. -
configure_key
Used to store an xAI API key. This command stores the key under the environment variableXAI_API_KEYvia DSH’s credential service, and does not echo the plaintext key in the terminal. -
check_balance
Used to check the xAI key and configuration status. Since xAI does not provide a stable public balance endpoint, this tool can only determine status by observing Grok request execution; it does not fabricate an account balance.
Use Cases and Notes¶
Use cases:
* Use the grok channel when X/Twitter coverage or long-tail content coverage is required.
* Use exa-anon when semantic search with structured URLs and citation summaries is required.
Notes:
* Network routing: This plugin has no proxy UI or proxy override functionality. Network routing directly follows the connection capabilities of curl.exe on the machine. If certain channels cannot be accessed locally, you must manually configure Clash or a system proxy (for example, TUN rules).
* xAI integration: There is currently no standalone xAI search endpoint. Grok’s search capability depends on xAI’s Web Search and X Search tools, with an invocation cost of approximately $5 per 1k searches.
* Configuration security: Do not store API keys in plaintext in YAML files, Git repositories, or chat history. They must be managed through configure_key or DSH’s credential settings interface.
* Host-only bundle: The current version is a Host-only bundle. A full channel configuration page still awaits completion of Web profile integration.
Conclusion¶
dsh-search-hub encapsulates search capabilities as a persistent toolset, addressing stability issues in information retrieval for DSH agents. Its modular channel design and configuration-file-based mechanism provide developers with flexible control over search strategies.
For more details and source code, visit:
* GitHub repository
* DSH plugin directory