Back to home@Ever0330

universal-search

Universal search provider for DeepSeek Harness web capability seam, supporting multiple API formats.

Stars
0
Language
TypeScript
Created
Aug 24, 2026
Updated
Aug 24, 2026

Introduction

@deepseek-ai/dsh-Universal-Search

中文文档 | English

Universal search provider for DeepSeek Harness web capability seam, supporting multiple API formats.

Overview

This plugin registers a universal search provider in ctx.web, enabling the agent to perform web searches using various API providers. It supports OpenAI-compatible APIs, DeepSeek Anthropic format, and custom providers.

Problem Solved

  • Provides web search capability using multiple API providers
  • Integrates with DeepSeek Harness's web capability seam (ctx.web)
  • Supports credential management through the harness's credential system
  • Enables the agent to search the web and return structured results
  • Allows users to choose their preferred search API provider

Implementation

  • Uses a modular provider architecture
  • Supports OpenAI-compatible APIs (including Xiaomi MiMo, Ollama, etc.)
  • Supports DeepSeek Anthropic format
  • Normalizes search results to a common format
  • Configurable model, token limits, and custom headers

Default Configuration

The default configuration uses deepseek-official, which reuses the DeepSeek API Key configured in Settings > Models.

Custom API Configuration (Recommended)

The default configuration uses DeepSeek, but you can configure other API providers:

Method 1: Modify cordis.patch.yml

- id: universal-search
  name: '@deepseek-ai/dsh-Universal-Search'
  config:
    provider: openai-compatible  # or 'deepseek', 'custom'
    apiKeyEnv: YOUR_API_KEY_ENV  # Your API key environment variable name
    baseURL: https://your-api.com/v1  # Optional, override default endpoint
    model: your-model  # Optional, override default model

Method 2: Set Environment Variable

# For OpenAI-compatible API
export YOUR_API_KEY_ENV=your_api_key_here

# For Xiaomi MiMo
export XIAOMI_API_KEY=your_api_key_here

# For Ollama (local, no API key needed)
# No environment variable needed

Method 3: Configure in DSH Web GUI

  1. Navigate to Settings > Plugins
  2. Find the "Universal Search" card
  3. Configure API key, endpoint, model, etc.
  4. Save

Supported Providers

ProviderTypeEndpointRequires API Key
DeepSeekdeepseek-officialhttps://api.deepseek.comYes (reuses DeepSeek config)
OpenAIopenai-compatiblehttps://api.openai.com/v1Yes
Xiaomi MiMoopenai-compatiblehttps://api.xiaomimimo.com/v1Yes
Ollamaopenai-compatiblehttp://localhost:11434/v1No

Configuration Options

OptionTypeDefaultDescription
providerstringdeepseek-officialProvider type
apiKeystring-Literal API key
apiKeyEnvstring-Environment variable name for API key
baseURLstringBased on providerAPI endpoint base URL
modelstringBased on providerModel name for search requests
maxTokensnumber4096Maximum tokens for response

Files to Modify in DeepSeek Harness

If installing as a standalone plugin, you need to modify:

  1. packages/bundle/base/package.json - Add dependency:

    "@deepseek-ai/dsh-Universal-Search": "workspace:^"
    
  2. packages/bundle/base/cordis.patch.yml - Add plugin entry:

    - id: universal-search
      name: '@deepseek-ai/dsh-Universal-Search'
      config:
        provider: deepseek-official
    
  3. packages/web/universal-search/package.json - Update repository directory if needed