权限
插件为什么要声明权限,以及用户安装时会看到什么。
权限
DesKit 的插件权限是为了让用户在安装前知道插件会接触哪些能力。权限不是装饰字段;插件如果没有声明权限,就不应该绕过框架访问对应数据。
为什么要声明权限
权限解决两个问题:
- 用户信任:安装前知道插件要读剪贴板、访问网络或写剪贴板。
- 框架边界:DesKit 可以在调用插件能力前做统一检查。
Marketplace 和插件安装弹窗都会展示权限标签。已安装插件页面也会显示权限,方便用户回顾。
常见权限
当前常见权限包括:
clipboard:read:读取剪贴板内容,或者接收剪贴板变化事件。clipboard:write:写入剪贴板。network:发起网络请求,例如 WebDAV、API 或同步服务。storage:使用插件持久化存储。
实际可用权限以 SDK 类型和 manifest schema 为准。如果插件声明了后台剪贴板事件,但没有声明 clipboard:read,它不应该收到剪贴板内容。
设计建议
请遵循权限最小原则。一个优秀的插件应该让用户很容易回答:“为什么它需要这个权限?”
建议:
- 只声明当前版本真正使用的权限。
- 在 README 中解释敏感权限的用途。
- 不要为了“以后可能需要”提前申请权限。
- 网络同步、剪贴板读取、后台监听都应该有清晰设置项。
权限提示不是阻碍插件能力,而是让插件更容易被信任。