feat: support SUB2API mode for OAuth generation and callback verification#19
Conversation
AI 审查需要人工介入当前 PR 超出了自动审查的安全范围,本次不会自动合并到 dev。
本次未执行自动合并。 |
|
小BUG,上传的账号没有自动填入模型、优先级、并发字段,导致可能不能被调用,可以手动修改一下,稍后我在提交个PR把,把这些默认配置补全。 |
|
支持,感觉还是sub2api好用点 |
|
codex-gpt-5.4分析结果(不一定完全正确,请佬友确认无问题下面继续评论): 我这边结合 PR diff 和仓库现有逻辑看了一遍,整体上把 Step 1 / Step 9 按 CPA / SUB2API 拆分的思路是合理的,原有 CPA 流程也基本保留住了;不过现在我认为还有两个点需要先确认,不然直接合可能会埋坑:
另外我看 GitHub 当前给这个 PR 的状态还是 mergeable=CONFLICTING,说明和现在的 dev 也已经有冲突了,这个最好一起处理掉。 如果上面两个点你那边已经有额外前提(比如回调地址虽然可填,但业务上只允许 localhost;或者 SUB2API 接口一定会在 30 秒内返回),那可以直接说一下;否则我建议先把这两个问题收掉再继续推进。 |
|
(1)已经固定localhost回调地址。(2)上传账号自动携带必要默认配置。(3)AI自动审查DIFF超过WORKFLOW工作流限制,需要人工审核。(4)本地已无冲突。希望佬友审核一下。 |
|
感谢贡献这次改动,SUB2API 模式的核心思路和主体实现已经吸收进 dev 了。我这边顺手处理了和当前 dev 的冲突,并补了一个 SUB2API 步骤执行超时后可能重复触发的问题,后续如果你还有类似改进也欢迎继续提交。 |
概述
这个 PR 为现有 Chrome 扩展新增了 SUB2API 模式,让 OAuth 链接获取和回调验证不再只能依赖 CPA 面板,也可以直接对接 SUB2API 后台完成整条链路。
支持的功能
CPA 面板/SUB2APIcodex)http://localhost:1455/auth/callback)实现方式
1. 侧边栏配置扩展
在
sidepanel/sidepanel.html和sidepanel/sidepanel.js中新增来源选择与 SUB2API 配置项:panelModesub2apiUrlsub2apiEmailsub2apiPasswordsub2apiGroupNamesub2apiRedirectUri界面会根据当前来源动态切换显示字段,并同步更新 Step 9 的按钮文案。
2. 后台编排分支化
在
background.js中把 Step 1 / Step 9 逻辑按来源拆成两条分支:executeCpaStep1/executeCpaStep9executeSub2ApiStep1/executeSub2ApiStep9这样保留了原来的 CPA 实现,同时让 SUB2API 逻辑独立维护,不会污染现有流程。
另外还增加了 SUB2API 相关运行时状态存储:
sub2apiSessionIdsub2apiOAuthStatesub2apiGroupIdsub2apiDraftName用于在 Step 1 和 Step 9 之间传递授权会话信息。
3. 新增 SUB2API 页面脚本
新增
content/sub2api-panel.js,负责在真实浏览器标签页环境中完成 SUB2API 侧的处理。Step 1 的实现:
codex)auth_url/session_idauth_url中解析并保存stateStep 9 的实现:
code/stateplatform=openai、type=oauth的账号数据4. 对接的 SUB2API 接口
本 PR 实际对接的是 OpenAI Auth 这套接口,而不是 antigravity:
POST /api/v1/auth/loginGET /api/v1/admin/groups/allPOST /api/v1/admin/openai/generate-auth-urlPOST /api/v1/admin/openai/exchange-codePOST /api/v1/admin/accounts这能确保实现与 SUB2API 后台当前实际的 OpenAI Auth 流程一致。
兼容性与影响范围
测试要点
已重点验证以下链路: