# plugins/ — 内置功能插件

ShowenV2 编译时链接的 5 个内置插件。

| 插件 | 目录 | 说明 | 平台 |
|------|------|------|------|
| VideoPlugin | `video/` | 视频播放引擎，基于 OpenCV，支持状态机驱动、帧变换、过渡效果 | Any |
| HttpPlugin | `http/` | Web UI + REST API + WebSocket，基于 warp，依赖 VideoPlugin | Any |
| BlePlugin | `ble/` | BLE GATT WiFi 配网，基于 D-Bus/BlueZ | Linux |
| WifiPlugin | `wifi/` | WiFi 管理（扫描/连接/热点），基于 nmcli | Linux |
| ScreenPlugin | `screen/` | 屏幕唤醒锁 + 光标隐藏，基于 systemd-inhibit | Linux |

## 依赖关系

```
video ←── http
screen    (独立)
ble       (独立)
wifi      (独立)
```

## 插件生命周期

1. `register()` → ServiceManager 注册
2. `init(ctx)` → 获取消息通道和配置
3. `start()` → 启动工作线程
4. `handle_message(msg)` → 处理消息
5. `stop()` → 优雅关闭
