kimiya1010/dsh-plugin-market

插件Plugin 原生Native ⭐ 3 编程CodingWeb 界面Web UI

DeepSeek Harness 插件市场:直接在 Web GUI 中搜索并一键安装来自 GitHub 的 dsh-plugin 插件。

项目介绍Project Overview

DSH 插件,可在 Web GUI 内搜索并一键安装其他插件,免去命令行操作。它在“设置 → 插件”下添加“插件市场”标签页,支持搜索 dsh-plugin 主题的 GitHub 仓库、显示名称、描述与星标数,并提供安装/卸载及已安装列表(dsh.profile.bundles)。适用场景:用户在浏览器内集中管理 DSH 插件。注意事项:第三方插件会执行其作者代码,建议仅从可信源安装并通过提交 SHA 锁定版本。

A DSH plugin that lets users search and install other plugins directly from the web GUI, removing the need to use the command line. It adds a "Plugin market" tab under Settings → Plugins, supporting GitHub searches by the dsh-plugin topic, displaying name, description, and stars, with one-click install/uninstall and a list of currently installed bundles (dsh.profile.bundles). Use it when managing DSH plugins from the browser. Caveat: third-party plugins execute their author's code, so install only from trusted sources and pin to a commit SHA.

或使用命令行安装(适合开发者)Or use CLI install (for developers)

命令行安装CLI Install

dsh plugin --profile web add github:kimiya1010/dsh-plugin-market

kimiya1010/dsh-plugin-market 加入你的 DSH 配置(web profile)即可启用。

READMEREADME

dsh-plugin-market

English | 简体中文

A DeepSeek Harness (DSH) plugin that lets users search for and install other plugins directly from the web GUI — no need to drop to a command line.

It adds a "Plugin market" tab under Settings → Plugins:

  • 🔍 Search GitHub repositories tagged dsh-plugin (sorted by stars)
  • 📋 Show each plugin's name, description, and star count, with a link to its GitHub repo
  • ⚡ One-click install (internally runs dsh plugin --profile web add github:owner/repo)
  • 🗑️ One-click uninstall of installed third-party plugins
  • 📦 List the plugins currently installed in the profile (dsh.profile.bundles)

Install

Install it like any other DSH bundle:

# Install into your web profile straight from GitHub
dsh plugin --profile web add github:kimiya1010/dsh-plugin-market

# Restart the web GUI to activate it
dsh web

Or from a local checkout:

dsh plugin --profile web add ./dsh-plugin-market

Note: this plugin is plain JavaScript with no prepare build script, so a github: install needs no allowedBuilds entry — it works out of the box.

Directory layout

dsh-plugin-market/
├── package.json        # dsh.bundle (patch layer) + dsh.client (browser half) declaration
├── cordis.patch.yml    # inserts the loader row into the composition
├── index.js            # Host half: registers the /api/plugin-market HTTP bridge + search/install/uninstall
└── client.js           # Client half: Settings "Plugin market" tab UI

How it works

  • Host half (index.js): injects the webServer service and registers a same-origin prefix route /api/plugin-market:
    • GET /api/plugin-market/search?q=<keyword> — calls the GitHub Search API (topic:dsh-plugin)
    • POST /api/plugin-market/install (body { "spec": "github:owner/repo" }) — runs dsh plugin add
    • GET /api/plugin-market/list — reads the profile's dsh.profile.bundles
    • POST /api/plugin-market/remove (body { "name": "…" }) — runs dsh plugin remove
  • Client half (client.js): registers the "Plugin market" page into the settings.plugins.tab slot and calls the HTTP bridge over same-origin fetch, rendering the search box, result list, install/uninstall buttons, and the installed list.

Because the bridge lives on the port the web GUI itself listens on (same origin), there is no cross-origin issue and no change to the framework's own Remote descriptors.

Publishing your own fork

Push this repo to your own GitHub and tag it with dsh-plugin so other users' plugin markets can find it. You can also publish to npm:

npm publish --access public

Security note

Installing a third-party plugin runs its author's code on your machine (a prepare script may run at install time, and the bundle is loaded at runtime). Only install plugins from sources you trust, and pin to a commit (github:owner/repo#<sha>) when you want to prevent upstream changes from silently altering behavior.

License

MIT

上一个 Prev dsh-power-button 下一个 Next dsh-honcho-memory