Skip to content

Release Notes: v4.7

可重用插件

在这个版本中,我们将 Koishi 的核心框架迁命名为 Cordis,并迁移到了新的仓库。这个框架包含了 Koishi 的诸多核心功能,包括上下文、插件系统、事件模型等等。同时,我们也提供了一套方案用于解决插件的多次加载问题。这个框架包含了 Koishi 的诸多核心功能,包括上下文、插件系统、事件模型等等。同时,我们也提供了一套方案用于解决插件的多次加载问题。

在过去,一个插件同时只有一次加载是有效的。当一个插件已处于运行状态时,再次加载将没有任何效果。然而部分插件确实存在多次加载的需求,比如适配器插件。为此,我们提出了插件作用域的概念。每个上下文都有自己所绑定的作用域,当作用域被卸载时,对应的上下文上的副作用也会被一并清除。同时,我们引入了一个新的生命周期事件 fork。它将在一个插件每一次加载时出发。由此便可以实现插件的重用,同时无需担心影响过去的插件行为。当一个插件已处于运行状态时,再次加载将没有任何效果。然而部分插件确实存在多次加载的需求,比如适配器插件。为此,我们提出了插件作用域的概念。每个上下文都有自己所绑定的作用域,当作用域被卸载时,对应的上下文上的副作用也会被一并清除。同时,我们引入了一个新的生命周期事件 fork。它将在一个插件每一次加载时出发。由此便可以实现插件的重用,同时无需担心影响过去的插件行为。

新版插件市场

与此同时,我们也编写了全新的 market 和 insight 插件,提供了更好的插件安装和配置体验。

首先,与过去扁平化的管理机制不同,我们推出了插件组的概念。在配置界面中,我们也使用树形结构显示每一个插件和插件组。用户可以根据自己的需要对插件组进行更名、折叠和展开。

在依赖图方面,我们也重构了 UI,改为使用力导向图展示插件之间的依赖关系。

此外,我们允许插件开发在在 package.json 中提供 koishi 属性以声明插件的元信息。这些信息将被插件市场自动读取,并提供更好的安装提示。