普通插件作者只需要关注本页字段。连接新 IM 平台时,请继续看
适配器插件开发规范。基本写法
- JavaScript
- Python
解析规则
- JavaScript 使用
//[key: value]。 - Python 使用
#[key: value]。 - 声明必须放在文件顶部的连续注释区;遇到第一行非注释代码后,后面的声明不会作为头部声明读取。
key不区分大小写,建议统一写小写。author必填。缺少author时插件会被标记为 manifest 无效。- 大多数字段重复时采用最后一个值;
rule、event、method、param、dependency和选择器字段可以重复。 - 布尔值支持
true/false、1/0、yes/no。
常用字段
适配器补充字段
这些头注主要给plugin/adapters/ 下的适配器 worker 使用。完整接入流程见 适配器插件开发规范。
消息触发:rule
rule 用来匹配用户消息。你可以写多个 rule。
sender.param(1) 读取。
事件和定时触发
cron 只能写一次。支持常见 5 段表达式,也支持带秒的表达式和 cron 描述符。
触发范围
用选择器限制插件在哪些 IM、用户或群里生效。
同一类选择器同时写允许名单和排除名单时,按允许名单处理。建议不要混用。
配置参数:param
param 用 JSON 声明配置项。每一行声明一个配置项。
依赖:dependency
用dependency 提前声明插件需要的包。每一行是一个 JSON 对象。
也可以在代码里按需导入:JavaScript 使用
importModule(...),Python 使用 import_module(...)。
HTTP 路由插件
声明router 后,插件可以处理 HTTP 请求。
不要使用
/api、/open、/healthz 作为路由前缀。
Marketplace 字段
如果你要公开发布插件,可以补充这些字段。完整示例
机器可读文件
- JSON Schema:
schemas/plugin-manifest.schema.json - JavaScript 类型声明:
types/middleware-js.d.ts