Files
NebulaShell/store/@{FutureOSS}/ws-api
Falck 76147bae94 初始提交 - FutureOSS v1.0 插件化运行时框架
一切皆为插件的开发者工具运行时框架

🧩 核心特性:
  - 插件热插拔 (importlib 动态加载)
  - 依赖自动解析 (拓扑排序 + 循环检测)
  - 企业级稳定 (熔断/降级/重试/隔离)
  - 事件驱动 (发布/订阅事件总线)
  - 完整配置 (YAML 配置 + 热重载)
2026-04-06 09:57:10 +08:00
..

ws-api WebSocket API

提供 WebSocket 实时双向通信服务。

功能

  • WebSocket 服务器
  • 路由匹配
  • 中间件链(认证/日志)
  • 广播消息
  • 连接/断开/消息事件
  • 与 HTTP 插件集成

使用

ws = plugin_mgr.get("ws-api")

# 注册消息路由
ws.router.on_message("/chat", lambda client, msg: client.send({"echo": msg}))

# 广播
ws.server.broadcast({"type": "announcement", "data": "服务器维护通知"})

# 获取客户端列表
clients = ws.server.get_clients()

事件

# 通过 plugin-bridge 订阅 WS 事件
bridge = plugin_mgr.get("plugin-bridge")
bridge.event_bus.on("ws.connect", lambda event: print(f"新连接: {event.client.path}"))
bridge.event_bus.on("ws.message", lambda event: print(f"消息: {event.message}"))
bridge.event_bus.on("ws.disconnect", lambda event: print(f"断开: {event.client.id}"))

配置

{
  "config": {
    "args": {
      "host": "0.0.0.0",
      "port": 8081
    }
  }
}