SuperAPI AI 工具集

dev-cache

编程与开发

查看项目

更新于 10-15 21:53

技能介绍

用途:dev-cache 是 Capsem 的统一缓存控制平面,用于缓存清点、保留、清理和测试复用,覆盖磁盘、Docker/Colima、Tart、Cargo、Python、Node、BuildKit 等缓存。

主要能力:config/cache.toml 是唯一的缓存清单与策略,每个缓存遵循统一契约,包含 description(保存何种昂贵工作)、scope(disk、docker 或 tart)、max_size_bytes(触发强制执行的用量上限)、warm_size_bytes(越过上限后保留的目标)、prune_strategy(lru、generational、ephemeral、none、docker 或 tart);age 与 count 字段为可选细化,不能替代契约。程序通过 capsem_builder.cache 的 CacheRegistry、CacheRequest、CacheOperation、CacheMutationResult 使用稳定缓存 ID,不按存储机制分支。DiskBackend 通过 CachePaths 清点仓库缓存阶段,RuntimeBackend 通过原生适配器清点与变更 Docker 或 Tart;Docker-on-Colima 仍属 docker 缓存,Colima 只是实现细节。固定外部可执行文件使用 CachedToolPolicy 与 materialize(),每个平台声明一个 HTTPS URL 和 SHA-256,下载一次、原子发布前校验、安装为 0555 权限。

使用方式:公共入口是 just cache,支持 just cache stats、just cache stats --json、just cache stats --offline、just cache contract <cache-id>、just cache verify、just cache prune [cache-id]、just cache prune <id> --apply --reason "why"、just cache enforce <cache-id> --reason "why"、just cache clean <cache-id>、just cache clean all --apply --reason "why"。prune 按普通 age/count 策略执行,用量越过 max_size_bytes 后只回收到 warm_size_bytes;enforce 是带预检的强制执行,若受保护状态阻止合规则失败;clean 是显式冷操作,仍保留活动租约和受保护代际。测试效率方面可用 just fast-test、just focus-test <owner>,完整本地证明为 just test <source-commit>。

适用场景与限制:适用于仓库级缓存治理、Docker/Tart 运行时缓存、Cargo 编译单元保留、对象存储代际回收和测试复用。限制包括:保留缓存生命周期只能通过这些类型化操作结束,不得添加消费者边界释放或测试后驱逐钩子;不得使用宽泛的 docker system prune、直接 Tart 删除、rm 覆盖缓存根或后端专用缓存 CLI;外部 Docker/Tart 资源只作为原生总量可见,Capsem 不会删除;失败或中断的完整尝试会拒绝自动重试;不要为了诊断产品失败而清空缓存,除非冷状态本身是测试对象。