Skip to content

v4.15 版本介绍

Satori v3

v4.15 版本最重要的特性就是将 Satori 更新到了 v3 版本。新版本对现有 API 进行了一些重构,并从中总结出了一个通用的跨平台聊天协议,名为 Satori Protocol。你可以在 Satori 官网 上查看完整的协议文档。与此同时,我们也发布了一些与适配器与网络相关的插件:

这些插件同步发布在 Satori 和 Koishi 侧。为此,我们发布了 upstream 仓库,用于同步上游生态中的插件。未来我们将提供让 Koishi 能够直接加载上游插件的能力,敬请期待。

此外,Satori v3 也引入了更多原生交互能力,包括按钮元素、交互事件等。相关的能力已经在全部支持按钮的平台 (KOOK, Discord, LINE, QQ, Telegram, WhatsApp) 上实现。

Cordis v3

另一个重要程度不亚于 Satori v3 的更新则是 Cordis v3。新版本基于 Proxy 重新实现了整套的服务 API,相比旧版本具有更强的可追溯性、可靠性和扩展性。同时,新版本的所有 API 都是无副作用的,这意味着困扰用户的多例问题将大幅减少。

由于这些优化处于底层,对于开发者比较难以察觉,因此这里举出一个直接的应用。在插件内部使用 ctx.logger() 发送日志时,将基于上下文进行追踪,在控制台的插件详情页面中将展示该插件产生的日志。同时,现有的日志界面也支持了对日志进行跳转,以便于开发者快速定位问题。

数据库更新

在这个版本中,我们还对 ORM 能力进行了大幅优化:

  • 修复了 join, groupBy, project 在若干边界情况下的问题
  • 支持了 $.array()$.object() 等用于操作结构化数据的 API
  • 对数据库进行 set, upsert, remove 操作时将返回修改条目相关信息了
  • 修复了 SQL 对 JSON 中嵌套属性访问异常的问题
  • 优化了 SQLite 的访问性能,解决了数据库体积过大时无法使用的问题
  • 新增了 PostgreSQL 数据库支持

控制台更新

这个版本也优化了控制台的使用体验:

  • 使用统一的菜单 API 显示布局菜单和上下文菜单,为多个插件提供了更多的菜单项
  • 支持了快捷键绑定 (例如,在插件配置界面键入 ⌘S 将会保存配置)
  • config 插件支持了插件和插件组在侧边栏的重命名
  • config 插件支持在启用、重载插件时将对配置项进行检查
  • explorer 插件支持了符号链接的解析与显示
  • 优化了可访问性,修复了若干无法显示某些文本的问题

QQ 适配器

随着腾讯开放平台的的推出,开发者现在可以直接接入官方机器人 API,而无需使用第三方登录方案。因此,我们发布了 QQ 适配器 (能够同时支持 QQ 群和 QQ 频道机器人的使用),同时废弃了过时的 QQGuild 适配器。此外 OneBot 适配器也转移到社区维护。