Skip to content

leonsong09/cpa-codex-managetool

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

cpa-codex-managetool

一个给 CLIProxyAPI 管理页 使用的 Tampermonkey 用户脚本,用来专门处理 Codex 认证文件 的扫描、筛选、禁用、恢复启用与异常清理。

适用页面:

  • http://127.0.0.1:8317/management.html#/auth-files

脚本文件:

  • cpa-codex-managetool.user.js

GitHub:

  • 仓库:https://github.com/leonsong09/cpa-codex-managetool
  • 直接安装:https://raw.githubusercontent.com/leonsong09/cpa-codex-managetool/main/cpa-codex-managetool.user.js
  • 更新日志:https://github.com/leonsong09/cpa-codex-managetool/blob/main/CHANGELOG.md

截图预览

以下截图全部为 脱敏演示数据,不包含真实账号、邮箱、token、authIndex 或管理密钥。

1. 总览视图

总览视图

2. 按套餐分组

按套餐分组

3. 搜索 + 状态分组

搜索与状态分组


功能特性

扫描能力

  • 快速扫描 Codex 认证文件异常
  • 慢查询扫描,降低瞬时请求压力
  • 默认跳过已禁用文件
  • 可切换为“包含已禁用文件”重新检查

异常识别

  • 识别 401
  • 识别 usage_limit_reached
  • 识别 rate_limit.limit_reached
  • 识别已禁用但额度已经恢复的文件
  • 保留其他异常分类展示,如 403 / 404 / 429 / other

批量处理

  • 一键禁用额度已达上限账号
  • 一键启用“已恢复额度文件”
  • 一键启用“全部已禁用文件”
  • 一键删除异常文件(主要用于 401)

多维筛选

  • 异常分类筛选
  • 套餐分类筛选:
    • Free
    • Plus
    • Team
    • 未知
  • 启用状态筛选:
    • 全部
    • 启用中
    • 禁用中
  • 搜索框:
    • 支持按文件名搜索
    • 支持按错误原因搜索

结果视图

  • 平铺视图
  • 按套餐分组
  • 按启用状态分组
  • 分组可折叠

兼容与回退

  • 集成 Tampermonkey 菜单回退入口
  • 当页面面板暂时不可见时,仍可通过菜单触发核心动作

安装方式

方式 1:直接安装

在安装了 Tampermonkey 后,打开:

  • https://raw.githubusercontent.com/leonsong09/cpa-codex-managetool/main/cpa-codex-managetool.user.js

Tampermonkey 会提示安装。

方式 2:手动导入

  1. 安装浏览器扩展 Tampermonkey
  2. 新建脚本
  3. cpa-codex-managetool.user.js 的内容完整粘贴进去
  4. 保存后刷新 CLIProxyAPI 管理页

方式 3:本地文件导入

直接在 Tampermonkey 中导入:

  • cpa-codex-managetool.user.js

使用说明

进入 CLIProxyAPI 管理页的 认证文件 页面后,会出现一个“异常扫描”面板。


按钮说明

开始扫描

  • 快速扫描 Codex 文件
  • 并发较高,适合日常快速清点

慢查询扫描

  • 单并发慢速扫描
  • 会在每个文件之间做等待
  • 适合:
    • 检查额度问题
    • 减少瞬时请求压力
    • 避免短时间高频触发上游限制

包含已禁用:开 / 关

控制扫描范围:

  • 关闭时:
    • 默认跳过 disabled: true 的 Codex 文件
  • 开启时:
    • 已禁用文件也会重新参与检查

自动禁用额度 limit

  • 将当前筛选结果中命中额度上限的文件设为 disabled: true
  • 不会删除文件
  • 只会处理当前命中的 usage_limit_reached / rate_limit.limit_reached 文件

启用已恢复额度文件

  • 将当前筛选结果中“已恢复额度”的文件重新启用
  • 适合在包含已禁用扫描后做恢复

启用全部已禁用文件

  • 直接将全部已禁用 Codex 文件批量启用
  • 不受当前筛选限制

确认删除

  • 删除当前筛选结果中的异常文件
  • 主要适用于:
    • 401
    • 明确失效的异常文件

清空 / 重置

  • 清空当前扫描状态
  • 重置临时 managementKey 缓存

筛选与搜索逻辑

脚本支持多维组合筛选,所有动作都会跟随当前结果生效。

支持组合:

  • 异常分类
  • 套餐分类
  • 启用状态
  • 搜索关键词
  • 视图模式

