核心用法
codex-cleaner 是一个纯 Python 标准库实现的命令行工具,用于监控和清理 Codex Provider Agent (CPA) 中的无效认证文件。通过 CPA 管理 API,该工具能够检查配额状态、识别返回 401 错误的失效文件,并在执行删除前进行双重验证,防止误删临时故障的文件。
主要工作流分为三个阶段:
- status: 查看当前认证文件状态
- check: 并发检测活跃文件的配额状态,自动禁用返回 401 的文件
- delete: 对已禁用的文件进行两次验证(间隔 2 秒),确认仍返回 401 后才执行删除
- clean: 组合执行 check + delete,支持生成人类可读报告或 JSON 输出
- monitor: 循环监控模式,默认 300 秒间隔
配置支持多级优先级:命令行参数 > 环境变量 (CPA_URL/CPA_KEY) > config.json 文件。首次运行需执行 setup 向导生成配置文件。
显著优点
1. 零依赖设计:仅使用 Python 标准库,无需额外安装包,部署简单
2. 安全删除机制:双重验证(verify#1 → 等待 2s → verify#2)有效避免误删临时 401 的文件
3. 并发检测:默认 20 并发连接,高效处理大量认证文件
4. 灵活配置:支持 CLI 参数、环境变量、配置文件三种方式,适配 CI/CD 和自动化场景
5. 监控集成:可通过 nanobot HEARTBEAT 或 cron 定时执行,输出结构化报告
6. 通知支持:内置 Telegram 通知配置,及时告知清理结果
潜在缺点与局限性
1. 功能单一:仅针对 Codex/CPA 认证文件,无法扩展至其他类型的凭据管理
2. 网络依赖:完全依赖 CPA API 可用性,若 CPA 服务故障则无法执行检测
3. 延迟验证:2 秒等待时间虽防误删,但在大规模清理场景下会累积显著延迟
4. 无回滚机制:文件删除后无法自动恢复,需依赖 CPA 重新下发认证
5. 权限集中:需要 admin key 权限,存在密钥泄露风险
适合人群
- 运维工程师:管理大量 Codex 认证节点的自动化清理
- DevOps 团队:集成到 CI/CD 流水线中的凭据健康检查
- nanobot 用户:通过 HEARTBEAT 实现定时监控和报告推送
常规风险
| 风险类型 | 描述 | 缓解措施 |
|---------|------|---------|
| 误删风险 | 临时网络波动导致 401 误判 | 双重验证机制 |
| 密钥泄露 | `cpa_key` 存储于配置文件或环境变量 | 使用只读权限,定期轮换 |
| API 滥用 | 高并发请求可能触发 CPA 限流 | 调整 `concurrency` 参数 |
| 单点故障 | CPA 服务不可用导致监控中断 | 监控 CPA 健康状态 |
该工具整体安全设计良好,双重验证机制是其核心安全保障,适合生产环境自动化运维使用。