deepseek-harness
deepseek-ai
DeepSeek Harness: Everything is a Plugin.
PROJECT TOPICS
PROJECT README
English | 中文
A DeepSeek Harness (DSH) plugin that shows the dsh.plus curated plugin catalog inside DSH. Once installed, a Plugin Catalog page appears under DSH Settings, listing the human-curated DSH plugins from dsh.plus live: browse, search, filter by category, copy the install command, or open each plugin’s GitHub repository.
This plugin is a read-only gallery: it surfaces entries to other plugins. It installs nothing, executes no plugin code, and never mutates the profile. The install command is derived by the host from the GitHub repository URL and is shown for copying only.

/v1/plugins + /plugin-index.json) at runtime — the site updates and the gallery follows, with no extra deployment.dsh plugin --profile web add github:<owner>/<repo>.# from GitHub (dev / preview)
dsh plugin --profile web add github:zhaimingyou/dsh.plus
# once published to npm:
dsh plugin --profile web add dsh.plus
Restart DSH, then open Settings → Plugin Catalog.
This plugin follows the official DeepSeek Harness plugin model (deepseek-ai/deepseek-harness):
@deepseek-ai/cordis) dual-half plugin:src/): apply(ctx) injects the webServer service and registers a read-only route;src/client/, exported as ./client): injects slots/locale and registers a page in the settings.section slot.dsh.client manifest in package.json (platform: "web" + client dependency injection) declares the browser half.cordis.patch.yml (via dsh.bundle.patch) inserts the plugin into the profile’s layer stack so dsh plugin add takes effect automatically.window.__ModuleLoader__.load({ id, factory }).It reuses the standard catalog-source contract dsh.plus already publishes (/catalog-source.json + GET /v1/plugins, v1), so this plugin is essentially a “Path B” browser-side rendering of that directory.
npm install
npm run typecheck # both host and client projects
npm run build # tsc (host) + tsdown (client)
npm run check # typecheck + build + preflight guard
Artifacts: lib/ (host, ESM) + client/client.js (browser factory bundle, committed). prepack builds and runs preflight, which asserts the cordis.patch.yml name and bundle loader id match the package name.
src/
├── index.ts # host entry: inject webServer, mount routes
├── catalog.ts # fetch + merge + sanitize the dsh.plus catalog
├── routes.ts # GET /dsh.plus/catalog
├── http.ts # minimal JSON response helper
└── client/ # browser half (bundled by tsdown)
├── index.ts # registers settings.section
├── CatalogSection.tsx # gallery UI
├── styles.ts # styles following DSH design tokens
├── locales.ts # zh/en dictionaries
└── types.ts # catalog data types
tsdown.config.ts # client factory bundle config
cordis.patch.yml # profile layer insertion
scripts/ # banner normalization + preflight guard
dsh.plus is the bilingual DSH ecosystem portal and curated plugin directory. This plugin is its in-DSH rendering: the host process reads dsh.plus’s public catalog data at runtime, and this repository bundles no plugin snapshot or third-party code.
web client (dsh web) with dsh.client support.CLASSIFICATION EVIDENCE
系统优先读取 GitHub Topics,再与站内分类词典和词根规则比对。当前命中: catalog、marketplace。