1. 首页
  2. 使用指南
  3. WebSocket 接入
  4. 反向 WebSocket

反向 WebSocket

  • 发布于 2026-08-16
  • 9 次阅读

反向模式下,插件监听 WebSocket 地址,萌卡NT作为客户端主动连接。

启动插件服务

import { createReverseAPI } from './sdk.js'

const api = createReverseAPI({
  host: '0.0.0.0',
  port: 3002,
  path: '/',
  token: 'TOKEN',
})

api.on('group_message', event => {
  console.log(event.group_id, event.alt_message)
})

await api.listen()

const connection = await api.waitForConnection()
console.log(connection.service, connection.node_id)
字段 必填 默认值 说明
host 0.0.0.0 插件监听地址
port 3002 插件监听端口
path / WebSocket 路径
token - 与管理后台一致的服务令牌

后台配置

在插件服务中选择“反向 WS”,填写:

字段 示例 说明
WebSocket 地址 ws://127.0.0.1:3002/ 必须使用 ws://wss://
服务令牌 TOKEN 与插件 SDK 配置一致
节点 当前节点 限定事件与 API 范围
重连间隔 5 取值 1 到 300 秒

萌卡NT会在断线后按重连间隔再次连接。反向 SDK 同一时间只接受一个萌卡NT连接。

等待与关闭

await api.listen()
await api.waitForConnection(15_000)

console.log(api.connected)

await api.close()

waitForConnection(timeoutMs) 在收到萌卡NT的 ready 帧后返回。传入 0 或省略参数时不设置等待超时。

连接认证

萌卡NT发起握手时会携带以下请求头:

请求头 内容
Authorization Bearer TOKEN
X-Mengka-Token 服务令牌
X-Mengka-Service 服务名称
X-Mengka-Node-ID 绑定节点 ID

SDK校验令牌后接受连接。随后萌卡NT发送:

{
  "type": "ready",
  "service": "service-name",
  "node_id": 1,
  "mode": "reverse"
}

反向连接默认接收全部五类事件。API 和事件帧格式与正向模式一致。