Development & Runtime
dsh-plugin-market
hskelp9527-pixel/dsh-plugin-market · ★ 1
DSH (DeepSeek Harness) plugin market tab: deepseek-harness GitHub catalog with Chinese-translated descriptions
Manifest details
安装
dsh plugin --profile web add github:hskelp9527-pixel/dsh-plugin-marketGitHub 源码安装:首次需按提示配置 allowBuilds 构建授权后重试
For install and environment setup, plus plugin development tutorials, see DSH community docs ↗
README
Table of contents
English | 简体中文
A Plugin market tab plugin for the DSH (DeepSeek Harness) Web settings.
The catalog merges three sources:
- Official — the deepseek-ai/deepseek-harness GitHub repository (every
packages/*/*/package.json); - Community picks — the registry (data endpoint
the community catalog/plugins.json), hundreds of community plugins with bilingual descriptions and install commands; - Community registry — the
PLUGINS.mdtable of .
- Plugin names stay as-is; Chinese descriptions come first with the English original on hover.
- Every card shows its source (official / community pick / registry) with a direct GitHub link for community plugins.
- Category filter: chips with counts that always sum to the catalog total; combines with search.
- Live refresh: a refresh button plus a "fetched at HH:MM:SS" timestamp; auto-refresh every 10 minutes while the tab stays open; host-side catalogs are cached for 10 minutes.
- One-click install: the install button really runs
dsh plugin --profile <name> add <spec>(npm andgithub:specs both work), appends the loader config on success and prompts for a restart. - One-click uninstall: profile-installed plugins can be removed (
dsh plugin --profile <name> remove <pkg>) together with their loader rows; in-box official packages can only be disabled. - Performance: the 1000+ item catalog renders in slices with a host-side 10-minute cache; filtering and search stay instant.
- Installed plugins can be enabled / disabled with one click (written to the profile's
cordis.patch.yml, applied after restart). - Falls back to the locally installed official packages when GitHub is unreachable.
Install
dsh plugin --profile web add github:hskelp9527-pixel/dsh-plugin-market
Restart dsh web, then open Settings → Plugins → Plugin market.
Uninstall
dsh plugin --profile web remove dsh-plugin-market
How it works
Host half (lib/index.js): PluginMarketService extends TypertRemoteService and exposes three plain-JSON RPCs:
pluginMarket/listCatalog— fetch the GitHub catalog (trees API + eachpackage.json), merge local install state, apply the Chinese dictionarypluginMarket/setPluginEnabled— write adisabledoverride intocordis.patch.ymlpluginMarket/installPlugin— insert a loader row for packages already present in localnode_modules
The remote surface is intentionally SRC (source-reflection) only — no generated typert artifact is required.
Browser half (lib/client.js): registers the market tab into the settings.plugins.tab slot; zh/en dictionaries go through the official locale service.
Chinese dictionary (DESCRIPTION_ZH): covers every @deepseek-ai/* package in the official repo (~190 entries); untranslated entries fall back to English — contributions welcome.
Development
No build step: the two files under lib/ are the source. Syntax check:
node --check lib/index.js && node --check lib/client.js