跳到主内容

dsh-webui-market-plugin 使用指南

把 awesome-dsh-plugin.com 插件目录搬进 dsh Web 设置页:浏览、搜索、FIFO 队列一键安装/卸载/更新,含白名单 + 试装验证,可跨 profile 同步,可热挂载免重启。

本文为派生内容(基于 wiki / faq / compatibility_json 自动组装),非 AI 即时创作。

本文由本站基于该插件已收录的字段自动派生(wiki / faq / compatibility_json / readme),非 AI 即时创作。每节末尾标源字段。

快速上手

dsh-webui-market-plugin

— 源: plugin_wiki.wiki_content

安装与验证

dsh plugin --profile web add @sanqi-normal/dsh-webui-market-plugin

复制以上命令在 DSH Web Profile 内运行。安装完成后在「插件列表」启用即可。

— 源: plugins.install

关键要点

  • @deepseek-ai/cordis
  • @deepseek-ai/dsh-client-runtime
  • @deepseek-ai/dsh-client-ui-slots
  • 目录按分类分组,支持搜索与"已安装"过滤;每个卡片显示 GitHub Star 数(无数据不显示),可一键按 最热(Star 降序,无 Star 的排最后)/ 最新(收录日期) 排序,或恢复官网默认顺序;大目录分批渐进渲染,避免打开瞬间一次性插入数百卡片造成卡顿
  • 点 详情 查看该插件的官方安装命令(含目标 profile)

— 源: plugin_wiki.readme_zh (fallback readme_raw)

常见问题

这个插件和 awesome-dsh-plugin.com 是什么关系?

列表来自 awesome-dsh-plugin.com 的 plugins.json 接口(自动跟随系统语言返回中英文描述),首次拉取失败时会回退到内置的离线快照 data/catalog-snapshot.json;本地安装只接受精选目录里收录的 github: 源,目录外的会被拒。

安装后一定要重启 Web 服务吗?

简单插件(cordis.patch.yml 只有 id/name 插入行)会尝试热挂载到当前运行组合并自动刷新页面生效;如果 patch 较复杂或环境不支持,会回退为「下次重启 Web 后生效」,市场不会自动重启宿主。

安装时遇到 pnpm 的 "Blocked build scripts" 怎么解决?

pnpm ≥11 默认拦截未在 allowBuilds 中放行的构建脚本。市场在任务失败时会自动把被拦截的包名加入 profile 的 pnpm-workspace.yaml 的 allowBuilds 并重试一次;如果不是脚本问题而是该依赖确实不需要构建,把对应项写成 false(明确拒绝)即可。

试装验证会不会改动我的真实 profile?

不会。试装验证在临时目录(tmpdir 下的 dsh-mkts-probe-xxx)里按 web profile 模板重建组合、用同一套 dsh CLI 装入候选插件、再以 --port 0 实际启动一次,只有出现 dsh web: 就绪行才判定可装;真实 profile 全程未被写入,验证结束无论成败都会清理临时目录。

为什么有些插件装不上(被拒绝)?

默认情况下,只有精选目录里收录的 github: 源能通过来源白名单;registry/link 源不受此限制但仍走白名单 + 安装前快照;试装启动失败也会被拒并返回真实启动错误;如确需安装目录外或试装失败的插件,可勾选「跳过安全检查」(风险自负)。

怎么把装到 web 的插件同步到桌面端(desktop)?

面板顶部「跨 Profile 同步」区会列出本机所有已初始化的 profile(如 desktop);点「同步到 xxx」会把 web 里已装但 desktop 缺失的插件按本地复制方式补装过去,同步只新增、不删除/降级 desktop 现有的任何内容,装完重启桌面应用生效。同步是本地复制,不再受目录白名单限制。

停用插件和卸载插件有什么区别?

停用保留依赖与磁盘文件,只把插件从 dsh.profile.bundles 里移出并写入 dsh.market.disabled,重启后仍保持停用;卸载会把依赖连同 bundle 一起删除。注意在命令行手工执行 dsh plugin add/remove/update 会触发 reconcile 短暂恢复停用项,下次市场操作或重启会再次停用。

安装/更新失败时怎么处理?

失败行有「询问 DSH」按钮,点击后会在新对话里把操作目标、状态、环境信息(DSH_HOME / node / dsh 探测结果)和完整错误日志作为 prompt 发送给 AI,方便直接排查;网络类错误(ETIMEDOUT / ECONNRESET 等)市场会自动重试一次,持续失败时会提示检查代理或镜像。

一键更新全部会把所有插件都更新吗?

不会。一键更新只会重新安装 updateAvailable=true 的插件(github 源对比 lockfile commit 与 HEAD,npm 源对比 dist-tag.latest 与已装版本,link/file 本地链接不参与);检测失败会静默降级为「无更新」,不会阻塞列表。

— 源: plugin_wiki.faq_json

兼容性

  • DSH: 未声明(peerDependencies 仅写 "*",未指定 DSH 最低版本;要求宿主提供 webServer 服务与 settings.plugins.tab 等 slot)
  • Node: ^22.19.0 || >=24.0.0

— 源: plugin_wiki.compatibility_json

踩坑提醒

安装前请审阅上游仓库;本指南基于已收录字段自动派生,可能滞后于最新版本。如发现与官方文档冲突,请以上游为准。

— 来源:通用规则