feat(plugin_system): 引入插件HTTP端点系统

引入了全新的 `BaseRouterComponent` 组件类型,允许插件开发者通过继承并实现 `register_endpoints` 方法来创建 FastAPI 路由。

- 插件系统现在可以自动发现并注册这些路由组件,并将它们挂载到主 FastAPI 应用的 `/plugins/<plugin_name>` 前缀下。
- 新增了全局配置 `[plugin_http_system]`,提供了总开关、API 速率限制和 API 密钥认证 (`X-API-Key`) 等功能,以确保端点的安全性和稳定性。
- 更新了 `hello_world_plugin` 插件,增加了一个简单的 `/greet` 端点作为实现示例。
This commit is contained in:
minecraft1024a
2025-11-16 12:41:35 +08:00
parent 4d088e6ce5
commit 42f0e0e023
15 changed files with 257 additions and 18 deletions

View File

@@ -1,5 +1,5 @@
[inner]
version = "7.7.1"
version = "7.7.3"
#----以下是给开发人员阅读的如果你只是部署了MoFox-Bot不需要阅读----
#如果你想要修改配置文件请递增version的值
@@ -59,6 +59,26 @@ cache_max_item_size_mb = 5 # 单个缓存条目最大大小MB超过此
# 示例:[["qq", "123456"], ["telegram", "user789"]]
master_users = []# ["qq", "123456789"], # 示例QQ平台的Master用户
# ==================== 插件HTTP端点系统配置 ====================
[plugin_http_system]
# 总开关用于启用或禁用所有插件的HTTP端点功能
enable_plugin_http_endpoints = true
# ==================== 安全相关配置 ====================
[security]
# --- 插件API速率限制 ---
# 是否为插件暴露的API启用全局速率限制
plugin_api_rate_limit_enable = true
# 默认的速率限制策略 (格式: "次数/时间单位")
# 可用单位: second, minute, hour, day
plugin_api_rate_limit_default = "100/minute"
# --- 插件API密钥认证 ---
# 用于访问需要认证的插件API的有效密钥列表
# 如果列表为空则所有需要认证的API都将无法访问
# 例如: ["your-secret-key-1", "your-secret-key-2"]
plugin_api_valid_keys = []
[permission.master_prompt] # 主人身份提示词配置
enable = false # 是否启用主人/非主人提示注入
master_hint = "你正在与自己的主人交流,注意展现亲切与尊重。" # 主人提示词