安全与信任策略
自定义组件的风险不取决于“是否用了 RunCommand”或“是否会在线更新”,而取决于:- 可执行内容从哪里来
- 可执行内容是否会在运行时变化
风险矩阵
可执行内容指纹
远程更新时只比较“可执行内容”:RunCommand的Command、WorkingDirectoryPluginApi的PluginId、Method、Arguments- 当存在上述动作时,相关函数脚本和触发器
Data 刷新、文本变化、布局变化不会触发确认。新闻、公告、状态类组件可以继续实时更新。
动态命令
Data、Resources、Inputs、Results、Children、Size、State。
普通 shell 花括号(例如 PowerShell 脚本块)不会被当作绑定替换。
仍然存在的边界
- 本地导入的
.qwidget被视为用户主动选择的本地内容;本地组件内的字面量命令不逐次确认。 - 用户确认过的远程静态命令在命令未变化时不再逐次确认;这是有意设计。
- 只使用你信任的组件来源。启动器开发者不对自定义组件造成的风险负责。