fix: align codex compat ua with tui

This commit is contained in:
lpf
2026-03-18 10:46:42 +08:00
parent ceb34d6c7e
commit 971ac8ddb9
3 changed files with 11 additions and 10 deletions

View File

@@ -846,7 +846,7 @@ func applyCodexWebsocketHeaders(headers http.Header, attempt authAttempt, option
}
headers.Set("User-Agent", codexCompatUserAgent)
if attempt.kind != "api_key" {
headers.Set("Originator", "codex_cli_rs")
headers.Set("Originator", codexCompatOriginator)
if attempt.session != nil {
accountID := firstNonEmpty(
strings.TrimSpace(attempt.session.AccountID),

View File

@@ -99,7 +99,7 @@ func TestApplyAttemptProviderHeaders_CodexOAuth(t *testing.T) {
if got := req.Header.Get("Accept"); got != "text/event-stream" {
t.Fatalf("expected sse accept header, got %q", got)
}
if got := req.Header.Get("Originator"); got != "codex_cli_rs" {
if got := req.Header.Get("Originator"); got != codexCompatOriginator {
t.Fatalf("expected codex originator, got %q", got)
}
if got := req.Header.Get("Chatgpt-Account-Id"); got != "acct_123" {

View File

@@ -21,13 +21,14 @@ import (
)
const (
codexCompatBaseURL = "https://chatgpt.com/backend-api/codex"
codexClientVersion = "0.101.0"
codexCompatUserAgent = "codex_cli_rs/0.101.0 (Mac OS 26.0.1; arm64) Apple_Terminal/464"
qwenCompatBaseURL = "https://portal.qwen.ai/v1"
qwenCompatUserAgent = "QwenCode/0.10.3 (darwin; arm64)"
kimiCompatBaseURL = "https://api.kimi.com/coding/v1"
kimiCompatUserAgent = "KimiCLI/1.10.6"
codexCompatBaseURL = "https://chatgpt.com/backend-api/codex"
codexClientVersion = "0.115.0-alpha.27"
codexCompatOriginator = "codex-tui"
codexCompatUserAgent = "codex-tui/0.115.0-alpha.27 (Mac OS 26.0.1; arm64) Apple_Terminal/464"
qwenCompatBaseURL = "https://portal.qwen.ai/v1"
qwenCompatUserAgent = "QwenCode/0.10.3 (darwin; arm64)"
kimiCompatBaseURL = "https://api.kimi.com/coding/v1"
kimiCompatUserAgent = "KimiCLI/1.10.6"
)
type providerAPIRuntimeState struct {
@@ -910,7 +911,7 @@ func applyAttemptProviderHeaders(req *http.Request, attempt authAttempt, provide
req.Header.Set("Accept", "application/json")
}
if attempt.kind != "api_key" {
req.Header.Set("Originator", "codex_cli_rs")
req.Header.Set("Originator", codexCompatOriginator)
if attempt.session != nil && strings.TrimSpace(attempt.session.AccountID) != "" {
req.Header.Set("Chatgpt-Account-Id", strings.TrimSpace(attempt.session.AccountID))
}