DOC / PLUGINS / GUIDE

SLai 插件使用说明

给使用者看的:怎么装、怎么开、怎么更新、坏了怎么修。
想自己写插件 → 看同目录 README.md(开发者手册)。

一、插件是什么

插件是一个独立的小程序集,挂在 SLai 里接收检测结果,做检测之外的事:

插件做什么
设备控制把检测框转成键鼠 / 串口动作
目标追踪跨帧跟踪 + 速度预测,锁定目标
样板插件开发者起点:计数、叠加文字、设置面板

插件在独立上下文里加载:插件崩了,主程序不受影响,卸载即恢复。


二、安装

2.1 三种安装方式

方式操作
zip 直投把 xxx.zip 丢进安装目录的 plugins\,重启软件
目录直投把含 plugin.json 的目录整个丢进 plugins\,重启软件
软件内安装插件页 →「浏览插件市场」→ 下载安装(自动放好并重载)

2.2 目录结构(安装后应该长这样)

plugins\
  device-control-5.5\
    plugin.json          ← 必需:id / name / version / entryAssembly / entryType
    DeviceControl.dll    ← 入口程序集
    plugin.json ← 插件说明(不要手改)

注意:两个插件目录不能用同一个 id,否则宿主只认一个(按 id 去重)。

2.3 装完检查

插件页应出现该插件卡片;状态为「未运行」。没出现就对照第三章排错。


三、启用 / 停用 / 配置

  1. 加载:卡片右侧「加载」→ 状态变「运行中」,状态栏出现 已加载插件: 名称
  2. 停用:「卸载」→ 插件停止接收数据,目录保留
  3. 配置:卡片出现「设置」按钮说明插件带配置面板
  4. 重载:改了配置或替换了文件 → 「刷新」或重启软件

插件能拿到什么:检测结果(类别、置信度、框)、画面尺寸、宿主状态栏/叠加层、

模型与软件信息(通过 IPluginHost)。


四、更新

情况做法
市场提示有新版点「更新」,宿主替换目录并重新加载
手动更新用新目录覆盖 plugins\<id>\(整目录替换),重启软件
只想试用新版本新版本换个目录名 + 改 plugin.json 的 id(如 -beta),两版共存

不要只替换部分 dll:文件不完整会导致加载被拒。


五、卸载

  1. 软件内「卸载」→ 插件停止
  2. 关闭软件 → 删除 plugins\<插件目录>
  3. 重开软件,卡片消失

残留的叠加层(画在预览上的文字/框)在插件卸载后应被清理;没清干净就重启软件。


六、排错

现象原因处理
装完列表里没有plugin.json 缺字段 / entryAssembly 指向的 dll 不存在 / entryType 写错打开 plugin.json 逐项核对
有卡片,点加载报错入口类型没实现 IYoloPlugin,或构造抛异常看 %LOCALAPPDATA%\SLai\error.log
加载被拒:完整性失败文件被改过 / 解压不完整重新解压原包,不要改文件
两个版本只生效一个目录 id 重复改 id 或删掉旧的
加载后界面卡顿插件在后台线程直接改 UI卸载并反馈作者(应走 InvokeOnUI)
检测框延迟明显变大插件 OnDetections 里做了重活卸载该插件对比帧率
卸载后仍有框/文字插件没清叠加层重启软件

排查顺序:插件页状态 → error.log → plugin.json → 完整性文件。


七、安全提醒


八、获取插件

技术支持 / 售后

客服 QQ 13247131402
客服 QQ 23225324877
服务时段10:00 - 22:00
激活 / 换绑24h 内

遇到安装、激活、卡密问题,带设备码联系更快。