DesKit Plugin Docs

存储与设置

如何保存插件数据、暴露用户设置,并处理快捷键。

存储与设置

插件通常需要保存两类数据:

  • 运行数据:历史记录、收藏项、缓存结果。
  • 用户设置:开关、数字、文本、快捷键。

这两类数据应该分开思考。运行数据由插件自己管理,设置项应该通过 manifest 暴露给 DesKit,让用户能在插件页面修改。

持久化存储

插件可以通过上下文提供的 storage 能力保存 JSON 友好的数据。适合保存:

  • 最近使用记录;
  • 收藏 ID;
  • 小型缓存;
  • 插件内部状态。

建议保持数据小而明确。不要把大图片、文件二进制或大量远端数据直接塞进 storage。历史剪贴板插件同步时就采用了限制策略:只同步最近少量文本记录,避免占满设置同步文件。

设置项

设置项由 manifest 声明,DesKit 会在插件页面渲染对应 UI。

适合做成设置的内容:

  • 是否启用某类采集;
  • 最大历史数量;
  • 同步方式;
  • WebDAV 地址;
  • 快捷键。

敏感信息要谨慎。当前如果某类 preference 只能以普通文本保存,就应在 README 或设置说明里提示用户。

快捷键

如果插件需要快捷键,优先使用 DesKit 的快捷键设置能力,而不是自己监听全局键盘。

例如历史剪贴板插件可以暴露一个快捷键设置,让用户按下快捷键时打开对应插件命令。这样快捷键冲突、展示和修改都由 DesKit 统一处理。

同步

设置同步可能会把插件设置一起同步出去,因此插件不要把大体积数据藏进设置项。若确实要同步插件数据,应明确控制大小:

  • 限制条目数量;
  • 限制总字节数;
  • 超限时优先丢弃最大或最旧记录;
  • 避免同步图片和文件内容。

我们希望同步设计宁可保守。用户更能接受“同步最近 5 条文本”,不太能接受“因为一张截图导致同步失败”。

本页目录