Files
Mofox-Core/changes.md
2025-07-17 00:28:14 +08:00

2.2 KiB
Raw Blame History

插件API与规范修改

  1. 现在plugin_system__init__.py文件中包含了所有插件API的导入用户可以直接使用from plugin_system import *来导入所有API。

  2. register_plugin函数现在转移到了plugin_system.apis.plugin_register_api模块中,用户可以通过from plugin_system.apis.plugin_register_api import register_plugin来导入。

  3. 现在强制要求的property如下

    • plugin_name: 插件名称,必须是唯一的。(与文件夹相同)
    • enable_plugin: 是否启用插件,默认为True
    • dependencies: 插件依赖的其他插件列表,默认为空。现在并不检查(也许)
    • python_dependencies: 插件依赖的Python包列表默认为空。现在并不检查
    • config_file_name: 插件配置文件名,默认为config.toml
    • config_schema: 插件配置文件的schema用于自动生成配置文件。

插件系统修改

  1. 现在所有的匹配模式不再是关键字了,而是枚举类。(可能有遗漏)
  2. 修复了一下显示插件信息不显示的问题。同时精简了一下显示内容
  3. 修复了插件系统混用了plugin_namedisplay_name的问题。现在所有的插件信息都使用display_name来显示,而内部标识仍然使用plugin_name(可能有遗漏)
  4. 部分API的参数类型和返回值进行了调整
  • chat_api.py中获取流的参数中可以使用一个特殊的枚举类型来获得所有平台的 ChatStream 了。
  • config_api.py中的get_global_configget_plugin_config方法现在支持嵌套访问的配置键名。
  • database_api.py中的db_query方法调整了参数顺序以增强参数限制的同时保证了typing正确db_get方法增加了single_result参数,与db_query保持一致。
  1. 现在增加了参数类型检查,完善了对应注释
  2. 现在插件抽象出了总基类 PluginBase
  • 基于ActionCommand的插件基类现在为BasePlugin,它继承自PluginBase,由register_plugin装饰器注册。
  • 基于Event的插件基类现在为BaseEventPlugin,它也继承自PluginBase,由register_event_plugin装饰器注册。