跳转到内容

插件生态

DSH 的插件生态正在快速增长。插件越多,它们能否协同工作就越重要:如果每个插件都假设甚至覆盖其他插件的内部实现,装几个插件就会开始冲突,生态会逐渐碎片化。这不是任何人的错,而是缺少共同约定的必然结果。

我们希望构建一个开放、可组合、可持续的 DSH 插件生态:

  • 开放:任何作者都可以参与,官方、桌面和第三方插件在同一个平台上平等组合。
  • 可组合:插件按同一套约定扩展,装在一起也能一起工作、互不干扰。
  • 可持续:升级保持向后兼容,生态可以长期演进,不需要推倒重来。
  1. 组合优先:通过官方 slot、service 和 patch 组合能力,不要假设或覆盖其他插件的内部实现。
  2. 声明清晰:明确声明依赖的 service 和 slot,不依赖运行时巧合。
  3. 兼容优先:升级保持向后兼容,不破坏已有组合。

PicoAide Harness 是这套方式的第一个实践者:桌面壳本身就是一个普通 DSH 插件,与官方、第三方插件走同一条组合路径,没有任何特权。我们不是魔改上游源码做一个固定外壳,而是让「桌面」也成为插件生态里平等的一员。

这份倡议不是单方面规定,而是一份活文档:它随生态实践更新,接受社区讨论和修订。任何作者都可以通过 issue、讨论区或 PR 提出修改。

插件市场:让约定成为有利的选择

Section titled “插件市场:让约定成为有利的选择”

插件市场上线后,符合本倡议的插件将更容易被发现、安装和信任。我们希望让「按规范开发」成为对每个作者都有利的选择,而不是额外的负担。

DSH Community Fabric 正在把这份愿景整理成可公开讨论的 Manifest、Capability、Host Descriptor 与事件 Draft。它目前只有文档,不是已经发布的标准或运行时;当前插件仍使用现有 DSH/Cordis 接口。

Fabric 的 capability 首先用于兼容判断、用户确认和审计,不会把同进程 JavaScript 伪装成安全沙箱。只有具备真实隔离证据的 Host 才能声称权限被技术强制执行。

社区市场仍处于文档阶段,尚无可用页面或安装器。目录收录只代表符合目录规则,不等于安全审核或推荐。

  • 插件开发中了解插件如何编写。
  • 阅读并评论 Community Fabric RFC 0001(中文:0001-plugin-manifest-capabilities-events.zh.md)。
  • 桌面客户端中了解如何安装和管理插件。
  • 通过 issue 和讨论区提出你对本倡议的意见。