例如你可以这样用:

  • 额度 limit + Free + 启用中
  • 已恢复额度 + 禁用中
  • 401 + Plus
  • 搜索 recovered
  • 搜索某个文件名前缀

当前命中的结果,会直接影响:

  • 自动禁用
  • 启用恢复
  • 删除

也就是说,按钮处理的是“当前筛选命中结果”,不是始终处理全部扫描结果。


套餐分类说明

脚本会优先从 wham/usage 返回中识别套餐,例如:

  • plan_type

若 usage 返回中没有明确套餐信息,则会尝试从以下位置推断:

  • id_token
  • metadata
  • attributes

最终归类为:

  • Free
  • Plus
  • Team
  • 未知

搜索框说明

搜索框支持:

  • 文件名匹配
  • 错误原因匹配

适合场景:

  • 按文件名前缀快速定位某批账号
  • 搜索 usage_limit_reached
  • 搜索 missing auth_index
  • 搜索 forbidden
  • 搜索 recovered

扫描逻辑说明

默认行为

  • 默认 跳过已禁用文件
  • 这样可以避免已经处理过的额度文件反复进入扫描

包含已禁用文件扫描

当你打开“包含已禁用”后:

  • 已禁用文件也会被重新检查
  • 如果这些文件已经:
    • 不再 401
    • 不再额度 limit
    • 没有其他异常

则会进入:

  • 已恢复额度

之后你可以直接点击:

  • 启用已恢复额度文件

识别规则

401

以下情况会被识别为 401:

  • 请求结果返回 401
  • 或错误中包含 unauthorized

额度 limit

以下情况会被识别为额度上限:

  • 错误消息包含 usage_limit_reached
  • wham/usage 返回 200,但 body 中出现:
    • rate_limit.limit_reached === true
    • code_review_rate_limit.limit_reached === true
    • credits.overage_limit_reached === true
    • spend_control.reached === true

已恢复额度

仅当文件本身已经是 disabled: true,并且重新扫描后:

  • 不再 401
  • 不再额度 limit
  • 没有其他异常

才会归类到:

  • 已恢复额度

推荐使用流程

日常清理流程

  1. 先用 开始扫描
  2. 观察 401额度 limit
  3. 对额度满的账号点击 自动禁用额度 limit
  4. 对明确失效账号点击 确认删除

低频复查流程

  1. 打开 包含已禁用
  2. 执行 慢查询扫描
  3. 观察 已恢复额度
  4. 点击 启用已恢复额度文件

批量定位流程

  1. 扫描完成后
  2. 通过:
    • 套餐分类
    • 启用状态
    • 搜索框
  3. 缩小到目标集合后,再执行禁用 / 启用 / 删除

脱敏截图说明

README 中的截图不是来自真实生产数据,而是仓库中生成的示意页。

相关文件:

  • docs/screenshot-preview.html
  • docs/screenshots/overview.png
  • docs/screenshots/plan-grouping.png
  • docs/screenshots/search-filter.png

这些截图具备以下保护措施:

  • 使用演示文件名
  • 不包含真实邮箱
  • 不包含真实 authIndex
  • 不包含真实 account id
  • 不包含真实 token
  • 不包含真实 managementKey

如果你后续要替换成真实页面截图,建议至少做以下脱敏:

  1. 遮住文件名中的敏感标识
  2. 遮住邮箱
  3. 遮住 account id / authIndex
  4. 遮住任何 token、cookie、管理密钥
  5. 避免把浏览器地址栏中的敏感参数一起截入

注意事项

  • 本脚本依赖 CLIProxyAPI 管理页
  • 管理页需要能访问 /v0/management/*
  • 若页面未持久化 managementKey,脚本可能会提示输入
  • “启用全部已禁用文件” 会对全部已禁用的 Codex 文件生效,请谨慎使用
  • “确认删除” 会根据当前筛选结果执行,请先确认筛选范围

开发与发布

本地语法检查

node --check .\cpa-codex-managetool.user.js

仓库地址

https://github.com/leonsong09/cpa-codex-managetool

直接安装地址

https://raw.githubusercontent.com/leonsong09/cpa-codex-managetool/main/cpa-codex-managetool.user.js

许可证

本项目使用 MIT License

你可以:

  • 使用
  • 修改
  • 分发
  • 二次发布
  • 商业使用

详情见:

  • LICENSE

About

Tampermonkey userscript for scanning, filtering, and managing Codex auth files in CLIProxyAPI

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors