packages/dsh-plugin-manager
zhu1090093659/dsh-web设置 → 插件 分区里的插件管理 Tab:从 npm/git 安装带进度、下次启动生效的启停开关、安装冲突对账可撤销、失败一键转交修复会话。
创意工坊式插件浏览器:侧栏常驻入口,搜索/最热/最新/近 7-90 天飙升榜、中文关键词映射、描述与 README 机翻、插件特征验证过滤、一键安装/更新。
A Steam Workshop-style plugin browser for DeepSeek Harness (DSH) — zero-server, single-package, living right inside the DSH Web UI sidebar, directly under the "New Session" button.
Unlike the centralized marketplace-platform approach of DSH_Creative_Workshop, this project takes the zero-infrastructure route: catalog, search, popularity and publish time are all provided by GitHub for free. No control plane, no account system — install into a profile and it just works.
简体中文 | English
topic:dsh-plugin); search results exclude the official harness and other core repos (query-level -repo: filter, so they no longer top the board); the whole-site mode includes plugin-signature verification (checks package.json dsh field / cordis.yml etc. via the raw CDN — costs no API quota) and filters out unrelated repos by defaultremote/README.md — zero impact when not deployed)For the web profile:
# One command is enough: this package declares dsh.bundle.patch in its
# package.json, so `dsh plugin add` auto-adds it to the profile's
# dsh.profile.bundles and its cordis.patch.yml is applied as a bundle
# patch layer on boot — no manual config.
dsh plugin --profile web add "github:yyyyukari/dsh-plugin-workshop"
# Restart dsh web and refresh the browser
Legacy manual flow: add the package to the profile dependencies, then add to
$DSH_HOME/profiles/web/cordis.patch.yml:- insert: - id: plugin-workshop name: '@dsh-external/dsh-plugin-workshop'
After activation, the "🧩 插件工坊" button appears under "New Session" in the sidebar; the workshop also lives in Settings → Plugins as a tab.
| Goal | How |
|---|---|
| Find DSH plugins | Default view is the plugin-topic list (repos tagged topic:dsh-plugin) |
| Trending | Time dropdown: 7/30/90-day windows + ★ hottest |
| Search in Chinese | Type Chinese words like 天气 / 翻译 — auto-mapped to English keywords |
| Read Chinese descriptions | Toolbar "描述中文"; detail page "翻译 README" |
| Install / update / uninstall | Detail page buttons, install path chosen by repo type (needs git, warned otherwise) |
| Raise search quota | Toolbar ⚙ → paste a GitHub Personal Access Token |
lib/index.js): registers same-origin HTTP routes on the webServer service — /dsh-plugin-workshop/api/{status,install,update,uninstall} — smart install (bundle/preset type detection) and reverse uninstall with strict input validation and a custom-header CSRF guardlib/client.js): React over platform seed modules; DOM-clones the official sidebar button with a MutationObserver self-heal; mounts the workshop in shell.overlay and settings.plugins.tab.agent-presets; the Token lives in localStorage only.agent-presets)dsh plugin add + activation row, preset-type via .agent-presets, uninstall reverses the path (tested end-to-end)dsh.bundle.patch declared in package.json (one-command auto-activation via dsh plugin add); smart install covers all three repo shapes (bundle / nested / preset)remote/; zero impact when not deployed)MIT