DSH Hub

lonelymoon87/dsh-code-intel

dsh-code-intel

BundleWorkflow0 GitHub stars· updated 2026-08-21

Symbol-aware code indexing and hybrid search for DeepSeek Harness.

Install

npx @deepseek-ai/dsh plugin --profile web add https://github.com/lonelymoon87/dsh-code-intel/releases/download/v0.1.3/dsh-code-intel-0.1.3.tgz

Restart `dsh web` after install. Bundle APIs can change during the developer preview.

README badge

dsh-code-intel DSH Hub badge
[![DSH Hub](https://dshhub.dev/badge/dsh-code-intel.svg)](https://dshhub.dev/plugins/dsh-code-intel)

Paste this into your README. The star count updates with every catalog sync.

From the README

Excerpt from lonelymoon87/dsh-code-intel, cleaned of badges and images.

dsh-code-intel

Symbol-aware code outline, persistent workspace indexing, and explicit lexical or embedding-assisted search for DeepSeek Harness.

The v0.1.3 release is tested with DSH 0.1.0-rc.8 and 0.1.1-rc.1 while retaining the rc.6-compatible peer range. Prebuilt packages are distributed through GitHub Releases; npm publication is prepared but not yet live.

简体中文

MVP

  • code_search ranks AST symbol chunks and bounded module windows, returning path:line, symbol metadata, snippets, scores, and the active retrieval mode.
  • code_outline parses one file immediately or projects a directory from the persistent index.
  • The first workspace search starts a cancellable code-index background job instead of blocking the agent turn.
  • SQLite persistence under .dsh/code-index/ uses DSH filesystem versions for incremental rebuilds.
  • fs/observed marks successful DSH file operations dirty; a Chokidar watcher covers local shell, IDE, and external changes.
  • TypeScript, TSX, JavaScript, JSX, Python, Go, Rust, and Java use the install-script-free Tree-sitter WASM grammars published for VS Code.
  • An optional OpenAI-compatible embedding endpoint adds cosine similarity to lexical ranking. Without it, results explicitly say mode: lexical.

DeepSeek's official API does not currently expose a public embedding endpoint, so this plugin does not invent one or silently label lexical results as semantic.

Index lifecycle

On the first code_search or directory code_outline, the tool returns an indexing result and a job id. Inspect or wait for that job with the built-in jobs tools, then call the code tool again. File outlines do not require a complete workspace index.

The cache contains derived source text and optional vectors. It stays inside the workspace, excludes .dsh from its own scan, and may be deleted at any time for a full rebuild. A retrieval-configuration fingerprint automatically invalidates vectors when the embedding endpoint or model changes.

Source traversal and reads use the mounted DSH filesystem service. SQLite and Chokidar require the provider's processPath() to be accessible from the plugin host, so the MVP targets the standard local filesystem execution world. If a remote filesystem exposes paths that are not host-accessible, cache creation fails loudly instead of indexing a different directory.

Node 22 currently labels the built-in SQLite module experimental. The on-disk cache is disposable and schema-versioned; source files remain the only source of truth.

Retrieval modes

Lexical mode scores exact query matches, query tokens, symbol names, and paths. Hybrid mode combines that score with cosine similarity over endpoint-produced vectors. A configured endpoint or credential failure fails the indexing job or search; fallback occurs only when embedding is not configured.

Credentials are references, not secret values in YAML. The plugin resolves the reference through ctx.credentials for each indexing or query operation and never stores the credential.

Permissions and data

Related plugins