Introduction

DeepSeek Harness (DSH) extends its capabilities through a plugin mechanism. The built-in web_search tool is suitable for quick lookups, but it can feel limited when search requirements demand detailed sources, titles, links, and abstracts. The dsh-exa-search plugin integrates with the Exa Search API to provide more detailed web search capabilities, making it suitable for technical research and academic source discovery.

Plugin Overview

This is a web search tool plugin maintained by Kev-ZJY. It registers the exa_search tool and leverages Exa’s search capabilities to provide the model with more detailed web search results. The plugin is not tied to a specific model or GPU runtime.

Core Features

  1. Uses the Exa /search API and supports auto, fast, instant, deep-lite, deep, and deep-reasoning search types.
  2. Allows the model to pass query, numResults, and type parameters.
  3. Sets limits on query content, result count, response body size, and model-visible output.
  4. Supports request cancellation and timeout settings.
  5. API keys are not written to request logs, and configuration items are marked as sensitive.
  6. Returns stable error codes to facilitate log analysis and upstream processing.

Installation and Enablement

Install it using the following commands:

# 从 npm 安装
dsh plugin --profile web add dsh-exa-search

# 从 GitHub 安装
dsh plugin --profile web add github:Kev-ZJY/dsh-exa-search

# 从本地构建的包安装
dsh plugin --profile web add ./dsh-exa-search-0.1.0.tgz

Configuration

It is recommended to configure the API key using environment variables:

export EXA_API_KEY="你的 Exa API 密钥"

You can also set apiKey in the DSH plugin configuration. Plugin configuration has higher priority than environment variables; the plugin falls back to EXA_API_KEY only when the key is empty.

The plugin provides the following configuration items (they can be overridden via the DSH settings UI or bundle patch; restart the corresponding profile after changes):

Configuration Item Default Value Description
apiKey Empty Exa API key; reads EXA_API_KEY when empty
apiBaseUrl https://api.exa.ai Exa API endpoint; only HTTP/HTTPS is supported
timeoutMs 30000 Timeout for a single request; range is 1–120000 milliseconds
defaultType auto Default search type
defaultNumResults 5 Number of results when not specified
maxNumResults 25 Maximum number of results requested per call
maxOutputChars 40000 Maximum text returned to the model
maxResponseChars 1000000 Maximum Exa response body size

Typical Usage

When the model invokes the tool, pass the following parameters:

{
  "query": "DeepSeek Harness plugin development requirements",
  "numResults": 8,
  "type": "deep"
}

Parameter Limitations:
* query cannot be empty
* numResults must be an integer and must not exceed maxNumResults

Use Cases and Notes

  • Use Cases: In-depth research, technical research, or academic source discovery; scenarios where you need to retrieve more sources in a single search while preserving titles, links, authors, dates, and abstracts.
  • Notes:
    • Do not commit real keys to repositories, configuration patches, or logs.
    • After changing the configuration, restart the corresponding DSH profile to ensure that default values and limits in the tool description are updated.
    • License: MIT

Summary

dsh-exa-search strengthens DSH’s web capabilities and is suitable for scenarios that require greater search depth and result quality. For more details, see the DSH Plugin Directory or the GitHub Repository.