DeepSeek Harness Plugin Hub

Publish and manage complete Harness Profiles. Discover Plugins for your next setup.

Explore

PluginsPresetsDocsNews

Community

Publish a pluginContactReport an issue

Resources

Plugin Hub on GitHubDeepSeek HarnessSystem statusPrivacy notice
© 2026 DeepSeek Harness Plugin HubPowered byPaxTech

Independent and unofficial. Not affiliated with, authorized by, or endorsed by DeepSeek.

Multi Search — DSH Plugin for DeepSeek Harness
DeepSeek Harness Plugin Hub
ProfilesPluginsCategoriesNewsDocsSign inManage Profiles
ProfilesPluginsCategoriesNewsDocsSign in
← Plugins

@kamitobi/dsh-multi-search

Multi Search

Community plugin — NOT affiliated with DeepSeek AI. Extensible multi-provider web search for DSH — built-in DashScope and MiMo, easy to add more.

The plugin will be installed here. Keep web if you are unsure.

npx -y @deepseek-ai/dsh plugin --profile web add @kamitobi/dsh-multi-search@0.2.3
READMECompatibilityVersions

Compatibility and provenance

Multi Search is published as @kamitobi/dsh-multi-search and currently resolves to version 0.2.3. The Hub verifies its manifest and preserves the exact installation source for reproducible installs.

DSH compatibility
*
Runtime surfaces
any
Release source
npm
Registry updated
9/20/2026

Versions

0.2.3stable
8/17/2026
0.2.2stable
8/17/2026
0.2.1stable
8/17/2026
Show 7 more versionsCollapse versions
0.2.0stable
8/17/2026
0.1.6stable
8/16/2026
0.1.5stable
8/16/2026
0.1.4stable
8/16/2026
0.1.3stable
8/16/2026
0.1.2stable
8/16/2026
0.1.1stable
8/16/2026

Related plugins

Loading related plugins…

Latest
0.2.3
DSH
*
HMR
Process restart
Tree shaking
Safe tree shaking not declared
Unpacked size
152.1 kB
Files
50
Surface
any
License
MIT
Source
npm
GitHub
★ 0
Weekly downloads
74
View source ↗Project homepage ↗
README badge

Click the badge to copy Markdown for your README.

Do you maintain this Plugin?Claim benefit · Priority security scan

Verify the GitHub repository declared in package.json to manage this listing. After you claim it, Hub will prioritize a security scan of the current version and publish the result when it passes.

Claim this Plugin →
Report an issue

Related plugins

More verified plugins in search-research.

Weknora@wxg-prc-cpg/dsh-weknoraWeKnora knowledge retrieval tools for DeepSeek Harness (dsh): semantic search, document reading and RAG/agent answers over your own knowledge bases.Anysearch Dsh@anysearch/anysearch-dshAnySearch web search and fetch providers plus advanced tools for DeepSeek HarnessResearch Reportdsh-research-reportVerifiable research-report engine for DeepSeek Harness: a content-addressed evidence ledger (claim 閳?snapshot binding, tamper-evident) plus versioned sealed reports where every claim carries a verification verdict and the manifest hash seals the directoryIndustry Researchdsh-industry-researchIndustry and company research domain pack for DeepSeek Harness: methodology skills, an industry-chain structure model (industry_map), public-source policy/news tracking over ctx.web (industry_track), company scan cards (company_scan), and auditable resear

README

@kamitobi/dsh-multi-search

⚠️ Disclaimer: This is a community plugin and is NOT affiliated with, endorsed by, or maintained by DeepSeek AI. For the official project, see deepseek-ai/deepseek-harness.

English · 中文


English

Use DashScope, MiMo, MiniMax, Zhipu, or any third-party search API in DeepSeek Harness.

DSH's built-in web_search tool only works with DeepSeek's proprietary search API. This plugin replaces it with a drop-in adapter that speaks DashScope (阿里云百炼), Xiaomi MiMo, MiniMax, Zhipu AI (GLM), or any provider you build — so your agent can search the web using the API you already have.

The Problem

DSH ships one search provider (deepseek-official) that:

  1. Speaks Anthropic Messages protocol — not OpenAI Chat Completions.
  2. Requires a paid DeepSeek key and routes through DeepSeek's server.
  3. Cannot be swapped for local models or alternative providers.

If you use Qwen models via DashScope, MiMo via Xiaomi, MiniMax, Zhipu GLM, or any other provider with web search capabilities, the built-in search is useless to you. dsh-multi-search fixes that.

