插件
Synra 只做一件事:在你的设备之间搬运东西。而"发送"某样东西意味着什么 —— 发到聊天应用、存进笔记、送去 打印 —— 那是插件的事。
本页讲的是从用户视角看插件是什么:安装一个插件时它问你什么,以及装上之后它能做什么。
安装时会问你什么
插件声明它需要什么,而安装提示会展示那份清单。它就是"插件能做的、而你从其描述里预料不到的事"的全部。
| 你看到的 | 它意味着 |
|---|---|
| 读它自己保存的数据 | 它会存设置与历史 |
| 访问 api.example.com | 那台服务器会看到你的数据 |
| 发给任意已配对设备 | 它能在你的设备之间搬东西 |
| 显示通知 | 它可能往你屏幕上放东西 |
要得更少的插件,是告诉了你更多的插件
访问 api.example.com 比 访问任意服务器 是更窄的承诺,而窄的那条说清了哪台机器会看到你的数据。能说清 这一点的插件,更容易下判断。
插件能触达什么
插件跑在一个沙箱里:没有文件系统、没有网络、没有设备 —— 除了它声明过且你批准过的那些。这是两个独立的 条件,两个都得成立。
"沙箱"不是全部的承诺
沙箱说明插件无法发起系统调用。它不说明插件可以访问哪些主机、能发给哪些设备 —— 那是你批准的能力清单, 是另一种保证。
插件从哪里来
| 来源 | 是什么 |
|---|---|
| 注册表 | 已签名,且会校验发布者的密钥 |
| 一个插件目录 | 你在开发插件时用的方式 |
| 别人发给你的文件 | 会安装,并校验签名 |
没有签名的插件可以安装,而提示会说明这一点。签了名但签名与发布者密钥对不上的插件,完全不会安装。
关掉一个插件
停用会停止调用它,并保留它的数据。卸载会连数据一起移除。两者都影响不到别的插件:一个被停掉的插件,拖不下 任何其他东西。
卸载会移除插件保存的东西
它的存储一起走。停用是可逆的那个,也是你在不确定时该用的那个。
内置的部分
分享、接收、传输、配对与设备列表都是内核的,不是插件的。插件可以给你发出去的东西加一层含义 —— 把这段 发到聊天、把这条存进笔记 —— 但它替代不了"搬运"这件事本身。