ARTICLE · 1199310
OpenCode 宿主存储为插件提供持久化服务
OpenCode 宿主存储为插件提供持久化服务
OpenCode 插件 V1 那会儿,为了缓存模型列表,插件硬生生自己建了一套文件存储。
它得自己算目录、建文件夹、读写 JSON,还得写临时文件再原子替换。这活儿太脏,代码又脆又复杂。
更要命的是状态全揉在一个文件里。远端拉来的原始模型、过滤后的数据,还有用户自定义的偏好全混在一起。缓存能随时清空,但用户配置绝不能丢,混着存极易误删。
到了 V2,宿主直接把 Storage 甩给插件用。插件只管定规则:怎么生成 key、啥时候过期、哪些敏感字段要洗掉。至于底层是文件还是数据库,完全不用操心。
跨进程读写也统一收归 Server 管理,TUI 界面没权限直接碰,并发隐患一下没了。
最关键的升级是物理隔离。V2 把短期缓存和长期覆盖分开放,清空缓存时只删特定前缀的键。不管清多少次,用户自定义的配置纹丝不动。
V1 的老文件也不强行迁移,两套数据互不干扰,彻底甩掉了历史包袱。
原文OpenCode 插件状态存在哪?从 XDG 文件缓存到宿主 Storage
广东,2小时前,















































































