dsh plugin adapter

August 20, 2026 · View on GitHub

The DeepSeek Harness adapter registers litkit-dsh tools natively in any dsh profile (web / headless / custom).

Tools

ToolPurpose
litkit_searchMulti-source academic search (25+ sources)
litkit_sourcesList sources + key requirements
litkit_downloadSearch + attempt PDF downloads
litkit_verifyReference extraction from a manuscript
litkit_doctorEnvironment self-check

Install

Prerequisites: litkit-dsh CLI on PATH (pip install "litkit-search @ git+https://github.com/bpc-oss/litkit-search.git"), Node ≥ 20.

# Canonical (GitHub-only distribution):
dsh plugin --profile web add github:bpc-oss/litkit-search

# Or from a local checkout (development):
git clone https://github.com/bpc-oss/litkit-search.git
cd litkit-search
dsh plugin --profile web add "adapters/dsh"
dsh --profile web --dump-config      # confirm the litkit-dsh layer mounted

Note on git-URL installs: pnpm (the engine behind dsh plugin) does not support the #subdirectory= fragment for git dependencies, so git+https://...#subdirectory=adapters/dsh is not a supported install path. Use a local path (or the npm package once published).

Restart dsh web, then ask e.g. "search literature for retrieval-augmented generation with litkit-dsh".

Verify the install

dsh --profile web --dump-config | Select-String -Pattern "litkit-dsh"
# expect: # == @bpshil/litkit-dsh  /  - id: litkit-dsh  /  name: '@bpshil/litkit-dsh'

If tools report a CLI error, run litkit_doctor (via the tool or terminal).

Design

  • Zero core changes: the adapter shells out to litkit-dsh <sub> --json; the bundle patch only inserts one plugin row (cordis.patch.yml), so uninstall leaves no traces.
  • Loaded through the same mechanism as dsh-bash-terminal / dsh-genui (cordis 4 named-export plugin; @deepseek-ai/* imports resolve against the dsh host installation).
  • Missing CLI degrades gracefully: each call returns a readable error with install guidance instead of failing silently.