bobjia/dsh-context-milvus ↗★ 2
dsh-context-milvus
DSH plugin for semantic code search via Milvus vector database
AI 分析
该插件暂无 AI 分析内容。
安装
$
npx -p @deepseek-ai/dsh dsh plugin --profile web add github:bobjia/dsh-context-milvus说明文档
阅读完整 README ↗Configuration
| Field | Default | Description |
|---|---|---|
specRoot | docs/superpowers/specs | Spec document directory (relative to indexRoot) |
planRoot | docs/superpowers/plans | Implementation plan directory (relative to indexRoot) |
Spec document fusion follows the adrEnabled toggle — no additional configuration needed.
Method 3: From Git (requires additional configuration)
dsh plugin --profile web add git+https://github.com/bobjia/dsh-context-milvus.git
dist/output is not committed to git. The plugin uses thepreparescript to automatically runtscduring installation.pnpm 10 limitation: pnpm 10 blocks execution of build scripts by default. If you see:
ERR_PNPM_GIT_DEP_PREPARE_NOT_ALLOWED The git-hosted package "dsh-context-milvus@0.1.2" needs to execute build scripts but is not in the "onlyBuiltDependencies" allowlist.Add to your profile's
pnpm-workspace.yaml:# ~/.dsh/profiles/
/pnpm-workspace.yaml
onlyBuiltDependencies:
- dsh-context-milvus
Then re-run the install command. Or run `pnpm approve-builds` and select `dsh-context-milvus`. To avoid this authorization, use Method 1 (npm) or Method 2 (tarball).
Configuration System
Priority (highest → lowest)
- Cordis Config (set via
cordis.patch.ymlor DSH Web GUI) - Environment variables (fallback)
- Defaults (e.g.,
localhost:19530)
Configuration fields
| Field | Environment Variable | Type | Default | Description |
|---|---|---|---|---|
milvusAddress | MILVUS_ADDRESS | string | localhost:19530 | Milvus server address |
milvusToken | MILVUS_TOKEN | string (secret) | empty | Milvus auth token |
milvusCollection | MILVUS_COLLECTION | string | code_embeddings | Collection name |
milvusDim | MILVUS_EMBEDDING_DIM | number | 768 | Vector dimension |
embeddingEndpoint | EMBEDDING_ENDPOINT | string | http://localhost:11434/api/embed | Embedding API URL |
embeddingApiKey | EMBEDDING_API_KEY | string (secret) | empty | Embedding API key |
embeddingModel | EMBEDDING_MODEL | string | nomic-embed-text | Embedding model name |
indexRoot | INDEX_ROOT | string | process.cwd() | Code repository root path |
indexExtensions | INDEX_EXTENSIONS | string | all supported extensions | File extensions to index (comma-separated) |
hybridMode | HYBRID_MODE | boolean | true | Enable hybrid search (BM25 full-text + vector semantic, RRF fusion) |
bm25RrfK | BM25_RRF_K | number | 60 | RRF fusion parameter k |
indexIgnoreDirs | INDEX_IGNORE_DIRS | string | dist, build, target, vendor, ... | Directories to skip during scan |
ignorePatterns | IGNORE_PATTERNS | string (textarea) | empty | Custom gitignore-style ignore rules |
merkleFilePath | MERKLE_FILE_PATH | string | ~/.milvus-index/merkle-{name}-{hash}.json | Merkle state file path |
Configuration fields
| Field | Environment Variable | Type | Default | Description |
|---|---|---|---|---|
milvusAddress | MILVUS_ADDRESS | string | localhost:19530 | Milvus server address |
milvusToken | MILVUS_TOKEN | string (secret) | empty | Milvus auth token |
milvusCollection | MILVUS_COLLECTION | string | code_embeddings | Collection name |
milvusDim | MILVUS_EMBEDDING_DIM | number | 768 | Vector dimension |
embeddingEndpoint | EMBEDDING_ENDPOINT | string | http://localhost:11434/api/embed | Embedding API URL |
embeddingApiKey | EMBEDDING_API_KEY | string (secret) | empty | Embedding API key |
embeddingModel | EMBEDDING_MODEL | string | nomic-embed-text | Embedding model name |
indexRoot | INDEX_ROOT | string | process.cwd() | Code repository root path |
indexExtensions | INDEX_EXTENSIONS | string | all supported extensions | File extensions to index (comma-separated) |
hybridMode | HYBRID_MODE | boolean | true | Enable hybrid search (BM25 full-text + vector semantic, RRF fusion) |
bm25RrfK | BM25_RRF_K | number | 60 | RRF fusion parameter k |
indexIgnoreDirs | INDEX_IGNORE_DIRS | string | dist, build, target, vendor, ... | Directories to skip during scan |
ignorePatterns | IGNORE_PATTERNS | string (textarea) | empty | Custom gitignore-style ignore rules |
merkleFilePath | MERKLE_FILE_PATH | string | ~/.milvus-index/merkle-{name}-{hash}.json | Merkle state file path |
DSH Web Configuration
After installation, go to the DSH Web interface (http://127.0.0.1:3080) Settings → Plugins to see dsh-context-milvus and its configuration form, supporting:
- Text inputs (standard fields)
- Password inputs (secret fields like
milvusToken,embeddingApiKey) - Number inputs (number fields like
milvusDim) - Toggles (boolean fields like
hybridMode) - Field descriptions / help text