dsh-web-ui 第三方插件准入规则避坑指南:一文看懂收编原则与 3 条合规红线
【免费下载链接】dsh-web-uiPlugin and skin collection for DeepSeek Harness (DSH) Web UI - task board, git graph, right-side panel, remote mobile UI, pet, live token stats, and skin center.项目地址: https://gitcode.com/gh_mirrors/ds/dsh-web-ui
同样是给 DeepSeek Harness(DSH)Web UI 写的插件,为什么有的被收编进全家桶、有的只是被登记一个链接、还有的直接被拒收?dsh-web-ui 是 DSH Web UI 的插件与皮肤全家桶,覆盖任务看板、Git 图谱、右侧面板、远程移动端、桌面宠物、实时令牌统计与皮肤中心等能力。项目欢迎社区插件,但准入规则只有一套,透明且严格。这套规则全部写在仓库的docs/plugins.md里,本文就用大白话把它拆开讲清楚——读完你就知道自己的插件该走哪条路,以及哪三种情况连门都进不去。
第一关:你的插件属于哪条路径?一张图看清准入决策分流
准入规则的第一步不是"行不行",而是先分流。项目按插件的活跃度与版权状况,把申请分成三种截然不同的处理方式,照着一一对照即可:
| 你的插件状态 | 处理方式 | 家族仓库做什么 | 版权归谁 |
|---|---|---|---|
| 活跃且有上游维护 | 不搬代码 | fork 到 dsh-external 组织维护,或作为依赖引用,只注册安装入口 | 原作者,随时可 merge 上游更新 |
| 无活跃上游 / 上游已停更 / 作者明确授权托管 | 正式收编 | 用git subtree add迁入,保留完整 git 历史 | 版权归原作者,仓库仅托管 |
| 触犯合规红线 | 一律不收编 | 直接拒绝,没有商量余地 | 不适用 |
如果你的插件还在活跃迭代,最省事的方式就是不搬代码——全家桶只登记一个入口,用户装的是你仓库里的最新版,上游一更新全家桶立刻跟上。只有当插件没有活跃上游、上游已经停止更新、或者你明确授权组织托管时,才会考虑正式收编。只要触犯了三条红线中的任何一条,一律拒收。
第二关:三条合规红线,触犯即拒收
如果说第一关是分流,第二关就是一票否决。下面是必须逐条核对的拒绝清单,任何一项打不上勾,申请直接终止:
- 没有 LICENSE:缺少开源许可证的代码,无法确认授权范围,谁也不敢收;
- 作者未授权:未经原作者同意,任何组织都不得擅自托管他人代码;
- 版权归属不明:说不清楚版权归谁的代码,拒绝收录。
这三条红线不是走流程,而是真正的底线。踩到任何一条,一律不收编——项目宁可错过一个插件,也绝不让一段版权存疑的代码进入全家桶。这也正是普通用户可以放心的原因:设置页里看到的所有插件,都经过了这道合规审查。
第三关:不想被收编,只想登记链接?走社区插件索引
如果你只想让大家在设置页能看到你的插件,而不想把代码搬进全家桶,项目提供了一条更轻量的路径——社区插件索引。它的原则很明确:只收录链接,不搬代码,条目版权归原作者,由维护者审核合并。目前索引里已经有 Data Agent、dsh-TUI、天书 TUI 等社区插件,每条都指向作者自己的仓库。登记只需要四步:
- 追加条目:在
packages/dsh-community-plugins/community.json末尾追加一条记录。id、name、nameEn、author、repo(仓库 URL)为必填项,description、descriptionEn、npm可填可不填,还可以加category分类(如ui、tools、knowledge)方便用户筛选; - 重新生成注册表:运行
node scripts/community-index,把生成的packages/dsh-community-plugins/src/client/generated/community.ts一并提交; - 跑校验门禁:执行
pnpm community:check,验证数据与生成物一致——这是 CI 硬性门禁,不一致就红; - 等待审核:由维护者审核合并,合并后你的插件就会出现在设置页的「社区插件」分区,点击直接跳转到你的仓库。
收编之后:被收录的插件要遵守哪些规范?
如果你的插件走的是正式收编路径,进入全家桶后还要遵守一套通用规范,确保生态风格统一:
- 命名:新包一律
dsh-前缀,npm 包名用@linxin666/dsh-*; - 挂载方式:只通过
cordis.patch.yml+ profile 机制挂载到 DSH Web UI,绝不修改 DSH 源码; - 类型来源:只能基于官方 NPM SDK(
@deepseek-ai/*),tsconfig 禁止指向任何 DSH 源码 checkout; - 双语纪律:主插件包 README 必须中英配对(
README.md+README.zh.md+README.i18n.yaml); - 测试纪律:每个包必须有能通过
vitest run的测试,改动行为必须带测试; - 收编留痕:用
git subtree add迁入时保留完整 git 历史,必须保留上游 LICENSE 与作者署名,并在包 README 里记录来源仓库与迁移日期。
总结:三句话记住准入规则
- 能引用的不搬代码——活跃插件以 fork 或依赖方式保留上游关联;
- 要收编必留痕迹——完整 git 历史、LICENSE、作者署名、来源记录一样不能少;
- 踩红线直接拒绝——无 LICENSE、未授权、版权不明,一律不收编。
给想提交的贡献者:先读docs/plugins.md和CONTRIBUTING.md,确认自己属于哪条路径、三条红线是否全过,再动手。别一上来就发 PR,新功能类需求建议先提 issue 讨论,确认后再开 PR,能省不少来回。
给普通用户:放心用。你在设置页看到的每一个插件、每一张皮肤卡片,都经过了严格的合规审查与门禁校验,版权归属清清楚楚。
延伸阅读:准入与插件开发规范见 docs/plugins.md,贡献流程与提交规范见 CONTRIBUTING.md,仓库全局规则见 AGENTS.md。
金句收尾:透明收编、合规优先、尊重版权——这才是 dsh-web-ui 插件生态长久健康运转的底层逻辑。
【免费下载链接】dsh-web-uiPlugin and skin collection for DeepSeek Harness (DSH) Web UI - task board, git graph, right-side panel, remote mobile UI, pet, live token stats, and skin center.项目地址: https://gitcode.com/gh_mirrors/ds/dsh-web-ui
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考