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.

Kb Manager — DSH Plugin for DeepSeek Harness
DeepSeek Harness Plugin Hub
ProfilesPluginsCategoriesNewsDocsSign inManage Profiles
ProfilesPluginsCategoriesNewsDocsSign in
← Plugins
K

dsh-kb-manager

Kb Manager

DSH local knowledge base management plugin: multi-format import, intelligent chunking, vector indexing, hybrid retrieval, reranking, snapshots, and kbpack migration (see DESIGN.md v2.1 for the design)

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

npx -y @deepseek-ai/dsh plugin --profile web add github:xiaoshi7915/dsh-kb-manager#00db42e219def57c687d3efc87749e87a1c1370d
READMECompatibilityVersions

Compatibility and provenance

Kb Manager is published as dsh-kb-manager and currently resolves to version 0.1.0. The Hub verifies its manifest and preserves the exact installation source for reproducible installs.

DSH compatibility
*
Runtime surfaces
any
Release source
github
Registry updated
9/1/2026

Versions

0.0.2stable
9/1/2026
0.0.1stable
9/1/2026
0.1.0stable
8/27/2026

Related plugins

Loading related plugins…

Latest
0.1.0
DSH
*
HMR
Process restart
Tree shaking
Safe tree shaking not declared
Unpacked size
Unavailable
Files
Unavailable
Surface
any
License
MIT
Source
github
GitHub
★ 1
Weekly downloads
0
Last push
9/2/2026
View source ↗
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 memory-context.

Contextdsh-contextA DeepSeek Harness plugin for context insight and management, with context dashboard and context command, for understanding how the context is made of, and how it evolves.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.Memsearch Dsh@zilliz/memsearch-dshMemSearch plugin for DeepSeek Harness: shared markdown memory across agents, with capture, pre-step context injection, memory-recall skill, and a skill-candidate review panel.Memory@furongjun1999/dsh-memoryLingshu (Lingshu·líng shū) DeepSeek Harness plugin: a complete brain—long-term memory/knowledge flywheel/self-awareness/recursive reflection integrated with DSH, with conversations automatically distilled into the md_cg cognitive graph (md documents)

README

English · 简体中文

dsh-kb-manager — local knowledge base lifecycle for DeepSeek Harness: import, chunk, index, hybrid search

Import once. Retrieve with confidence.

dsh-kb-manager is a local knowledge-base lifecycle plugin for DeepSeek Harness (dsh): multi-format import → smart chunking → pure-TypeScript vector indexes → hybrid search (vector + BM25 → RRF → optional rerank) → citation tracing—plus snapshots/rollback, directory-watch sync, and portable .kbpack archives.

Ask in natural language. The plugin exposes 16 Agent tools and an optional Web panel (KB list, import wizard, search bench, source locator)—no separate RAG server required.

Why dsh-kb-manager?

CapabilityWhat it changes
Multi-format importPDF (page-aware; scan pages flagged), DOCX, Markdown, HTML (Readability), CSV, JSON, TXT, plus URL fetch.
Smart chunkingfixed / recursive (default) / semantic; heading breadcrumbs, table-as-chunk, page/paragraph provenance.
Pure-TS indexesFlat (exact) + HNSW (approx)—no native addons.
Hybrid retrievalDual-path recall → RRF (k=60) → optional rerank; debug: true returns per-stage scores.
Offline fallback chainLocal / OpenAI-compatible embedding → built-in HashEmbedder; rerank failure falls back to RRF order.
Snapshots & rollbackManifest + index backup; embedding-model mismatch refuses unsafe restore.
.kbpack portabilitytar.gz of source + chunks + index + metadata; create_new / merge import.
Directory syncchokidar + SHA-256 change detection + catch-up scan; deleted watch dirs pause without cascading deletes.
Read-only moderead_only: true makes write tools return read_only_mode immediately.
Agent-friendly toolsFew-shot examples embedded in every tool description.

Architecture

flowchart LR
  A[Documents / URLs] --> B[Parse]
  B --> C[Chunk]
  C --> D[Embed]
  D --> E[Vector index<br/>Flat / HNSW]
  C --> F[BM25]
  E --> G[Hybrid search]
  F --> G
  G --> H[RRF]
  H --> I[Optional rerank]
  I --> J[Citations + debug scores]
  E --> K[Snapshots / .kbpack]
  C --> K

Install

[!NOTE] Requires an existing DeepSeek Harness installation.

From GitHub

dsh plugin --profile web add github:xiaoshi7915/dsh-kb-manager

On git install, the prepare script runs tsdown for a self-contained build (no monorepo context needed).

Build from source

git clone https://github.com/xiaoshi7915/dsh-kb-manager.git
cd dsh-kb-manager
npm install
npm run build
dsh plugin --profile web add .

Validate the composed profile, restart DSH, and refresh the Web UI:

dsh --profile web --dump-config
dsh web

Then try:

Create a knowledge base named “project-docs”, import this PDF, and search for how authentication works. Show me the source chunk.

How it works

  1. Create a KB (create_kb) with an embedding model (default offline hash-embed-v1, or any OpenAI-compatible name when embedding_api_base is set).
  2. Import local files or URLs (import_document) → parse → chunk → embed → index.
  3. Search with search_kb / multi_kb_search: vector + BM25 → RRF → optional rerank; use debug: true to inspect stage scores.
  4. Trace hits with get_chunk (surrounding context + provenance metadata).
  5. Optionally snapshot before risky edits, restore later, or ship a .kbpack to another machine.
  6. Optional auto_sync_dir watches a folder and incrementally updates the target KB.

