权限与安全
日志、事件订阅、定时器和受控任务不需要 manifest 权限。插件首次请求其他能力时,App 会显示权限确认;后续版本增加权限时需要重新授权。
权限分组
| 分组 | 示例 | 说明 |
|---|---|---|
| 私有存储 | plugin.storage | 只能保存到该插件自己的数据区。 |
| 游戏读取 | game.state.read、game.entity.read | 读取公开的游戏和实体状态。 |
| 消息读取 | chat.read、dialog.read | 可能让插件看到服务器或聊天内容。 |
| 交互拦截 | chat.intercept、textdraw.intercept | 修改或取消受支持的交互。 |
| UI | ui.menu、ui.draw | 添加设置页面或绘制 HUD。 |
| 受控写入 | game.player.write、game.vehicle.write | 修改受支持的本地玩家或载具状态。 |
| 物理覆盖 | game.physics.override | 用于受控物理效果的高风险权限。 |
永久禁止的能力
Plugin API 1.0 不提供任意文件系统访问、Native 内存读写、Native Hook、Java 反射、Native 库加载或原始网络包访问。
启用前检查
- 查看插件说明和权限。
- 优先使用官方目录或可信作者。
- 简单视觉插件不应无理由申请聊天拦截或游戏写入。
- 对持续超时或行为异常的插件立即停用。
权限只能限制访问范围,不能代替对作者的信任。插件仍可能滥用用户已经允许它读取的数据。