
【免费下载链接】GPTSession2CPAandSub2API项目地址https://gitcode.com/gh_mirrors/gp/GPTSession2CPAandSub2API点击查看免费下载GPTSession2CPAandSub2API 是一款纯前端单页面工具能把 ChatGPT Web 登录 session JSON 一键转换成 CPA、sub2api、Cockpit Tools、9router、Codex auth.json、AxonHub 或 Codex-Manager 可导入的 JSON。本文给出 7 种输出格式的字段映射完整对照表重点讲清 refresh_token 缺失时的处理方式、id_token 合成、过期时间格式等关键差异帮你快速选对目标工具的导入格式。所有解析都在浏览器本地完成不上传 token。 7种输出格式的结构定位全部转换逻辑集中在 docs/index.html 的convertSession函数中粘贴输入后按所选格式实时生成结果默认格式为 sub2api。输出格式目标工具结构风格CPACodex CPA扁平单对象字段最全sub2apisub2api 网关exported_at proxies accounts包装层CockpitCockpit Tools扁平单对象与 CPA 近似9router9routercamelCase 命名 状态字段CodexCodex 原生 auth.jsontokens嵌套结构AxonHubAxonHubtokens嵌套 占位符提示字段Codex-ManagerCodex-Manager 批量导入tokens meta双块结构 核心字段映射对照表速查同一份 session 信息在不同输出格式中的落点如下源信息CPAsub2apiCockpit9routerCodexAxonHubCodex-Manageraccess tokenaccess_tokencredentials.access_tokenaccess_tokenaccessTokentokens.access_tokentokens.access_tokentokens.access_tokenrefresh tokenrefresh_token不输出refresh_tokenrefreshTokentokens.refresh_tokentokens.refresh_tokentokens.refresh_tokenid tokenid_token不输出id_token不输出tokens.id_tokentokens.id_tokentokens.id_token邮箱emailcredentials.emailextra.emailemailemail不输出不输出meta.label账号 IDaccount_idchatgpt_account_idcredentials.chatgpt_account_idaccount_ididproviderSpecificData.chatgptAccountIdtokens.account_id不输出tokens.account_idchatgpt_account_id套餐类型plan_typechatgpt_plan_typecredentials.plan_type不输出providerSpecificData.chatgptPlanType不输出不输出不输出过期时间expiredISOexpires_atUnix 秒credentials.expires_atISOexpiredISOexpiresAtISOexpiresIn秒不输出不输出不输出刷新/导入时间last_refreshextra.last_refreshlast_refreshcreatedAt/updatedAtlast_refreshlast_refresh特殊见下不输出工具还会自动解析accessToken的 JWT payload从中补充邮箱、账号 ID、用户 ID、套餐类型和exp过期时间见 docs/index.html因此即使 session 顶层缺少这些字段多数输出仍能填全。 各格式字段详解CPA扁平对象字段最全构造逻辑见 docs/index.html。固定含type: codex其余字段account_id、email、name、plan_type、id_token、access_token、session_token、last_refresh、expired、disabled取不到值时会被过滤掉不输出id_token为合成值时会额外标记id_token_synthetic: true。sub2api唯一带包装层的批量结构顶层固定为exported_atISO 时间戳、proxies: []、accounts: [...]三个键docs/index.html。每个账号对象含platform: openai、type: oauth、concurrency: 10、priority: 1固定值expires_at来自该账号 access token 的 JWTexpUnix 秒级时间戳同时置auto_pause_on_expired: truecredentialsaccess_token、chatgpt_account_id、chatgpt_user_id、email、expires_atISO、expires_in剩余秒数、plan_typeextraemail、email_key邮箱归一化、name、auth_provider、source、last_refresh⚠️ 注意如果输入带有真实 refresh_token账号级expires_at/auto_pause_on_expired及credentials中的过期字段会整体省略对应测试见 tests/convert-session.test.js。Cockpit与 CPA 近似的扁平结构构造逻辑见 docs/index.html。同样含type: codex与id_token、access_token、refresh_token、account_id、email、expired比 CPA 少套餐类字段多一个备注字段account_note从输入的 note/remark 等字段透传。9routercamelCase 命名 状态字段构造逻辑见 docs/index.html。字段全为驼峰命名accessToken、refreshToken、expiresAt、testStatus默认active、expiresIn、providerSpecificData内含chatgptAccountId、chatgptPlanType、id取账号 ID、provider: codex、authType: oauth、name、email、priority默认 9输入中可透传覆盖、isActive默认 true、createdAt/updatedAt。Codex原生 auth.json 结构构造逻辑见 docs/index.html。固定auth_mode: chatgpt与OPENAI_API_KEY: nulltokens内含id_token、access_token、refresh_token、account_id顶层last_refresh为转换时刻的 ISO 时间戳。缺失refresh_token时保留空字符串与 Codex 原生文件形状一致。AxonHub带占位符提示的 tokens 结构构造逻辑见 docs/index.html。同样auth_mode: chatgpttokens三件套但有两个独特行为**last_refresh取「过期时间减 1 小时」**而非当前时间docs/index.html缺失refresh_token时写入占位值__missing_refresh_token__docs/index.html并附加axonhub_refresh_token_placeholder: true和说明字段axonhub_note方便在 access token 过期前试用有真实 refresh_token 时这两个提示字段不输出Codex-Managertokens meta 双块结构构造逻辑见 docs/index.html。tokens含access_token、refresh_token、id_token以及仅在可取到时才输出的account_id、chatgpt_account_idmeta含label优先邮箱、workspace_id、chatgpt_account_id、固定备注note: Imported from ChatGPT session。与 CPA/Codex 不同缺失 id_token 时保留空字符串而不是合成 JWT避免被 Codex-Manager 误判为可刷新账号。⚡ 三大关键差异点1️⃣ refresh_token 缺失时的写法格式CPACockpitCodexAxonHubCodex-Manager9routersub2api处理方式__missing_refresh_token__整个字段省略不输出该字段2️⃣ id_token 缺失时的补全策略CPA / Cockpit / Codex / AxonHub合成一个 Codex 可解析的三段式 JWT含chatgpt_account_id、chatgpt_plan_type等 claims见 docs/index.html格式断言见 tests/convert-session.test.jsCodex-Manager写空字符串9router / sub2api不输出该字段3️⃣ 过期时间的时间格式sub2api 账号级expires_at是Unix 秒级整数取自 JWTexp对应测试 tests/convert-session.test.js其余格式统一用ISO 8601 字符串9router 与 sub2api 额外提供剩余秒数expiresIn/credentials.expires_in。 多账号批量转换的输出差异sub2api无论单账号还是多账号始终输出一个 JSON 文档账号放在accounts数组里其余 6 种格式单账号输出单个对象多账号时输出对象数组分发逻辑见 docs/index.html输入端同样兼容批量粘贴 JSON 数组或拖入多个 JSON 文件时工具会递归扫描嵌套结构自动找出所有「含 access token 身份标识」的 session 对象逐个转换docs/index.html单个失败会记录跳过原因而不影响其他账号。✅ 快速验证字段映射的两种方法页面自测直接用浏览器打开 docs/index.html点「加载示例」填入示例 session再依次点击 7 个格式按钮对比输出——所有转换纯本地完成不上传 token、不写入本地存储。运行测试执行node tests/convert-session.test.js全部通过会输出convert-session tests passed。核心断言覆盖了 sub2api 过期时间tests/convert-session.test.js、合成 id_tokentests/convert-session.test.js、AxonHub 占位 refresh_tokentests/convert-session.test.js、Codex 原生形状tests/convert-session.test.js与 Codex-Manager 空 tokentests/convert-session.test.js。⚠️ 使用注意ChatGPT Web session 通常不含refresh_tokenaccess token 过期后不能自动刷新OpenAI 已限制用转换后的 session 跳过 Codex 的手机绑定验证Free 账号即使转换成功也可能没有权限调用需付费权限的模型或功能转换结果能否被目标工具使用取决于 OpenAI 与目标工具当前的认证限制、账号权限及 token 有效期详见 README.md选型建议目标是 Codex CLI 选Codex带批量网关选sub2api需要备注多账号选Cockpit需要可刷新占位提示选AxonHub批量导入管理面板选Codex-Manager。赞分享【免费下载链接】GPTSession2CPAandSub2API项目地址https://gitcode.com/gh_mirrors/gp/GPTSession2CPAandSub2API点击查看免费下载相关推荐styled-system 样式属性参考表完整分类、Prop 映射与 Theme Scale 对照指南styled system 样式属性参考表完整分类、Prop 映射与 Theme Scale 对照指南 本文是 styled system 官方文档《Refe前端UI组件设计系统GSD Headless 结构化结果HeadlessJsonResult完全指南JSON 输出、退出码映射与编排决策GSD Headless 结构化结果HeadlessJsonResult完全指南JSON 输出、退出码映射与编排决策 GSD 的 headless 子命令人工智能AI Agent代码智能体Agent 编排CLIAI 应用Suricata EVE JSON Schema 完全指南schema.json 结构、suricata 扩展与字段-关键字映射工具链Suricata EVE JSON Schema 完全指南schema.json 结构、suricata 扩展与字段 关键字映射工具链 Suricata 的网络安全创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考