Skip to content

插件系统概览

N.E.K.O. 插件系统允许开发者通过 Python 插件扩展功能。每个插件运行在独立进程中,通过 IPC(进程间通信)与主系统进行通信。

主要特性

  • 进程隔离 — 插件在独立进程中运行;崩溃不会影响主系统
  • 异步支持 — 同时支持同步和异步插件函数
  • 类型安全 — 通过 JSON Schema 进行输入验证
  • 生命周期管理 — 启动、关闭和重载钩子
  • 消息推送 — 插件可以向主系统推送消息
  • 定时任务 — 基于计时器的周期性执行
  • 事件驱动 — 订阅系统事件

架构

┌────────────────────────────────────┐
│        主进程                       │
│  ┌──────────────────────────────┐  │
│  │   插件服务器 (FastAPI)        │  │
│  │   - HTTP API 端点            │  │
│  │   - 插件注册表               │  │
│  │   - 消息队列                 │  │
│  └──────────────────────────────┘  │
└──────────────┬─────────────────────┘
               │ 队列 (IPC)
    ┌──────────┼──────────┬──────────┐
    ▼          ▼          ▼          ▼
 插件 1      插件 2      插件 3      插件 N
 (进程)      (进程)      (进程)      (进程)

插件目录结构

plugin/plugins/
└── my_plugin/
    ├── __init__.py      # 插件代码
    └── plugin.toml      # 插件配置

快速链接

基于 MIT 许可发布。