DeepSHPlugins
dsh-plugin-market 專案預覽
GITHUB / COMMUNITY PROJECT

dsh-plugin-market

生態與開發TypeScriptMIT

設定頁裡的外掛市場,可操作本機任意 profile 而不只是當前執行的那個:在 web、headless 及其他 profile 上安裝、更新、解除安裝,帶安裝指令碼風險提示,已裝檢視同時覆蓋目錄之外的 profile 依賴,改動當前 profile 時自動重啟 DSH。

9 Starsspringbrand-lab 更新時間 2026-08-18
訪問 GitHub 倉庫
dsh-plugin-market 專案預覽
dsh-plugin-market 介面截圖dsh-plugin-market 介面截圖

專案介紹

中文

設定頁裡的外掛市場,可操作本機任意 profile 而不只是當前執行的那個:在 web、headless 及其他 profile 上安裝、更新、解除安裝,帶安裝指令碼風險提示,已裝檢視同時覆蓋目錄之外的 profile 依賴,改動當前 profile 時自動重啟 DSH。

English

Plugin marketplace in Settings that targets any local profile, not just the running one: install, update and remove across web, headless and other profiles, with install-script warnings, an installed view that also covers non-catalog profile dependencies, and an automatic DSH restart when the current profile changes.

專案資訊與收錄訊號

快照 2026-09-11
作者 / 組織
springbrand-lab
倉庫
springbrand-lab/dsh-plugin-market
GitHub Stars
9
Forks
0
開發語言
TypeScript
許可證
MIT
最近推送
2026-08-18
Manifest
資料中檢測到宣告

公開倉庫不自動等於可商用;許可證與當前相容性以原專案文件為準。Manifest 和資料評分不構成安裝安全認證。

資料評分

71/ 100
維護活躍
84
文件與實用資訊
85
生態關注度
29
安裝便捷訊號
100
專案宣告訊號
100

README 含完整安裝與使用說明;關注度尚低(9);標準命令一鍵安裝。

評分來自已有資料快照的五維模型,僅作瀏覽參考,不是實際使用評測或安全檢測結論。

安裝與使用

所有專案資料與許可均以對應 GitHub 倉庫為準。

dsh plugin --profile web add @springbrand/dsh-plugin-marketplace

複製命令不會自動執行。請先閱讀倉庫文件,確認環境要求與許可證。

專案截圖

倉庫 README

GitHub 原文

已儲存的倉庫文件快照;文件抓取時間未記錄,可能與上方目錄介紹處於不同版本。安裝前請核對當前倉庫說明。

儲存庫檔案保留原文,指令與授權文字不作自動改寫。

SpringBrand DSH Plugin Marketplace logo

@springbrand/dsh-plugin-marketplace

English | 中文

npm CI

The visual plugin marketplace built into DeepSeek Harness Web settings and bundled with SpringBrand Desktop. Open Settings → Plugin Marketplace to browse and search the catalog, then install, update, or remove plugins.

DeepSeek Harness Plugin Marketplace

Install from scratch

You do not need DSH preinstalled.

  1. Install the LTS version of Node.js, then close and reopen your terminal.
  2. Install DSH and pnpm:
   npm install --global pnpm @deepseek-ai/dsh
  1. Confirm that DSH is available:
   dsh --version
  1. Install the marketplace:
   dsh plugin --profile web add @springbrand/dsh-plugin-marketplace
  1. Start DSH Web:
   dsh web

Keep the terminal open. Your browser normally opens automatically; otherwise, open the http://127.0.0.1:... address printed in the terminal. Then go to Settings → Plugin Marketplace.

If dsh is still not found after reopening the terminal, use:

npx @deepseek-ai/dsh plugin --profile web add @springbrand/dsh-plugin-marketplace
npx @deepseek-ai/dsh web

Already have DSH?

dsh plugin --profile web add @springbrand/dsh-plugin-marketplace
dsh web

What you get

  • Browse and search by name, author, description, or npm package, with visible plugin categories, repository avatars, and compact GitHub Star counts.
  • Profile management across web, headless, and other local profiles under ordinary DSH; SpringBrand Desktop limits operations to its active profile.
  • Install, update, and remove in one place, with exact installed versions, visible update badges and counts, and one-click updates to the latest published version.
  • Installed view covering both catalog entries and profile dependencies that are not listed in the catalog.
  • Marketplace self-updates in SpringBrand Desktop by installing the latest release into the active profile; removing that profile override falls back to the version bundled with the app.
  • Clear activation timing: changes to the current profile restart DSH automatically; changes to other profiles apply on their next launch.

Security

  • Installation is limited to catalog entries marked bundle, installable, and npm.
  • The server resolves the npm package name from the catalog again instead of accepting an arbitrary source from the browser.
  • Updates and removals accept only valid npm package names already installed in the selected profile.
  • Mutation endpoints accept same-origin JSON POST requests only, with an 8 KiB body limit.
  • Ordinary DSH commands are launched with argument arrays, never through a shell. SpringBrand Desktop delegates to its managed package-operation service. Only one plugin operation runs at a time.

Plugins are third-party code. Catalog inclusion is not a security endorsement; install only sources you trust.

How it works

[Web settings]
      |
      v
[Local HTTP API from this plugin]
      |
      +--> [dshplugin.market/api/catalog]
      |
      +--> ordinary DSH: dsh plugin --profile <profile> add|update|remove <package>
      |
      +--> SpringBrand Desktop plugins: desktopPnpm.runPlugin()
      |
      +--> SpringBrand Desktop marketplace override: desktopPnpm.run()

Under ordinary DSH, the marketplace targets the running profile by default and can select another profile in the UI. SpringBrand Desktop exposes only its active profile, runs package operations through desktopPnpm, and requests an orderly application restart through desktopProfiles. Third-party plugins use runPlugin() so DSH reconciles their bundle layers. The marketplace's own profile override uses direct run() because its row already belongs to Desktop; reconciling it as another bundle would duplicate that row. The plugin does not provide arbitrary hot-mounting or seamless port handoff.

Which profiles appear as targets

Under ordinary DSH the profile list is web, headless, the profile this process was launched with, and every directory under <DSH home>/profiles, sorted by name. The DSH home is DSH_HOME when set, otherwise ~/.dsh. profiles/node_modules is never offered as a target.

A profile appears in the list before it has been initialized, so a plugin can be installed into headless from a web session without creating the profile first. What the Installed view reports for each profile is that profile's own package.json dependency map — which is why it also lists packages that were installed outside this marketplace and are absent from the catalog. SpringBrand Desktop also reports the marketplace version bundled with the app; its first self-update creates a profile dependency that takes precedence after restart.

Configuration

Override these fields in the profile's Cordis configuration:

config:
  profile: web
  catalogUrl: https://dshplugin.market/api/catalog
  restartDelayMs: 1500
  • profile: the profile used by an ordinary DSH process; read from the launch arguments by default. SpringBrand Desktop always uses its active profile.
  • catalogUrl: the plugin catalog JSON URL; HTTP and HTTPS are supported.
  • restartDelayMs: delay before restarting an ordinary DSH process, from 500 to 30000 milliseconds. SpringBrand Desktop owns its restart timing.

Uninstall

Remove the package from the marketplace's Installed tab, or run:

dsh plugin --profile web remove @springbrand/dsh-plugin-marketplace

Development

npm install
npm run check

License

MIT

使用前核對

安裝步驟、相容版本與授權範圍以原專案當前文件為準。Stars 和評分是快照中的導航訊號。

安裝與排錯 · 專案問題反饋

同類專案