是否可以不经过插件市场从本地加载插件

有一些根据个人需求定制化的插件,并不想发到市场当中,是否可以直接从本地或私有仓库(私有registry) 之类的地方加载插件

2 个赞

可以按照以下的流程解决:


问题 1:为什么不想发布到插件市场?

  • 情况 1:我的插件还在开发中 / 功能不完善
    • 解决方案:可以标记为「开发中」并发布到插件市场。
  • 情况 2:我的插件源码中含有一些私密数据
    • 解决方案:插件源码不应该包含私密数据,你应当将隐私数据作为配置项,然后在使用时传入。
  • 情况 3:我的插件写的很烂,不想污染 npm
    • 解决方案:你可以发布到你自己的私域中,不会污染 npm。
  • 情况 4:我还是不打算公开插件
    • 解决方案:可以标记为隐藏并发布到 npm,此时插件市场无法搜索到你的插件。

请注意,上述任何一种情况都不是你不发布到插件市场的理由。


问题 2:插件是否依赖了其他功能?

如果你的插件依赖了包括但不限于 go-cqhttp / 控制台等其他插件,由于 AGPL-3.0 许可证的约束,你的插件必须以相同许可证开源。目前 AGPL-3.0 在国内和国际都有法律效益。

如果你的插件没有依赖上述插件是,可以正常闭源不受影响。


问题 3:需要在什么环境下使用闭源的插件?

  • 情况 1:我使用模板项目 / 直接调用
    • 恭喜你!你可以自由地加载任何插件,无论是否发布在插件市场。
  • 情况 2:我使用启动器(Koishi Desktop / Koishi Android / Docker 等环境)
    • 启动器不支持从插件市场以外的地方安装插件,因此使用文件分发的插件是无法正常安装的
    • 但你仍然可以自建私有 registry,所需的服务器资源、搭建与同步技术你需要自行评估
4 个赞

参考:

2 个赞