Install

dsh plugin --profile web add @kamitobi/dsh-multi-search

Setup

Run the interactive setup wizard:

npx -p @kamitobi/dsh-multi-search dsh-multi-search-setup

The wizard will:

  • Auto-detect your DSH profiles
  • Let you choose a search provider (MiMo / DashScope)
  • Prompt for your API key (paste directly or type an env var name)
  • Optionally set a custom base URL
  • Write the config to your profile's cordis.patch.yml

If you used an env var, make sure it's exported (in ~/.bashrc or ~/.zshrc):

export XIAOMI_API_KEY='your-api-key-here'

Then restart DSH:

dsh web

Reconfigure

To change provider, API key, or other settings, run setup again:

npx -p @kamitobi/dsh-multi-search dsh-multi-search-setup

It will show your current config and ask if you want to reconfigure.

Prefer manual config? Click to expand

Edit ~/.dsh/profiles/web/cordis.patch.yml directly:

- id: multi-search
  config:
    activeProvider: mimo
    mimo:
      apiKeyEnv: 'XIAOMI_API_KEY'
      model: 'mimo-v2.5'

- id: web
  config:
    searchProvider: multi-search

Then export the env var and restart DSH.

Configuration

API Key — choose ONE of:

MethodConfigNotes
Env var (recommended)apiKeyEnv: 'MY_KEY'Key stays in your shell, not in YAML
Direct keyapiKey: 'sk-xxx'Simpler, but stored in plaintext

Provider options:

FieldTypeDefaultDescription
activeProviderstringmimomimo / dashscope / minimax / zhipu
modelstringprovider defaultModel identifier
baseURLstringprovider defaultCustom API endpoint
maxResultsnumber5Max search results

DashScope-specific:

FieldTypeDefaultDescription
forceSearchbooleanfalseAlways search
searchStrategystringmaxturbo / max / agent

MiMo-specific:

FieldTypeDefaultDescription
forceSearchbooleantrueAlways search
maxKeywordnumber3Max keywords per search round

Adding a New Provider

The plugin uses a provider registry pattern. Adding a new search backend takes ~20 lines:

// src/providers/tavily.ts
import type { WebSearchProvider, WebSearchRequest, WebSearchResult } from '@deepseek-ai/dsh-web'
import type { BaseProviderConfig } from '../types.js'

export class TavilySearchProvider implements WebSearchProvider {
  readonly id = 'multi-search'
  constructor(private readonly config: BaseProviderConfig) {}

  available(): boolean {
    return Boolean(this.config.apiKey)
  }

  async search(request: WebSearchRequest, signal?: AbortSignal): Promise<WebSearchResult> {
    // Call your search API, return { content, sources, truncated }
    throw new Error('Not implemented')
  }
}

Then register it in src/index.ts:

import { TavilySearchProvider } from './providers/tavily.js'

registerProvider('tavily', {
  create: (config) => new TavilySearchProvider(config),
})

See the built-in DashScope and MiMo providers as reference.

Architecture

Agent calls web_search("query")
        │
        ▼
   DSH web seam (ctx.web)
        │
        ▼
   dsh-multi-search plugin  ← replaces deepseek-official
        │
   ┌────┴────┐
   │         │
DashScope  MiMo

The plugin overrides DSH's searchProvider config to point at its own provider — the web_search tool name stays the same, but requests go through your configured third-party API instead of DeepSeek's.

Troubleshooting

ProblemSolution
"Provider not available (missing API key)"Set apiKey in config, or set apiKeyEnv + export the env var
Search returns empty sourcesTry forceSearch: true; check if your model supports enable_search / web_search
"Multiple usable web providers"Ensure searchProvider: multi-search is set in web seam config (the plugin does this automatically)

License

MIT

Credits

  • DeepSeek Harness — the agent framework
  • dsh-web — the web capability seam

中文

在 DeepSeek Harness 中使用 DashScope、MiMo 或任何第三方搜索 API。

DSH 内置的 web_search 工具只能使用 DeepSeek 的专有搜索 API。本插件将其替换为一个即插即用的适配器,支持 DashScope(阿里云百炼)、小米 MiMo 或你自行开发的搜索后端 — 让你的 Agent 用已有的 API 联网搜索。

为什么需要这个插件?

