Introduction

DeepSeek Harness (DSH) implements web search through the ctx.web interface using a WebSearchProvider. The existing first-party Exa provider cannot enable Exa Dynamic Highlights because the request body is hard-coded and the required Exa-Beta request header is missing. The qp-exa-dynamic plugin fills this gap by providing full Exa support for DSH, enabling dynamic highlights by default and allowing search strategies to be adjusted at runtime.

Features

This plugin is an Exa-backed WebSearchProvider and provides the following capabilities:
* Exa Dynamic Highlights: Enabled by default. Unlike simple truncation, it allocates the context budget based on document relevance.
* Runtime configuration: Use the /exa command to adjust the highlights toggle, retrieval type, and number of results without restarting the process.
* exa_search tool: The plugin registers a standalone model tool, exa_search, with a result limit of 1-50, independent of the default ctx.web limit.
* Retrieval types: Supports types such as keyword, neural, fast, instant, and auto.

Installation

Add the plugin using the official install command:

dsh plugin --profile web add qp-exa-dynamic

Configuration

  1. Override Provider: After installation, override the web configuration in profiles/web/cordis.patch.yml to select this provider:
- id: web
  name: '@deepseek-ai/dsh-web'
  config:
    searchProvider: exa
    fetchProvider: http
  1. Provide API Key: Provide it via the environment variable EXA_API_KEY or directly in the plugin configuration file. The plugin reads apiKeyEnv by default (default value: EXA_API_KEY).

Usage

  • Command line: Enter /exa in the DSH composer to view or toggle the status. Examples:
    • /exa type deep: Sets the retrieval type to semantic.
    • /exa results 3: Sets the number of results to 3.
  • Tool invocation: On the model side, you can directly call the exa_search tool:
    exa_search(query, maxResults: 20)

Notes

  • dynamicHighlights and highlightsMaxCharacters are mutually exclusive.
  • The plugin version is 0.1.0, and the license is MIT.

Conclusion

By resolving the limitations of the first-party provider, this plugin enables DSH to leverage Exa’s dynamic highlights and advanced retrieval capabilities, while also giving the model more flexible invocation options through the tool interface.