Skip to content

Latest commit

 

History

100 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

dsh-hub

A plugin hub for DeepSeek Harness.

This repository pins the official harness as a git submodule and groups our plugins (and selectively curated third-party plugins) by capability family. Each plugin lives as its own submodule under plugins/<category>/<name>, so each plugin stays an independent versionable unit.

Layout

dsh-hub/
鈹溾攢鈹€ deepseek-harness/        # Official harness, tracked on master (see Submodules)
鈹溾攢鈹€ packagers/dsh-packager/  # Desktop packager (in-tree) 鈥?specify DSH_DIR, out-of-box installer
鈹斺攢鈹€ plugins/
    鈹溾攢鈹€ browser/ memory/ sandbox/ skill/
    鈹斺攢鈹€ vision/ web/ workflow/ workspace/

Desktop packager (out-of-box, multi-DSH)

packagers/dsh-packager ships in-tree (not a submodule): point DSH_DIR at any deepseek-harness checkout/tag and get a desktop installer without patching dsh. Plugin hot-plug (dsh plugin add) stays via ~/.dsh.

npm --prefix packagers/dsh-packager install
npm --prefix packagers/dsh-packager run build -- --dsh-dir deepseek-harness          # submodule HEAD, e.g. 0.1.2-rc.1
npm --prefix packagers/dsh-packager run build -- --dsh-dir /tmp/dsh-rc7              # specific tag
npm --prefix packagers/dsh-packager run dist:win  # or dist / npx electron-packager

Icons from deepseek-harness/apps/web/public/favicon.svg 鈫?packagers/dsh-packager/build/icon.*, frameless frame:false + Tray (close hides to tray, double-click restores).

Different DSH versions are supported: scripts/build.mjs prints @deepseek-ai/dsh-root@x.y.z and copies that version's resources/dsh/package.json into the app. dsh-hub's deepseek-harness tracks master, but DSH_DIR can override to any tag/commit.

Downloads (with DSH version in Notes)

Each Release notes the bundled DSH version, e.g. DSH @deepseek-ai/dsh-root@0.1.0-rc.8.

A plugin goes under the category its capability belongs to, regardless of who maintains it. Categories mirror the official packages/README.md group list.

Submodules

deepseek-harness tracks the upstream master branch. The current pointer is pinned to whatever master HEAD is at clone time; bump it by:

git submodule update --remote deepseek-harness
git add deepseek-harness
git commit -m "chore: bump deepseek-harness"

Plugins are independent submodules pinned to their own default branches (or a specific commit/tag at your discretion).

Cloning

git clone --recursive https://github.com/Lin-A1/dsh-hub.git

If you already cloned without --recursive:

git submodule update --init --recursive

Adding a plugin

For a plugin you maintain:

# inside the harness submodule, if your plugin depends on packages/
git submodule add https://github.com/<your-org>/<your-plugin>.git \
  plugins/<category>/<your-plugin>
git commit -m "feat: add <your-plugin> under plugins/<category>/"

For a third-party plugin:

git submodule add https://github.com/<owner>/<plugin>.git \
  plugins/<category>/<plugin>

The category is determined by what the plugin provides 鈥?for example, an LLM adapter goes under plugins/llm/, a shell executor under plugins/shell/. See plugins/README.md for the full category table.

Using the plugins

The plugins in this repo are meant to be installed into a profile on a real dsh deployment:

dsh plugin --profile <name> add ./deepseek-harness/plugins/<category>/<plugin>

(or add github:<owner>/<plugin> for a direct-from-GitHub install).

Building the harness from source

cd deepseek-harness
pnpm install
pnpm run build
pnpm dsh web

See the official README for the full toolchain and test commands.

Updating everything

git submodule update --remote --recursive

Then commit any pointer bumps.

Conventions

  • Each plugin is its own npm package with its own dsh manifest, not a monorepo addition to deepseek-harness/.
  • Plugin READMEs declare their capability, config schema, and the events they emit or listen to.
  • This repository itself ships no code 鈥?it is a pointer index.

Learning wiki (dsh internals & LLM knowledge)

A step-by-step technical wiki explaining how dsh is built and the LLM knowledge behind it, aimed at AI application developers. First installment — how images reach the model (normalization, deterministic projection cache, Files API vs base64, budget gates, history context management), with a four-way comparison against opencode, OpenAI Codex, and Claude Code:

Second installment — how dsh is pluginized (Cordis five ideas, plugin shapes, loader & cordis.yml, the plugin tree & fiber state machine, profiles / bundles / layers, capability seams, HMR), grounded in the deepseek-harness source and the dsh-hub plugin spec:

License

Plugins retain their own licenses. See each plugin's repository.

About

Index of curated dsh (deepseek-harness) plugins as git submodules.

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages