Back to directory

dsh-milvus

In a curated listMaintenance: Active

zilliztech/dsh-milvus

DeepSeek Harness(DSH) plugin for Milvus

View on GitHub
$ dsh plugin add dsh-milvus

Install

dsh has no central install command — add this plugin’s entry (documented in its README) to your profile or patch config, then restart.

How installs work

4

stars

1

forks

JavaScript

Language

Apache-2.0

License

2026-08-18

Created

2026-10-20

Last push

README

Milvus for DSH

Milvus for DSH lets a DSH Desktop or Web agent inspect and search a Milvus deployment from chat. It supports Local Milvus and Zilliz Cloud, exact entity lookup, scalar queries, BM25 full-text search, and dense+BM25 hybrid retrieval. Natural-language dense search uses a DSH-managed embedding provider; BM25 runs entirely from the collection's Milvus Function schema.

Every Milvus operation exposed by this plugin is read-only. The plugin does not create collections, insert data, change indexes, or delete anything.

Requirements

  • DSH Desktop or Web 0.2.0-rc.2 or later, before 1.0.0
  • Node.js 22.19 or later
  • A Milvus HTTP(S) endpoint reachable from the DSH host
  • Optional: an API key from one of the supported embedding providers for dense and hybrid search

Install

In DSH Desktop, open Plugins → Add plugin, enter @zilliz/dsh-milvus, install it, and restart the app.

For DSH Web, install the package into the Web profile:

dsh plugin --profile web add @zilliz/dsh-milvus
dsh web

If dsh is not installed globally:

npx --yes @deepseek-ai/dsh@latest plugin --profile web add @zilliz/dsh-milvus
npx --yes @deepseek-ai/dsh@latest web

After installing or updating the plugin, restart DSH Desktop or Web. Refresh the browser page when using Web.

Set up the plugin

Open Plugins, then select @zilliz/dsh-milvus. Its configuration appears on the plugin details page. The setup follows the same order as using Milvus: connect a deployment, choose a collection, then enable only the search capabilities you need.

Connect Milvus

Choose Local Milvus Standalone or Zilliz Cloud, then enter the endpoint and optional database. Local Milvus normally uses http://127.0.0.1:19530 and database default. Zilliz Cloud requires its HTTPS endpoint and token. For an authenticated local deployment, select Add optional authentication and enter its token.

After saving, use Test connection. The card collapses the form into a connection summary so the deployment details no longer compete with collection setup.

The endpoint is resolved from the machine running DSH. When Milvus runs in another container or on another host, use an address reachable from the DSH host—not a loopback address inside the Milvus container.

The active connection is bound when a new chat starts. Changing it affects new chats; it does not silently switch an existing chat to a different deployment.

Choose a collection

The Collection selector is populated from the connected Milvus database. Pick one collection and DSH inspects its fields, indexes, and Functions on the Host. You do not type collection or schema field names in the normal setup path.

The card then reports four capabilities:

  • Scalar query is ready after a successful schema inspection.
  • BM25 search is ready when the collection has one valid Milvus BM25 Function route. It does not need an external API key.
  • Semantic search is ready after its embedding provider and discovered FloatVector field are mapped.
  • Hybrid search becomes ready automatically when both BM25 and semantic search are ready.

Enable semantic search when needed

This step is required only for natural-language dense and hybrid search. BM25 text search does not use an external embedding provider.

  1. Select Enable on the Semantic search capability.
  2. Choose a provider and model that match the vectors already stored in the collection.
  3. Enter the provider API key.
  4. Choose one FloatVector field discovered from the selected collection.
  5. Select Enable semantic search.

If a provider is already configured, reuse it instead of entering the key again. The field must contain document vectors created with that exact model and vector space. A matching dimension by itself does not prove compatibility; for example, gemini-embedding-001 and gemini-embedding-2 are not interchangeable.

Supported models in the settings UI:

Provider Models Supported output dimensions
OpenAI text-embedding-3-small, text-embedding-3-large, text-embedding-ada-002 1–1536; 1–3072; fixed 1536
Google Gemini gemini-embedding-2, gemini-embedding-001 128–3072
Cohere embed-v4.0, embed-english-v3.0, embed-english-light-v3.0, embed-multilingual-v3.0, embed-multilingual-light-v3.0 v4: 256/512/1024/1536; v3 full: 1024; v3 light: 384
Voyage AI voyage-4, voyage-4-large, voyage-4-lite, voyage-code-4, voyage-3.5, voyage-3.5-lite, voyage-code-3, voyage-finance-2, voyage-law-2 4/3.5/code-3: 256/512/1024/2048; finance/law: 1024
Mistral AI mistral-embed, codestral-embed 1024; 1–3072
Jina AI jina-embeddings-v5-text-small, jina-embeddings-v5-text-nano, jina-embeddings-v5-omni-small, jina-embeddings-v5-omni-nano, jina-embeddings-v4, jina-embeddings-v3 small/v3: 32/64/128/256/512/768/1024; nano: through 768; v4: 128/256/512/1024/2048
Together AI intfloat/multilingual-e5-large-instruct 1024

The first model shown for each provider is the recommended default. Older models appear only when the provider still serves them and they are useful for querying an existing collection created in that model's vector space. The catalog intentionally excludes deprecated models and models that require a dedicated endpoint.

The form disables vector fields whose dimensions the selected model cannot produce. Dimension compatibility is necessary but not sufficient: the stored document vectors must have been generated with that exact provider, model, task mode, and vector space.

Milvus tokens and embedding API keys are saved through write-only DSH Credentials. Their values are never stored in plugin settings, returned to the browser after saving, or added to chat history.

Read the full README on GitHub →

DSH Plugins is an independent community directory of DeepSeek Harness plugins. Not affiliated with or endorsed by DeepSeek. Third-party plugins are not security-audited — review the source before installing.

New DeepSeek Harness plugins, weekly. No spam.