fix: sync codex field (#6018)

This commit is contained in:
Seefs
2026-07-11 11:04:15 +08:00
committed by GitHub
parent 00f1cbb6df
commit dad57a6bb8
9 changed files with 162 additions and 14 deletions
@@ -27,12 +27,39 @@ const buildPassHeadersTemplate = (headers) => ({
],
});
const buildCodexPassHeadersTemplate = () => ({
operations: [
{
mode: 'pass_headers',
value: [...CODEX_CLI_HEADER_PASSTHROUGH_HEADERS],
keep_origin: true,
},
],
});
// Keep in sync with upstream Codex request headers:
// https://github.com/openai/codex/commit/7c7b4861d88960f7e3bd5b7f30f8351be666dd84
// https://github.com/openai/codex/commit/14df0e8833aad0d6d78287954b61ffac67af936c
// https://github.com/openai/codex/commit/ebdd8795e924a8149b616e46ca2ed7848c207a4b
export const CODEX_CLI_HEADER_PASSTHROUGH_HEADERS = [
'Originator',
'Session_id',
'Thread_id',
'Session-Id',
'Thread-Id',
'X-Client-Request-Id',
'User-Agent',
'X-Codex-Beta-Features',
'X-Codex-Turn-State',
'X-Codex-Turn-Metadata',
'X-Codex-Window-Id',
'X-Codex-Parent-Thread-Id',
// 'X-Codex-Installation-Id',
'X-OpenAI-Subagent',
'X-OpenAI-Memgen-Request',
// 'X-OAI-Attestation',
'X-ResponsesAPI-Include-Timing-Metrics',
'X-OpenAI-Internal-Codex-Responses-Lite',
];
export const CLAUDE_CLI_HEADER_PASSTHROUGH_HEADERS = [
@@ -51,9 +78,8 @@ export const CLAUDE_CLI_HEADER_PASSTHROUGH_HEADERS = [
'Anthropic-Version',
];
export const CODEX_CLI_HEADER_PASSTHROUGH_TEMPLATE = buildPassHeadersTemplate(
CODEX_CLI_HEADER_PASSTHROUGH_HEADERS,
);
export const CODEX_CLI_HEADER_PASSTHROUGH_TEMPLATE =
buildCodexPassHeadersTemplate();
export const CLAUDE_CLI_HEADER_PASSTHROUGH_TEMPLATE = buildPassHeadersTemplate(
CLAUDE_CLI_HEADER_PASSTHROUGH_HEADERS,
@@ -65,7 +91,7 @@ export const CHANNEL_AFFINITY_RULE_TEMPLATES = {
model_regex: ['^gpt-.*$'],
path_regex: ['/v1/responses'],
key_sources: [{ type: 'gjson', path: 'prompt_cache_key' }],
param_override_template: CODEX_CLI_HEADER_PASSTHROUGH_TEMPLATE,
param_override_template: buildCodexPassHeadersTemplate(),
value_regex: '',
ttl_seconds: 0,
skip_retry_on_failure: true,