8000 feat(collector): 接入 CPA 账本与 Codex 本地用量 by thsrite · Pull Request #25 · InfinityPacer/meterleaf · GitHub
[go: up one dir, main page]

Skip to content

feat(collector): 接入 CPA 账本与 Codex 本地用量 - #25

Merged
InfinityPacer merged 1 commit into
InfinityPacer:mainfrom
thsrite:feat/cpa-usage-report-collector
Oct 2, 2026
Merged

InfinityPacer merged 1 commit into
InfinityPacer:mainfrom
thsrite:feat/cpa-usage-report-collector

Conversation

@thsrite
@thsrite thsrite commented Oct 2, 2026 •
Copy link
Copy Markdown
Contributor

Meterleaf 目前不能读取 CPA 插件账本或 Codex 本地记录。本 PR 增加两个可选采集入口,复用现有 ingest API,分别作为独立来源保存用量,保留原有 CC 采集器和服务端主镜像。

  • CPA:只读读取 usage-report v0.3.1 插件的 SQLite 账本,补采历史并每分钟同步。附可选 Docker Compose 文件,不需要 CPA 管理密码,也不消费 CPA 队列。
  • Codex 本地:只读扫描 sessions / archived_sessions 的 JSONL,提取模型、每次请求的 Token,以及记录中的套餐和额度快照。额度按窗口时长识别,旧历史不覆盖新快照,没有新请求时也能更新套餐和额度。Mac 后台任务与 CC 使用不同名称和数据目录,每分钟低优先级运行,单轮最多读取 64 MiB,优先最近会话;未变化文件不重读正文,历史分批补齐。
  • 两个入口都使用稳定请求标识,确认服务端接收后保存进度,网络重试不会重复计数。不同来源不自动去重;网关与本机同时记录的请求按来源分别保留。
  • GPT 缓存从普通输入中扣除,推理量保持为输出子集。缺失的账号归属、套餐、额度和服务档位不猜测;不上传凭据、对话、工具输出或项目路径。
  • 增加接入、后台任务、备份恢复、重复统计与费用估算边界说明,以及回归和 CI 检查。

验证:

  • Codex 采集回归 22 项、现有 ingest 测试 7 项、套餐和额度展示测试 14 项通过;此前 CPA 回归 12 项也已通过。
  • TypeScript 类型检查、可选 Compose 配置校验、格式检查和 git diff 检查通过。
  • Mac ARM64 采集器在 Linux 环境交叉编译成功;脱敏本机会话样本解析无异常。
  • 实际部署中,CPA 历史全部被官方 Meterleaf 0.7.0 接收,重启不增加重复记录;Codex 连续两轮均在 64 MiB 上限内完成同步、待发送清空并退出进程;原有 CC 来源继续运行。

Codex JSONL 是客户端内部持久化格式,需要随上游变化维护。CPA 接入仅支持上述插件账本;不会恢复上游已删除或未记录的数据,费用仍由 Meterleaf 价格表估算。

@InfinityPacer
InfinityPacer merged commit efad62e into InfinityPacer:main Oct 2, 2026
2 checks passed
@thsrite thsrite changed the title feat(collector): 支持只读同步 CPA usage-report 账本 feat(collector): 接入 CPA 账本与 Codex 本地用量 Oct 2, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

0