mirror of
https://github.com/farion1231/cc-switch.git
synced 2026-07-28 00:35:32 +08:00
6a34253934
Adds a new managed OAuth provider that lets Claude Code route requests through a user's ChatGPT Plus/Pro subscription via the chatgpt.com backend-api/codex endpoint. - CodexOAuthManager: OpenAI Device Code flow with multi-account support, JWT-based account identification, and automatic access_token refresh. - Reuses the generic managed-auth command surface (auth_start_login, auth_poll_for_account, etc.) via provider dispatch in commands/auth.rs. - ClaudeAdapter detects codex_oauth providers, forces the base URL to the ChatGPT backend, pins api_format to openai_responses, and emits Authorization + originator headers; the forwarder injects the dynamic access_token and ChatGPT-Account-Id per request. - transform_responses gains an is_codex_oauth path that aligns the body with OpenAI's codex-rs ResponsesApiRequest contract: sets store:false, appends reasoning.encrypted_content to include, strips max_output_tokens / temperature / top_p, injects default instructions/tools/parallel_tool_calls, and forces stream:true. Covered by 9 new unit tests plus regression guards for the non-Codex path. - Stream check reuses the same transform flag so detection matches the production request shape. - Frontend adds CodexOAuthSection + useCodexOauth hook, integrates it into ClaudeFormFields / ProviderForm / AuthCenterPanel, ships a new "Codex (ChatGPT Plus/Pro)" preset, and adds zh/en/ja i18n strings.
65 lines
1.0 KiB
Rust
65 lines
1.0 KiB
Rust
#![allow(non_snake_case)]
|
|
|
|
mod auth;
|
|
mod balance;
|
|
mod codex_oauth;
|
|
mod coding_plan;
|
|
mod config;
|
|
mod copilot;
|
|
mod deeplink;
|
|
mod env;
|
|
mod failover;
|
|
mod global_proxy;
|
|
mod import_export;
|
|
mod mcp;
|
|
mod misc;
|
|
mod model_fetch;
|
|
mod omo;
|
|
mod openclaw;
|
|
mod plugin;
|
|
mod prompt;
|
|
mod provider;
|
|
mod proxy;
|
|
mod session_manager;
|
|
mod settings;
|
|
pub mod skill;
|
|
mod stream_check;
|
|
mod subscription;
|
|
mod sync_support;
|
|
|
|
mod lightweight;
|
|
mod usage;
|
|
mod webdav_sync;
|
|
mod workspace;
|
|
|
|
pub use auth::*;
|
|
pub use balance::*;
|
|
pub use codex_oauth::*;
|
|
pub use coding_plan::*;
|
|
pub use config::*;
|
|
pub use copilot::*;
|
|
pub use deeplink::*;
|
|
pub use env::*;
|
|
pub use failover::*;
|
|
pub use global_proxy::*;
|
|
pub use import_export::*;
|
|
pub use mcp::*;
|
|
pub use misc::*;
|
|
pub use model_fetch::*;
|
|
pub use omo::*;
|
|
pub use openclaw::*;
|
|
pub use plugin::*;
|
|
pub use prompt::*;
|
|
pub use provider::*;
|
|
pub use proxy::*;
|
|
pub use session_manager::*;
|
|
pub use settings::*;
|
|
pub use skill::*;
|
|
pub use stream_check::*;
|
|
pub use subscription::*;
|
|
|
|
pub use lightweight::*;
|
|
pub use usage::*;
|
|
pub use webdav_sync::*;
|
|
pub use workspace::*;
|