SuperAPI AI 工具集

cache-architecture

安全与审计

查看项目

更新于 10-15 23:47

技能介绍

本资料介绍 quota-axi 中的缓存架构与上下文隔离机制,主要实现于 src/cache.ts。

用途:定义磁盘缓存的存放位置、文件权限、上下文作用域隔离与数据保留策略,避免跨账号或跨环境的缓存串用。

缓存存储与安全:缓存路径为 ~/.cache/quota-axi/quotas.json;若设置了 XDG_CACHE_HOME,则为 $XDG_CACHE_HOME/quota-axi/quotas.json。缓存文件与父目录必须使用严格权限创建,文件为 0600,目录为 0700。缓存仅保存规范化、非机密的配额快照结构;禁止持久化原始 HTTP 响应、响应头、Authorization bearer、刷新令牌、API 密钥或浏览器 Cookie。

上下文作用域:为防跨账号/跨环境污染,某些身份依赖配置或槽位共享的提供商被登记在 CONTEXT_SCOPED_PROVIDERS 中,包括 Claude、Kimi、Command Code、MiniMax、ElevenLabs、Devin、Muse 与 Codex。快照携带由应答配置派生出的不透明 SHA-256 上下文标识,例如 Claude 使用配置档案与凭据存储选择;Kimi 使用主目录路径及 config.toml 解析出的槽位与基础 URL;ElevenLabs、Devin、Muse 使用对应来源与应答密钥的单向摘要;Codex 使用凭据所记录的 ChatGPT 账号 ID 哈希。旧式未标记快照或上下文 ID 与当前配置不符的快照会被陈旧回退拒绝。若无法确认上下文身份,则跳过写缓存与清缓存。

生命周期与排除:仅 state.status 为 "fresh"、至少一个窗口且来源非 cache 的读数会被写入。陈旧数据不会重新持久化为 fresh。账号对象在写入前被清除,报告中的 attempts 列表与诊断日志被排除,pace、runway 与选择信号等动态派生结果不得冻结进缓存。jobs 计数按与 credits 相同方式随快照保存;快照从未携带 jobs 则仍不携带,提示、URL、ID 与账号身份不进入缓存。Higgsfield 被排除在 --max-age 新鲜复用之外。

Keychain 访问标记:与缓存目录同放于 ~/.cache/quota-axi/,权限须为 0600,文件名以所选服务与账号名的哈希为键,不含机密材料;在初次授权确认后,可允许后续无提示读取 Keychain 值。

限制:上述机制要求严格的文件权限与配置可读性;无法读取配置时不会写入或清除缓存。官方文本未提供,故安装命令、版本与平台支持等信息暂未提供。