限制说明

English

codex-quota-monitor 面向一个明确的 operator 工作流:监控自托管的 CLIProxyAPI backed Codex OAuth 账号池。如果你运行的是这类系统,它会很有用; 超出这个边界时,它有意保持不完整。

产品边界

数据准确性

Dashboard 会组合多种由 operator 控制的数据源:CPA management endpoints、 gateway health、可选的 direct Codex quota sampling、可选 SQLite history,以及可选 benchmark summary。输入缺失或过期时,账号级 quota 详情可能显示 Unknown,但 5h 和 weekly pool headline 会显示当前已知的 Plus 等价容量,不会把整个 headline 替换成 Unknown

重要影响:

Unknown 表示数据之后可能出现。n/a 只应用在状态确实不适用的时候。

API 兼容性

HTTP API 基本是只读的。受保护的 POST /api/v1/quota/refresh 是例外,默认使用页面内 refresh token。旧部署可以显式设置 manual_quota_refresh_auth = "management-key",要求用 CPA management key 作为 bearer token;"none" 只适合可信本地部署。在 0.x 阶段,client 应预期 JSON 会增加新字段,并忽略自己不理解的字段。文档列出的 stable fields 应保持语义稳定,但项目还没有到 1.0;把精确 payload shape 接进自动化前,请先看 release notes。

API 不是认证边界。Host / Origin 检查可以减少浏览器误用,但不会认证访问者身份。

部署限制

安全默认值是只监听 127.0.0.1。LAN 访问需要显式 listen address、allowed-host 配置、防火墙决策,并且最好放在带认证的反向代理后面。

NixOS 部署中,services.codexQuotaMonitor.openFirewall 有意默认保持 false

Container 和 service 部署只应挂载所需的 management key 文件、auth-file 目录和可写 state path。挂载整个 home、password store 或无关 secret 目录不属于预期模型。 如果使用 client labels,只额外挂载那一个受保护的 JSON 运行时文件。

安全限制

Monitor 为了完成工作,必须读取敏感的 operator 状态。host、Python runtime、container runtime、browser、reverse proxy、CPA process 或 root account 被攻破时,仍然可能泄露 secret 或运维 metadata。

项目目标是避免把原始 management key 和 OAuth token 值序列化进 UI、API、metrics、history、benchmark summary、diagnostics 和 logs。账号 label、plan tier、quota timing、model activity、health state、SQLite history、截图和 benchmark output 仍可能敏感。

挂载真实凭据或把 dashboard 暴露到 loopback 之外前,先阅读 安全自审计