Data lives under storage_path (default ~/.dsh/kb-manager/). The Web client reads the same service surface for overview, import, search, and source location.

Agent tools

ToolDescriptionKey params
create_kbCreate a knowledge basename*, description*, embedding_model?, tags?
list_kbsList all knowledge bases—
get_kbKB details (model / docs / chunks / storage)kb_id*
delete_kbDelete an entire knowledge basekb_id*
import_documentImport a local file or URLkb_id*, source*, metadata?
list_documentsList documents (optional status filter)kb_id*, status_filter?
delete_documentSoft-delete chunks; mark index dirtykb_id*, doc_id*
search_kbHybrid search; optional debug scoreskb_id*, query*, top_k?, filters?, rerank?, debug?
multi_kb_searchCross-KB search with source_kbkb_ids*, query*, top_k?
get_chunkChunk text + neighbors for tracingkb_id*, chunk_id*
rebuild_indexFull rebuild via shadow index swapkb_id*
create_snapshotCreate a version snapshotkb_id*, note?
restore_snapshotRoll back to a snapshotkb_id*, snapshot_id*
export_kbExport .kbpack or JSONkb_id*, format?, output_path*

Write tools (create_kb, delete_kb, import_document, delete_document, rebuild_index, create_snapshot, restore_snapshot, import_kb) return { success: false, error: 'read_only_mode' } when read-only. Domain errors are returned as { success: false, error: <code>, message } (not thrown).

When the Agent uses it

  1. “Put this PDF / doc / page into the knowledge base” → import_document
  2. “Search the KB for X” → search_kb
  3. “Find Y across all knowledge bases” → multi_kb_search
  4. “Where did this citation come from?” → get_chunk
  5. “Retrieval feels wrong—show stage scores” → search_kb({ debug: true })
  6. “Back up before a big change” → create_snapshot
  7. “Roll back to before the change” → restore_snapshot
  8. “Pack this KB for another machine” → export_kb + import_kb
  9. “Will local file edits sync?” → directory watch incremental sync
  10. “How big is this KB?” → list_kbs / get_kb_stats

Configuration

Defaults work offline. Override in a trusted profile (id: kb-manager):

FieldDefaultNotes
storage_path~/.dsh/kb-manager/Storage root; ~ expands to the home directory
default_embedding_modelhash-embed-v1Offline default; or an OpenAI-compatible model name
embedding_api_base''OpenAI-compatible endpoint; empty → HashEmbedder
embedding_api_key''Embedding API key
chunk_size512Chunk size (characters)
chunk_overlap50Overlap length
chunk_strategyrecursivefixed / recursive / semantic
top_k5Default hit count
enable_reranktrueEnable post-RRF rerank
rerank_endpoint''Remote rerank; empty → built-in rule reranker
index_typehnswhnsw / flat
auto_sync_dir''Watch path; empty disables
auto_sync_kb_id''Target KB for sync
auto_sync_interval300Catch-up interval (seconds)
max_file_size_mb100Per-file size cap (MB)
read_onlyfalseDisable write tools

Example:

- id: kb-manager
  config:
    storage_path: ~/.dsh/kb-manager/
    default_embedding_model: text-embedding-3-small
    embedding_api_base: https://api.openai.com/v1
    chunk_strategy: recursive
    index_type: hnsw
    enable_rerank: true
    read_only: false

Boundaries

  • Reads/writes under storage_path; import_document / import_kb also read user-specified paths or URLs; export_kb writes to output_path.
  • Unsupported formats return unsupported_format; oversized files are rejected by max_file_size_mb.
  • Fully local by default; network only when embedding_api_base / rerank_endpoint or URL import is configured.
  • export_kb does not mutate KB data and remains available in read-only mode.
  • Pure-TS indexes: no native vector DB process to operate.

Differentiating vs typical RAG stacks

CapabilityThis pluginCommon RAGFlow / Dify / kotaemon / pdfkb-mcp setups
KB snapshots & rollback✅Usually missing
.kbpack (source + chunks + index + metadata)✅Usually missing
Directory watch + catch-up scan✅ chokidar + SHA-256Partial / missing
Per-stage retrieval debug scores✅ vector / BM25 / RRF / rerankOften opaque
Full offline embed fallback✅ HashEmbedderOften needs external services
Read-only mode✅Rare

Layout

dsh-kb-manager/
├── package.json  cordis.patch.yml  tsconfig.json  tsdown.config.ts  vitest.config.ts
├── awesome-entry.yml  README.md  README_ZH.md
├── assets/readme/          # hero.png (paste generated banner here)
├── src/
│   ├── index.ts            # Plugin entry (name / inject / Config / apply)
│   ├── config.ts           # Schemastery config schema
│   ├── core/  parse/  chunk/
│   ├── embed/  index/  search/
│   ├── kb/                 # KBService, snapshots, sync, kbpack
│   ├── tools/              # 16 Agent tools
│   └── client/             # Web panel
└── tests/

Development

npm install        # install deps (prepare builds automatically)
npm run build      # tsdown dual entry → lib/index.js + lib/client.js
npm test           # vitest
npm run typecheck  # tsc --noEmit

License

MIT © 2026 xiaoshi7915

import_kbImport a pack (create_new / merge)file_path*, merge_strategy?
get_kb_statsDoc / chunk / index / avg-length statskb_id*