dsh-web
zhu1090093659/dsh-webDeepSeek Harness(DSH)Web 插件聚合生态包 · 一切皆插件,创意工坊分发(dsh-market.com)
DSH 第三方插件管理插件:从设置页启用、禁用、卸载插件。 / Manage third-party DSH plugins from the Plugins settings page.
ui-plugin-manager 是 DSH Web 客户端的“插件管理”插件。它在“设置 → 插件”页面中新增“插件管理”导航标签,用于查看和管理所有已安装的、非系统自带的第三方插件,支持启用/禁用和卸载。
如果你已安装 dsh CLI,可以按项目官方教程使用 dsh plugin 命令安装:
# 从本地插件目录安装
dsh plugin --profile web add C:/Users/<user>/.dsh/plugins/ui-plugin-manager
# 或从 GitHub 仓库安装
dsh plugin --profile web add github:xiyue718/dsh-ui-plugin-manager
安装后启动:
dsh --profile web
查看组合配置:
dsh --profile web --dump-config
详细命令说明见项目文档:docs/user/develop/basic/publish.md。
构建产物:host 为自包含的 lib/index.js,client 为 lib/client.js,打包文件为 dsh-external-ui-plugin-manager-0.1.0.tgz。
安装前先构建一次:DSH_CHECKOUT=<dsh 源码 checkout> bash scripts/build.sh。官方渠道把插件装进 profile 后,宿主只从插件自身目录解析运行期依赖,所以 host 半由 tsdown 打包成自包含模块(内联 schemastery、zod 与 @deepseek-ai/dsh-* helper);未打包的 lib/index.js 会让该行以 failed to import 停用。
@deepseek-ai/*、cordis:*、deepseek-harness/packages/*、deepseek-harness/vendor/* 等系统内置条目会被过滤,不会出现在列表中,也不会被误操作。dev_uninject_plugin。GET /@dsh-external/ui-plugin-manager/api/plugins
POST /@dsh-external/ui-plugin-manager/api/toggle
Content-Type: application/json
{ "entryId": "xxx", "enabled": false }
POST /@dsh-external/ui-plugin-manager/api/uninstall
Content-Type: application/json
{ "entryId": "xxx" }
插件由 host 和 client 两部分组成。
Host 侧通过 loader.entries() 获取当前 Loader 的全部插件条目,再根据模块名过滤系统内置插件,只保留第三方插件。为了显示版本和作者,插件会从 profile node_modules、DSH_HOME/plugins 或 Loader base URL 解析对应包的 package.json。启用/禁用调用 loader.update(entry.id, { disabled: !enabled }),卸载调用 loader.remove(entry.id),两者都立即作用于当前运行实例。
Client 侧在“设置 → 插件”中注册“插件管理”标签,通过 Host API 获取列表并渲染,操作时调用对应接口并展示项目内置反馈。