跳过主要内容
S

dsh-plugin-marketplace

scorp1o117/dsh-plugin-marketplace

在 Web UI 设置页浏览和搜索 GitHub dsh-plugin 仓库,按 Star 排序,并通过 DSH CLI 安装插件。

安装

dsh plugin --profile web add github:scorp1o117/dsh-plugin-marketplace

README

dsh-plugin-marketplace

中文文档

GitHub: Scorp1o117/dsh-plugin-marketplace · npm: dsh-plugin-marketplace

Enhancement Suite npm

Part of the DeepSeek Harness Enhancement Suite — Vision · Soul/Persona · Long-term Memory · Plugin Marketplace.

A plugin marketplace inside the DeepSeek Harness Web UI: browse github.com/topics/dsh-plugin right from the settings page — no terminal needed.

  • Search the topic by keyword, sort by stars or last update
  • Plugin cards with description, stars, language, and update date
  • Detail panel: GitHub README summary, install command, repo/npm links
  • AI explain: one click asks the configured default model what a plugin roughly does, answered in the UI — no need to read the README yourself
  • Powered by the public GitHub search API (CORS-enabled, no key needed; unauthenticated rate limit 60 req/h)
  • Zero client dependencies (React only), no build step — hand-written ModuleLoader bundle

Compatibility (v0.3.7)

Verified with DSH 0.1.7-rc.2 (Web) and 0.2.0-rc.2 (Desktop runtime) in isolated profiles. The Desktop app uses its own desktop profile. Other DSH prereleases remain unverified.

Desktop install

Use the Desktop-installed dsh command (Application → Manage dsh Command), or the app’s Plugins page. Then install into the Desktop profile:

dsh plugin --profile desktop add dsh-plugin-marketplace@0.3.7

Restart the Desktop app to load the client bundle. Desktop keeps its profile under $DSH_HOME/profiles/desktop.

Install

As a profile bundle (recommended):

dsh plugin --profile web add dsh-plugin-marketplace

or via the package's dsh.bundle.patch layer — add dsh-plugin-marketplace to dsh.profile.bundles in $DSH_HOME/profiles/web/package.json.

Manual mount in $DSH_HOME/profiles/web/cordis.patch.yml:

- insert:
    - id: plugin-marketplace
      name: 'dsh-plugin-marketplace'

Upgrading from ≤ 0.2.2? If you previously mounted the plugin manually, remove that row from cordis.patch.yml before switching to the bundle install — the bundle layer already inserts the entry, and two entries with the same id abort boot with duplicate loader entry id: plugin-marketplace. The two ways are alternatives, not both.

Then restart dsh web (new client plugins require a process restart to be scanned into the browser roster) and open Settings → Plugin Marketplace.

Version 0.3.7 uses DSH's configForms client service and Profile patch settings. Use an older plugin release with older DSH hosts. Note: when dsh web is opened from a non-loopback origin (a LAN IP, say), DSH keeps settings writes process-local, so install / AI-explain requests never reach the host.

How it works

LayerFileRole
host shellindex.jssettings-backed install + AI-explain flows; dsh.bundle.patch makes the package a proper profile bundle
browser halfclient.jsregisters the settings.section "marketplace" tab; fetches GitHub search API; renders cards + detail; "AI explain" button
manifestpackage.jsondsh.bundle: { patch: "./cordis.patch.yml" } + dsh.client: { platform: "web" } + exports["./client"] — discovered by dsh-client-modules

The browser half needs no dsh.client.inject packages: it only uses react (provided by the web runtime) and the slots / locale client services.

Notes

  • The GitHub search API returns at most 1000 results; the topic currently has 280+ repos, so paging covers everything.
  • READMEs are fetched per plugin on demand and truncated to ~1200 chars.
  • If you see "rate-limited", wait an hour or run the web through a proxy that adds a GitHub token.

License

MIT

相关插件