CPA Manager Plus v1.12.6
45 commits · 113 files changed · +19022 / -1267
Overview
v1.12.6 聚焦 CPA 连接迁移与回滚安全、跨 Provider 的计划与配额展示、Codex 历史身份连续性,以及观测间隔后的配额窗口恢复。Manager Server 现在将 CPA Management Key 保持在服务端加密存储中,不再返回浏览器;安装升级保留可恢复状态;Accounts 与 Request Monitoring 共享最新 Provider 配额证据;无法证明身份的历史数据继续安全失败。
Highlights
Fixes
- Manager Server 配置接口现在只返回 CPA Management Key 是否已配置;已保存的密钥留在服务端加密存储中,setup 与轮换均使用只写入输入。
- Docker 与原生安装器会将旧 CPA URL/Key 输入导入加密 SQLite,并在健康检查、管理员鉴权和 CPA 管理接口验证通过后才移除旧运行配置;外部密钥文件不会被删除。
- 迁移快照与恢复将
usage.sqlite、WAL/SHM/journal 伴随文件和data.key视为一个完整文件集;取消或失败时保留安全回滚路径。 - Legacy CPA 连接使用明确的 authority 规则:完整
manager_config_v1优先,兼容的 setup 数据可修复 partial manager 记录;冲突或无法判断的状态要求store-cpa-connection --repair-conflict,不会静默改绑。 - CPA 导入失败时保留受限权限的 pending 状态和临时密钥以便安全重试;v2 之后损坏的持久化密钥以及缺失或错配的
data.key会 fail closed,不会创建替代密钥。 - Accounts 与 Request Monitoring 现在共享 Provider 配额刷新结果,并阻止过期缓存代次或响应头证据覆盖更新的配额状态。
- Codex 账号历史和 Monitoring 账号窗口只在明确账号身份与精确凭证来源匹配时复用 legacy 数据;有歧义或不属于目标凭证的记录保持隔离,
usage_events始终不可变。 - Accounts 配额详情在自然 rollover 后出现观测间隔时,仍可显示最近关闭的 5 小时或周配额窗口。
- Request Monitoring 计划筛选器现在保留 Provider 作用域的身份;等价别名可以在同一 Provider 内归并,但不会与其他 Provider 的计划发生冲突。
Refactor
- Accounts、Monitoring、Inspection、Dashboard 和 Usage Analytics 统一使用 Provider 感知的计划展示路径,支持 compact/full 标签、原始计划值保留和未知值可见回退。
Docs
- 部署与备份文档补充加密 CPA 存储、完整快照文件、重试与冲突修复流程,以及回滚清理边界。
Upgrade Notes
- 已有部署可能在升级启动时执行连接存储规范化迁移;请将
usage.sqlite、WAL/SHM/journal 和匹配的data.key一起备份。迁移不会改写usage_events。 - 有效的持久化连接不需要手动改配置。旧 env/secret 导入失败时,请保留安装器管理的 pending 文件和临时密钥以便重试;外部
CPA_MANAGEMENT_KEY_FILE不会被删除。 - 如果服务报告 v2 之后 CPA 连接存储损坏或存在未解决冲突,不要替换
data.key;停止 Manager Server 后,使用已明确核验的 URL 与密钥文件执行store-cpa-connection --repair-conflict。 - Monitoring 集成应使用不透明的
row.id保存状态、使用row.account展示账号,不要仅按 project ID 或显示值合并 Codex 账号。
Full Changelog: v1.12.5...v1.12.6