插件系统概览
N.E.K.O. 插件系统允许开发者通过 Python 插件扩展功能。每个插件运行在独立进程中,通过 IPC(进程间通信)与主系统进行通信。
主要特性
- 进程隔离 — 插件在独立进程中运行;崩溃不会影响主系统
- 异步支持 — 同时支持同步和异步插件函数
- 类型安全 — 通过 JSON Schema 进行输入验证
- 生命周期管理 — 启动、关闭和重载钩子
- 消息推送 — 插件可以向主系统推送消息
- 定时任务 — 基于计时器的周期性执行
- 事件驱动 — 订阅系统事件
架构
┌────────────────────────────────────┐
│ 主进程 │
│ ┌──────────────────────────────┐ │
│ │ 插件服务器 (FastAPI) │ │
│ │ - HTTP API 端点 │ │
│ │ - 插件注册表 │ │
│ │ - 消息队列 │ │
│ └──────────────────────────────┘ │
└──────────────┬─────────────────────┘
│ 队列 (IPC)
┌──────────┼──────────┬──────────┐
▼ ▼ ▼ ▼
插件 1 插件 2 插件 3 插件 N
(进程) (进程) (进程) (进程)插件目录结构
plugin/plugins/
└── my_plugin/
├── __init__.py # 插件代码
└── plugin.toml # 插件配置