Introduction

DeepSeek Harness (DSH) is built on the philosophy that “everything is a plugin.” Each official web search trigger consumes one model call and has performance bottlenecks. The tavily-search plugin uses the Tavily API to take over the model’s web_search tool, replacing DeepSeek’s official search. Tavily is cheaper and faster.

Core Features

  1. Registers the tavily WebSearchProvider to replace official search
  2. Keys are resolved in real time through the credentials service and leave no residue after uninstallation
  3. Provides a settings page to manage the key, search behavior (maxResults/searchDepth), and usage statistics
  4. Supports connection testing and same-origin validated routing
  5. Pay-per-use (basic 1 credit/search, advanced 2 credits/search)
  6. Server-side 60-second caching and 10 req/10min rate limiting handling

Installation and Activation

Run the following command to install the plugin:

dsh plugin --profile web add github:Yinxe/dsh-tavily-search

After installation, restart the web service:

dsh web

Configuration and Usage

  1. Paste your Tavily API Key in the settings page and save it.
  2. Use the connection test box to verify search functionality.
  3. Configure maxResults and searchDepth under the dshp-inx-tavily-search namespace in settings.yaml:
dshp-inx-tavily-search:
  maxResults: 5
  searchDepth: basic
  1. If multiple search providers exist, you must explicitly configure searchProvider: tavily in cordis.patch.yml.

Notes

  • The key is written to the credential store, is not echoed, and is not included in the model context.
  • Routing includes same-origin validation; it is recommended to access the web port directly from a browser.
  • Requires Node.js >= 20.