DSH 内置的搜索提供商(deepseek-official)有以下限制:

  1. 使用 Anthropic Messages 协议,不是 OpenAI Chat Completions。
  2. 需要 付费 DeepSeek API Key,请求走 DeepSeek 服务器。
  3. 不支持本地模型或其他替代提供商。

如果你用的是 DashScope 上的 Qwen 模型、小米 MiMo,或其他支持搜索的提供商,内置搜索对你来说毫无用处。dsh-multi-search 解决了这个问题。

安装

dsh plugin --profile web add @kamitobi/dsh-multi-search

配置

运行交互式配置向导:

npx -p @kamitobi/dsh-multi-search dsh-multi-search-setup

向导会:

  • 自动检测你的 DSH profiles
  • 让你选择搜索提供商(MiMo / DashScope)
  • 提示输入 API Key(直接粘贴或输入环境变量名)
  • 可选设置自定义 API 端点
  • 将配置写入 profile 的 cordis.patch.yml

如果使用了环境变量,确保在 ~/.bashrc 或 ~/.zshrc 中导出:

export XIAOMI_API_KEY='你的 API Key'

然后重启 DSH:

dsh web

修改配置

要更换提供商、修改 API Key 或其他设置,重新运行向导即可:

npx -p @kamitobi/dsh-multi-search dsh-multi-search-setup

向导会显示当前配置,确认后即可修改。

想手动配置?点击展开

直接编辑 ~/.dsh/profiles/web/cordis.patch.yml:

- id: multi-search
  config:
    activeProvider: mimo
    mimo:
      apiKeyEnv: 'XIAOMI_API_KEY'
      model: 'mimo-v2.5'

- id: web
  config:
    searchProvider: multi-search

然后导出环境变量,重启 DSH。

配置说明

API Key — 二选一:

方式配置说明
环境变量(推荐)apiKeyEnv: 'MY_KEY'Key 留在 shell 中,不写入 YAML
直接填写apiKey: 'sk-xxx'更简单,但明文存储

提供商选项:

字段类型默认值说明
activeProviderstringmimomimo / dashscope / minimax / zhipu
modelstring提供商默认模型标识符
baseURLstring提供商默认自定义 API 端点
maxResultsnumber5最大搜索结果数

DashScope 专属:

字段类型默认值说明
forceSearchbooleanfalse强制搜索
searchStrategystringmaxturbo / max / agent

MiMo 专属:

字段类型默认值说明
forceSearchbooleantrue强制搜索
maxKeywordnumber3每轮最大关键词数

添加新搜索提供商

插件采用 Provider 注册表 模式,添加新搜索后端只需 ~20 行代码:

// src/providers/tavily.ts
import type { WebSearchProvider, WebSearchRequest, WebSearchResult } from '@deepseek-ai/dsh-web'
import type { BaseProviderConfig } from '../types.js'

export class TavilySearchProvider implements WebSearchProvider {
  readonly id = 'multi-search'
  constructor(private readonly config: BaseProviderConfig) {}

  available(): boolean {
    return Boolean(this.config.apiKey)
  }

  async search(request: WebSearchRequest, signal?: AbortSignal): Promise<WebSearchResult> {
    // 调用你的搜索 API,返回 { content, sources, truncated }
    throw new Error('Not implemented')
  }
}

然后在 src/index.ts 中注册:

import { TavilySearchProvider } from './providers/tavily.js'

registerProvider('tavily', {
  create: (config) => new TavilySearchProvider(config),
})

参考内置的 DashScope 和 MiMo 实现。

工作原理

Agent 调用 web_search("查询")
        │
        ▼
   DSH web seam (ctx.web)
        │
        ▼
   dsh-multi-search 插件  ← 替换 deepseek-official
        │
   ┌────┴────┐
   │         │
DashScope  MiMo

插件覆盖了 DSH 的 searchProvider 配置,指向自己的提供商 — web_search 工具名不变,但请求走的是你配置的第三方 API,而不是 DeepSeek 的。

常见问题

问题解决方案
"Provider not available (missing API key)"在配置中设置 apiKey,或设置 apiKeyEnv + 导出环境变量
搜索返回空结果尝试 forceSearch: true;检查模型是否支持 enable_search / web_search
"Multiple usable web providers"确保 web seam 配置中设置了 searchProvider: multi-search(插件会自动处理)

许可证

MIT

致谢

  • DeepSeek Harness — Agent 框架
  • dsh-web — Web 能力缝合层