CPA / sub2api 账号凭证格式转换工具。项目是一个纯静态 Web 页面,部署在 Cloudflare Workers Assets 上,所有解析和生成都在浏览器本地完成。
当前转换规则按以下源码基线同步:
- CLIProxyAPI
411d7d41(2026-07-14) - sub2api
da85cc7e(2026-07-14)
在线地址:
https://cvt.okcode.cc.cd
仓库地址:
https://github.com/semyin/cvt
CLIProxyAPI auth JSON -> sub2api DataPayloadsub2api DataPayload -> CLIProxyAPI auth JSON- 支持粘贴单个 JSON、数组、NDJSON、连续多个 JSON 对象
- 支持选择多个
.json文件 - CPA 转 sub2api 可下载汇总 JSON,也可下载按账号拆分的 ZIP
- sub2api 转 CPA 会下载 ZIP,每个账号一个 CLIProxyAPI 原生 auth JSON
- 支持
codex <-> openai、claude <-> anthropic、antigravity <-> antigravity、xai <-> grok - 兼容旧 CPA
gemini/gemini-cli文件向 sub2api 单向迁移
输出文件是 sub2api 前端导入弹窗可读取的 sub2api-data v1 DataPayload:
{
"type": "sub2api-data",
"version": 1,
"exported_at": "2026-07-14T00:00:00.000Z",
"proxies": [],
"accounts": []
}账号只转换凭证相关字段。disabled=true 的 CPA 账号会被跳过。
为了保持和 sub2api 默认 OAuth 新建账号一致,CPA 转出的普通账号会写入:
{
"concurrency": 10,
"priority": 1,
"rate_multiplier": 1,
"auto_pause_on_expired": true
}Grok OAuth 按最新 sub2api 新建表单使用 concurrency: 1,其余默认字段不变。
不会写入:
notesproxy_keygroup_idsload_factor- 账号级
expires_at
注意:token 的 credentials.expires_at 会保留;这里不写的是 sub2api 账号本身的过期时间。
这是一个公开使用的转换页面,因此两个方向都不会携带或还原代理配置。输入中的 proxy_url、proxy_key、代理用户名和密码会被主动丢弃。
CPA 当前按“每账号一个 auth JSON”管理,不是一个 JSON 文件包含多个账号的导入格式。因此反向转换会生成 ZIP,解压后可得到多个 CPA auth JSON 文件。
CLIProxyAPI 最新源码已移除内置 Gemini auth 文件加载,type: "gemini" 会被直接忽略。因此反向转换遇到 sub2api Gemini 账号时会明确跳过,不生成无效的 CPA 文件;旧 CPA Gemini 文件仍可正向迁移到 sub2api。
支持从以下输入中读取账号:
sub2api-dataDataPayload{ "data": { ... } }导入接口包装格式accounts数组- 单个 account 对象
带 type / version 的 DataPayload 会按 sub2api 当前规则校验:支持 sub2api-data、兼容 sub2api-bundle,版本为 1,并要求同时提供 proxies 和 accounts 数组。
安装依赖:
npm install启动本地 Worker:
npm run dev运行转换回归测试:
npm test部署到 Cloudflare Workers:
npm run deploy当前 Worker 名称在 wrangler.jsonc 中配置为:
{
"name": "cvt"
}.
├─ public/
│ └─ index.html # 转换页面和全部前端逻辑
├─ tests/
│ └─ converter.test.mjs # 凭证格式回归测试
├─ package.json # Wrangler 命令
├─ wrangler.jsonc # Cloudflare Workers Assets 配置
└─ README.md
页面不需要后端 API,不会上传账号凭证。输入的 access token、refresh token、id token 等敏感信息只在当前浏览器内解析和生成下载文件。
仍建议只在可信设备和可信浏览器环境中使用,并避免把生成文件提交到公开仓库或聊天窗口。