Skip to content

本地托管插件接入

本地导入插件由萌卡 NT 负责安装、启动和 WebSocket 连接。官网清单、远程下载和在线更新不参与这条链路。

安装包结构

框架会在安装包中查找当前系统可运行的程序,优先匹配插件 ID、插件名称以及 startrunmainapp。如果存在多个同优先级入口,安装会停止并要求开发者整理安装包。

需要明确启动参数时,可在包根目录提供 mengka-managed.json

json
{
  "runtime": {
    "entry": "bin/my-plugin",
    "args": ["--connection", "{connection}"],
    "health_path": "/api/managed/health",
    "admin": false
  }
}

{connection} 会替换为框架生成的私有连接文件,{data} 会替换为插件数据目录。路径必须位于安装包内部。

运行环境

框架启动插件时提供:

环境变量内容
MENGKA_MANAGED_V1固定为 1
MENGKA_PLUGIN_CONNECTION_FILE私有 WebSocket 连接配置
MENGKA_PLUGIN_DATA_DIR持久化业务数据目录
MENGKA_PLUGIN_ADMIN_HOST管理端回环监听地址
MENGKA_PLUGIN_ADMIN_PORT管理端分配端口
MENGKA_PLUGIN_ADMIN_TOKEN_FILE管理端内部令牌文件
MENGKA_PLUGIN_ADMIN_ORIGIN配置后的管理端访问来源

连接文件包含 WebSocket 地址、令牌文件、实例 ID 和数据目录。插件每次启动都应重新读取,不能把令牌发给浏览器或写入普通日志。

生命周期

插件收到激活控制后再启动业务任务,停止控制到达时先停止定时任务。健康接口返回 readyconfigured,便于框架区分进程已启动与业务已经配置。

本地导入不会授予插件额外 action。插件只能通过生成的 WebSocket 服务调用框架公开接口,连接和事件约定与正向 WebSocket一致。

萌卡 NT · 连接想法,也连接你我。