Skip to content

feat(provider): 支持 ChatGPT 订阅认证与 OpenAI Codex - #1752

Draft
Ayuilos wants to merge 6 commits into
rikkahub:masterfrom
Ayuilos:codex/provider-subscription-auth
Draft

feat(provider): 支持 ChatGPT 订阅认证与 OpenAI Codex#1752
Ayuilos wants to merge 6 commits into
rikkahub:masterfrom
Ayuilos:codex/provider-subscription-auth

Conversation

@Ayuilos

@Ayuilos Ayuilos commented Aug 19, 2026

Copy link
Copy Markdown

概述

为 OpenAI Provider 增加 ChatGPT 订阅认证,使已有 ChatGPT 订阅的用户可以在 RikkaHub 中登录并使用 OpenAI Codex 模型。

  • 新增 API Key / ChatGPT 订阅两种认证方式
  • 实现 Codex Device Authorization 登录、退出和 Token 刷新
  • 加载订阅账号可用的 Codex 模型列表
  • 使用 Responses API 处理文本生成、流式响应与工具调用
  • 将 ChatGPT 订阅入口限制在 OpenAI 官方端点,避免向第三方 Provider 暴露订阅凭据
  • 分享 Provider 配置时移除 Codex 登录凭据
  • 兼容 Codex SSE 响应缺少 Content-Type 的情况,同时保持其他 Provider 的严格校验

背景与根因

原有 OpenAI Provider 仅支持 API Key,无法使用 ChatGPT 订阅访问 Codex 后端。Codex 后端还要求 Responses 请求启用流式传输,并且实际 SSE 响应可能不携带 Content-Type;OkHttp 默认 EventSource 会在解析事件前拒绝这类响应。

本 PR 增加独立的订阅认证状态和请求认证器,并只对官方 Codex 订阅请求启用缺失 Content-Type 的 SSE 兼容逻辑。

用户影响

用户可以在 OpenAI Provider 中选择“ChatGPT 订阅”,通过浏览器完成设备授权登录,加载可用 Codex 模型,并使用普通回复、流式回复和工具调用。第三方 OpenAI-compatible Provider 继续使用 API Key,不显示 ChatGPT 订阅选项。

验证

  • Codex Device Authorization、错误响应解析与 Token 处理单元测试
  • OpenAI 请求认证和模型列表单元测试
  • Responses API 请求体、流式聚合和 SSE 兼容单元测试
  • Provider 配置转换和分享凭据清理单元测试
  • assembleDebug 构建通过
  • Android 真机登录、模型加载及 Provider 三种连接测试均已手动验证

@re-ovo

re-ovo commented Aug 19, 2026

Copy link
Copy Markdown
Collaborator

不要提交功能性PR和大型PR,有需求可以提issue

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants